作者:暂时匿名,评选结果公布后更新
摘要:国土空间规划工作任务重、时间紧、要求高,同时存在海量的基础数据与规划成果,由于空间基准不一、数据标准不一、编制方式不一、成果质量不一,导致海量数据相对孤立、数据整合任务繁重、数据质量难以控制,极大阻碍了自然资源“一张图”的建设。
FME是一款空间数据处理系统,基于OpenGIS组织提出的“语义转换”理念,提供在转换过程中重构数据的能力,支持350多种数据格式的转换。FME可广泛应用于数据格式转换、坐标转换、成果质检、数据入库与动态更新等领域。FME软件的应用使得上述难题迎刃而解。
本文以国土空间规划成果质量控制为出发点,探讨FME在国土空间规划成果质检中的应用,希望可以抛砖引玉,让更多的人认识到FME在处理数据中的便利与强大。
一、前言
依据《自然资源部信息化建设总体方案》,需立足已有基础,协调相关数据标准,整合各类自然资源和国土空间数据,形成统一的自然资源“一张图”,实现各单位部门的数据互通,通过三调、国土空间规划、基础测绘等专项工作,不断提高“一张图”数据的准确性和完整性,利用数据相互印证的方法,提升数据质量。依据《关于建立国土空间规划体系并监督实施的若干意见》,到2020年,初步形成全国国土空间开发保护“一张图”。依据《关于开展国土空间规划“一张图”建设和现状评估工作的通知》,应及时将批准的规划成果向本级平台入库并向国家级平台汇交。
要建立自然资源“一张图”,数据质量尤为关键,质量检查软件的设计与应用也变得尤为重要。
二、质检分类
参照自然资源数据标准,制定相对科学、合理的数据质量检查规则,如图1所示。
图1 国土空间规划成果质检规则与软件设计
三、实现思路
大部分质检项可通过对比标准数据来实现,针对不同类型的检查数据,选择对应的标准数据模版,通过数据之间的对比分析,查找检查成果与标准数据之间的差异,达到质量检查的目的。该思路便于制定通用的质检模版,只需要更改标准数据模版,即可实现不同规划成果的质检。
质检项众多,需要将质检项检查结果导入数据库表单,再依据坐标信息进行矢量化,将结果以标注形式附加到原检查文件指定位置。数据库表单设计如下:
质检结果表单设计
COLUMN_NAME |
DATA_TYPE |
COLUMN_ID |
COMMENTS |
FILENAME |
VARCHAR2(50 BYTE) |
1 |
文件名称 |
NUMB |
VARCHAR2(10 BYTE) |
2 |
序号 |
CHECKID |
VARCHAR2(10 BYTE) |
3 |
检查项编码 |
CHECKNAMEMID |
VARCHAR2(50 BYTE) |
4 |
中类检查项名称 |
CHECKNAME |
VARCHAR2(50 BYTE) |
5 |
小类检查项名称 |
PROBNAME |
VARCHAR2(50 BYTE) |
6 |
问题描述 |
HANDLE |
VARCHAR2(20 BYTE) |
7 |
句柄 |
LAYER |
VARCHAR2(50 BYTE) |
8 |
所在图层 |
RESULT |
NUMBER(38,0) |
9 |
0为无错误1、2、3为错误等级 |
LOCATION |
VARCHAR2(50 BYTE) |
10 |
所在位置xy |
OTHER |
VARCHAR2(200 BYTE) |
11 |
备注 |
总体实现思路如下图所示:
图2实现思路
四、部分模版介绍
4.1目录结构规范性
a、读模块为Directory and File Pathnames格式,增加自定义用户参数,根据此参数,动态选择读模块源,读取不同质检方案对应的标准模版数据。
b、Path Filter设置为*表示读取该文件夹所有文件及目录;设置为*.*表示读取该文件所有文件;设置为**/表示递归子文件夹;可尝试组合使用。根据需要也可将Allowed Path Type选择为目录、文件或任何。
c、通过FeatureMerger转换器,对比相应的属性(比如path_filename),可实现检查数据与标准数据的比对。
d、计数、属性赋值后可写入本地表格或数据库对应表单,写模块分别设置为Microsoft Excel与Oracle Non-spatial。
图3 目录结构规范性检查模板
图4 空间规划数据库成果汇交目录标准结构
4.2碎线碎面检测
①、首先需要读取数据库中当前用户设置的碎线、碎面最大值参数,并设置为全局变量。
②、读取质检数据,计算线的长度、面的面积,并与最大值参数进行比较,小于该参数的要素信息输出至数据库对应表单。
图5 线碎面检测模版
4.3伪节点检查
FME有转换器商店,里面有大量的转换器可使用,节约了开发者的时间成本。该质检项通过使用商店中的PolylineAnalyzer转换器,可以计算各节点的夹角,判断夹角是否在180°左右,可快速挑选出数据中的伪节点。
图6 伪节点检查模版
4.4冗余点检测
当折线上某点附近存在两个点号不同的顶点,且两个顶点之间的距离小于或等于容限值0.1个(或自定该值)制图单位时,该点为冗余点,可自动处理,删除其中一个。
①、理论上曲线内不存在冗余点,首先利用ArcStroker将曲线设置为一段线段,模式选择为Number of Interpolated Edges,参数设置为1。
②、利用Chopper将线、面要素按节点转为两个节点的线段,模式设置为By Vertex,Maximum Vertices设置为2。
③、通过计算线段长度,将小于指定值的线段筛选出来,再次使用Chopper将线段转为点,转换后的点即为冗余点,可根据需求选择是否删除其中一个冗余点。
图7 冗余点检测检测模版
图8 ArcStroker转换器参数设置
图9 Chopper转换器参数设置
4.5块基点位置检测
①、筛选出插入块,根据块序号使用Aggregator进行聚合,使用BoundingBoxAccumulator、CenterPointReplacer计算块整体外接矩形与中心点,通过判断插入点与中心点是否一致判断块基点是否在块中心。
②、使用Clipper判断块插入点是否在地块内,推荐使用PointOnAreaOverlayer来判断,也可使用SpatialRelator确定要素之间的拓扑(空间)关系,这也说明FME在数据处理过程中的灵活性。
图10 块基点位置检测模版
4.6质检结果整合、矢量化
待所有质检项检查完毕,检查信息存入数据库表单,需要运行整合与矢量化模版,读取表单信息,将含有坐标的检查结果矢量化,针对不含有坐标信息的检查结果,进行动态赋坐标值,矢量化后显示在成果图固定区域(如右上角)。
标注信息可根据具体要求来确定,比如可以将问题描述、所在图层、对应Handle值作为标注。标注所在图层名可设置为中类检查项,便于在CAD中通过图层快速定位到错误位置。
图11 质检结果整合、矢量化模版
五、成果展示
①、质检模版不改变原有检查数据,所有检查结果信息以标注形式增加在数据对应位置或指定区域。
图12 质检结果(cad数据)-指定位置
图13 质检结果(cad数据)-指定区域
②、将质检检查信息汇总至表格,可供数据编制人员检查使用。
图14 质检结果(excel表格)
③、对质检信息进行统计分析,生成质检报告。
图15 质检报告(doc文档)
④、质检通过后,可利用FME将CAD数据转换为GIS数据,可利用FME将数据录入SDE数据库,也可利用FME实现数据库的动态更新与维护。
六、结语
作者从事国土空间规划数据处理工作,接触FME软件以来,愈加感受到FME功能的易用、灵活与强大。由于作者能力有限,加之国土空间规划为新生事物,对其理解可能不够深刻,文中难免有一些错误和不足,欢迎各位技术达人指正与交流。