基于FME的地理国情普查公路连通性检查方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FME的地理国情普查公路连通性检查方法研究
张磊
【摘要】地理国情普查数据入库前的检查十分重要。
介绍了一种基于FME编程技术并针对地理国情要素中公路连通性的检查方法。
该方法实现了兼顾属性信息的公路连通性检查及批量数据自动化处理。
【期刊名称】《地理空间信息》
【年(卷),期】2016(014)008
【总页数】3页(P23-25)
【关键词】FME;公路连通性;地理国情普查
【作者】张磊
【作者单位】福建省基础地理信息中心,福建福州 350003
【正文语种】中文
【中图分类】P208
地理国情普查数据在生产过程中严格执行“两级检查、一级验收”制度[1],验收合格的数据汇交到建库单位后还应按照数据入库要求对各种成果数据再次检查,检查内容主要包括文件与结构一致性、拓扑一致性、其他逻辑一致性、空间参考正确性以及矢量数据接边等几个方面[2]。
交通与水域网络连通性检查是地理国情要素数据拓扑一致性检查的重要内容,也是提高交通与水域网络弧段数据处理的基本要求。
对基础地理信息数据进行质检时,交通与水域要素连通性的检查主要针对要素的图
形拓扑关系,即检查要素是否存在悬挂点、伪节点等,但是对于地理国情普查的交通与水域数据来说,连通性检查不仅需要检查要素的图形拓扑关系,还需要检查要素属性信息的逻辑连通性,即检查道路与水系实体要素的逻辑表达在空间上是否连通。
而常用的GIS工具对空间数据的检查主要为图形的拓扑关系检查[3],针对属性信息的逻辑性检查时,通常采用人工目视的方式逐一要素检查,可操作性差、工作量大,且容易错漏。
目前,基于FME编程技术已经可以高效地实现兼顾属性信息与矢量伪节点的检查[4],有效地克服了属性信息逻辑性检查带来的困难。
因此,本文以地理国情普查数据检查中公路连通性检查为例,根据地理国情普查道路实体表达方式的特点,研究基于FME编程技术的公路连通性快速检查方法。
地理国情普查数据中的公路要素在数据采集时,为保证某一条国道、省道或县乡道的贯通,需在重复路段的位置采集重复路段编号来表达道路实体,道路实体的表达方式见图1,线路编码与线段编号对应关系见表1,道路实体的属性表示方法见表2。
在实际生产过程中,可能更注重公路要素的图形拓扑关系,即路在桥梁、隧道、车渡等处不能断开,保持公路要素在空间上的连通,却经常忽略采集或修改其对应的属性信息,从而导致某段道路实体的不连通。
2.1 FME的GIS互操作技术
FME是非常强大的第三方数据转换工具[5],在数据格式转换的同时添加一系列函数转换器,完成投影转换、属性整理、空间分析等数据处理任务,实现了高效灵活的GIS互操作[6]。
FME的核心模块之一FME Workbench(工作台)提供了可视化的数据转换环境,降低了FME软件的使用门槛,用户可以通过简单的图形化编程函数快速搭建数据转换模型,高效地实现各类数据的转换操作。
2.2 检查方法设计
地理国情普查公路连通性检查对象为乡级以上等级公路,主要包括高速公路、国道、省道、县道和乡道,判断公路是否连通主要是判断具有相同编码的公路要素是否贯通,涉及线路编码字段“RN”和重复路段编号字段“RNP”。
因此,首先从地理国情要素数据中提取乡级以上等级公路,然后依据“RNP”字段属性值将要素拆
分为多个独立线路编码的要素,接着将具有相同线路编码的要素进行数据融合,最后根据线要素的悬挂情况判断要素是否连通。
基于FME编程技术,可按照图2的步骤实现公路连通性的检查。
VB提供了简单的Windows窗口化编程环境,可通过运用一些基本控件,简单地
设置输入输出参数。
为了进一步简化公路连通性检查,在VB环境下进行程序可视化开发,实现FME后台批量处理数据,进一步降低FME的使用要求,使程序更
加便捷高效[7]。
2.3 技术实现
1)在FME Workbench里新建工作空间,设置数据源为地理国情普查数据库,程序自动加载LRDL公路层及其属性字段,并自动映射到输出数据库文件[8]。
2)要素提取,利用“Tester”函数根据要素“GB”代码从公路层中提取乡道及以上级别的公路。
3)要素拆分,利用“AttributeSplitter”函数将提取要素按照“RNP”字段属性
值以“/”为标识进行要素拆分。
4)属性复制,利用“AttributeCopier”函数将拆分后要素的“RNP”字段属性
值复制到“RN”字段中。
5)要素融合,先利用“AttributeKeeper”函数保留检查公路连通性必需的“RN”字段,删除其他多余字段;再利用“Linejoiner”函数将这些要素以“RN”字段
进行融合。
6)空间分析,先利用“coordinateExtractor”函数,获取每段要素首尾结点的
坐标值;再利用“2DPointReplacer”函数把坐标值转换为点要素;接着利用“PointonPointoverlayer”函数进行点要素的叠置分析。
7)连通性判断,先利用“Tester”函数根据点要素重叠关系和“RN”属性判断该点是否为悬挂点;再利用“Counter”函数对具有相同线路编号的悬挂点个数进行统计;接着利用“FeatureMerger”函数根据“RN”字段值将悬挂点的统计信息挂接到对应的点要素中。
8)检查结果输出,利用“Tester”函数将具有相同线路编号且悬挂点个数大于2
的点要素输出到数据库文件中。
9)完成FME程序设计后,将工程文件保存为“*.fme”格式。
10)在VB编程环境中开发批量处理程序,程序中主要用到列表框、文本框、按钮和时间控件,分别在列表框控件中设置需要处理的数据库文件,在文本框控件中分别设置“*.fme”格式转换程序路径和数据输出路径,在按钮控件中利用Shell函
数实现在Windows系统中调用外部DoS程序,自动运行FME数据处理程序[9],实现等级公路数据的批量自动检查,并用时间控件实时监控FME程序的执行状态。
同时,程序界面中各参数设置统一设计为文件或文件夹的拖放模式,使程序的操作更加简单、便捷。
以多个任务区的普查成果数据库为实验数据源,运行公路连通性检查程序,验证技术的可行性和程序的可靠性。
具体操作如下:
1)启动国情普查数据批处理工具,程序自动加载“道路拓扑检查.fme”文件,将需要检查的地理国情普查数据库文件拖放到列表框中,将数据输出文件夹拖放到数据存放路径文本框中,点击运行程序执行公路连通性的批量检查,操作界面见图3。
2)在ArcMap中加载公路连通性检查结果和原始“LRDL”要素层,根据道路的“RN”、“NAME”属性判断公路是否存在不合理悬挂点的情况,核查程序检查
结果是否正确。
实验结论:
1)程序操作简便,运行稳定高效,实现了公路连通性的批量自动检查,检查结果可靠。
2)由于公路被任务区边界分割为多段要素,从而产生了悬挂点形成孤立要素的情况,需结合接边数据检查其是否合理。
3)在空间上相互独立的两条公路存在线路编码重复的现象,需根据交通行业专题资料检查其正确性。
4)由于部分等级道路在数据生产时缺少资料,“RN”属性值填写为默认值,导致在要素提取时遗漏这部分数据,因此还需用“GB”代码单独提取这部分等级道路,并采用人工检查的方式依据“GB”和“NAME”属性值对公路连通性进行补充检查。
地理国情普查是一项重大的国情国力调查,普查成果数据的质量直接影响到今后的数据库建设、普查成果统计分析和国情监测与应用等[2]。
本文以地理国情普查公路连通性检查为例,基于FME编程技术按照等级公路要素提取与拆分、属性复制与删除、要素悬挂判断、检查结果输出等步骤,高效地实现了兼顾属性信息的公路连通性检查,同时结合VB编程技术进一步降低检查软件的使用要求,使得公路连通性检查可批量自动进行,为普查成果数据质量检查方法研究提供了新的思路。
【相关文献】
[1] 贾佳.地理国情普查质量监督检查验收方法[J].测绘与空间地理信息,2014,37(6):220-221
[2] 国家测绘地理信息局.第一次全国地理国情普查数据库建设实施方案[S].北京:国家测绘地理信息局,2015
[3] 于启升.ArcGIS拓扑查错功能在地理国情普查中的应用[J].地矿测绘,2015,31(1):41-43
[4] 张伟.兼顾属性信息的矢量伪节点检查及自动消除方法[J].地理空间信息,2014,12(2):90-92
[5] 徐昌荣,沈晶,施魁元.基于FME的GIS互操作探讨[J].江西理工大学学报,2006,27(3):1-3
[6] 陈影,程耀东,闫浩文.利用FME进行GIS数据的无损转换[J].测绘科学,2007,32(2):75-77
[7] 高东生,马冬青.浅谈如何利用VB和FME开发技术转换数据:以香港房屋署数据转换入库项目为例[J].价值工程,2011,30(29):159-160
[8] 黄静,袁建东.FME在空间数据处理中的应用[J].测绘标准化,2011,27(2):40-42
[9] 韩在峰,赵丽敏,于滢.利用VB实现DoS程序WINDoWS化执行[J].德州学院学报,2002,18(2):72-73。