您好,欢迎来到99网。
搜索
您的当前位置:首页地理国情监测数据质检工具的设计与实现

地理国情监测数据质检工具的设计与实现

来源:99网
14测绘第41卷第1期2018年2月

地理国情监测数据质检工具的设计与实现

王万刚

(四川省第三测绘工程院,四川成都610500)

[摘要]本文研宄如何根据2017年基础性地理国情监测数据生产项目的技术要求,基于Python、C#程序开发语 言,设计并实现一套专门针对该项目的数据质量检查工具。通过程序自动化处理,可代替繁琐的人工检查,在 一定程度上提高生产效率、降低生产成本、保障成果质量。[关键词]质量检查;地理国情监测;Python;二次开发[中图分类号]P2〇8

[文献标识码]B

[文章编号]1674_5〇19 (2〇18) 01-0014_03

Design and Implement of Quality Inspection Tool for

Geographical Conditions Monitoring Data

WANG Wan-gang

1

引言

第一次全国地理国情普查已于2015年完成,从 2016年起,地理国情信息获取进入常态化监测阶段。 2017年,我院承担了四川省、自治区、广西壮 族自治区共21个市州约97万平方公里的基础性地理 国情监测数据生产任务,该项目工期紧、测区范围广、 数据量庞大、参与生产人员多且作业水平参差不齐。 为了进一步提高质检环节的工作效率,将更多时间留 给数据生产工序,同时确保数据成果的规范性与正确 性,我院根据2017年基础性地理国情监测数据生产 项目的技术规范,基于Python、C#程序开发语言, 设计并实现了一套专门针对该项目的数据质量检查 工具。

相邻面、悬挂点、节点间距、急锐角等。

(2) 数据范围检查:检查地表覆盖图斑及地理 国情要素范围是否超出下发的工作界。(3) 逻辑一致性检查:检查城市道路的RN、WIDTH 属性是否与覆盖它的公路要素的RN、WIDTH属性一 致;地表覆盖图斑的CC属性及图斑边线是否与外业 调查核查数据一致;水系结构线是否超出高水界范 围,单线河流、水渠是否伸入高水界内;人工地表覆 盖图斑是否存在于高水界范围内,面积超过1000m2 的水面是否采集了水系面要素,地表覆盖水面范围是 否超出了对应的高水界;互通的不同层道路要素是否 已相交打断;道路附属设施(桥梁、隧道)是否被道 路要素覆盖,道路线要素是否被道路面图斑覆盖;独 立房屋图斑是否与房屋建筑区图斑相邻等。

(4) 状态标识合理性检查:将2017年版本数据 与下发的底图数据进行对比,检查已发生空间位置或 属性变化的地表覆盖图斑的FEATID、ChangeType、 TAG属性赋值是否正确;检查已发生空间位置或属性 变化的地理国情要素的ChangeType、ChangeAtt等属 性赋值是否正确。(5) 属性合理性检查:检查地表覆盖图斑的CC 属性是否在枚举值范围内。

其中,部分检查项需要程序自动排除下发底图中 就存在的该类问题。

2. 2不分区监测数据检查模块

不分区监测数据检查模块的主要检查项及其检 查内容如下:

(1)几何与拓扑检查:检查节点个数、复合要 素、重叠、缝隙、自相交、几何异常、噪声、节点间

2功能模块设计

基础性地理国情监测数据生产项目的底图数据

和2017年版本数据均以分区数据(区县级)、不分区 数据(省级或者市级)方式存储,分区数据中主要存 储了水域、公路、地表覆盖要素,不分区数据中主要 存储了铁路、构筑物、地理单元要素等。根据成果数 据的存储特点,本质检工具分为分区监测数据检查、 不分区监测数据检查、元数据检查、数据接边检查以

及解译样本数据辅助检查五个功能模块。2. 1分区监测数据检查模块

分区监测数据检查模块的主要检查项及其检查 内容如下:

(1)几何与拓扑检查:检查节点个数、复合要 素、重叠、缝隙、自相交、几何异常、噪声、同属性

测绘第41卷第1期2018年2月____________________________________________________________________________15

距、急锐角等。业人员查看出错要素所在位置和具体错误信息。

ArcToolbox (2) 逻辑一致性检査:检査境界线要素是否被 对应的境界面边线覆盖,境界面是否被高一等级境界 面覆盖等。

(3)

R 〇地理国情监测2017

^ X>

B % 不分

4? 101、检查不分区数提要素节点个数

4* 1〇2、检查不分区怎頃要素星否为多部分

状态标识合理性检査:将2017年版本数据

方1〇3、检查拓扑:靣垔昼、线目拒交、线目垔昼、同层线重昼、点重昼/几何检查

与下发的底图数据进行对比,检查已发生空间位置或

属性变化的地理国情要素的ChangeType、ChangeAtt 等属性赋值是否正确

其中,部分检查项需要程序自动排除下发底图中 就存在的该类问题。2. 3元数据检査模块

元数据检查模块的主要检查项及其检查内容 如下:

(1) 几何与拓扑检査:检査节点个数、复合要

素、重叠、缝隙、自相交、几何异常、噪声、同属性

相邻面等。

(2)

逻辑一致性检査:检査后一工序的开始时

间是否晚于前一工序的结束时间,如外业调查核查开 始时间是否晚于内业数据采集结束时间,内业编辑整 理开始时间是否晚于外业调査核査结束时间。

(3) 属性合理性检查:检查枚举类型的属性项 赋值是否合理。

2.4数据接边检査模块

数据接边检查模块包括分区数据接边检査与不 分区数据接边检査,二者的主要区别在于接边线不一 致,分区数据接边线与下发的工作界一致,不分区数 据接边线需要由程序根据不分区数据文件名中的PAC 及下发的工作界生成。

2.5解译样本数据辅助检査模块

解译样本数据辅助检查模块是将解译样本的实 地照片、裁剪影像以及样本PHOTO中的一些关键属性 项显示在同一界面上,辅助人工检査该样本的典型 性、实地照片及裁剪影像的质量、裁剪影像的视野标 绘和地面照片的关键属性是否正确等。

3关键技术研究

3.1检査模块的实现

本质检工具的绝大多数分区监测数据检查模块、

不分区监测数据检査模块、元数据检査模块以及数据

接边检查模块都是在ArcToolbox工具箱中使用 Python语言编写的自定义脚本,如图1所示。使用 Python脚本语言进行Arcgis二次开发,可以方便地 导入Arcpy站点包,从而使用非常简洁的代码便能高 效地实现空间数据分析、管理及转换等功能。所有自定义检査脚本的检査结果均会以点、线、 面图层的形式存储在同一 GDB数据库文件中,方便作

104、检查入分区55^素是否存在急说角 4? 1〇5、检查不分区数据傲發卸极小面

^ 106、检查選辑一致性:行政区乡触被县级錄、县级被市坂驢,境界线应与境!方201、检查不分区攻居要素芳点间距

方202、检查不分区斑g是否存在误删除、误增加FEATID的情况

4, 2〇3、检查不分区国情要素ChangeType、ChangeAtt屎性斌值是否正确

曰分区监测数据检查

友1〇1、检查要素节点个数 方102、检查要素是否为多部分^ 103、

扑:面重昼、面裂缝、线自相交、线目重昼、闫层线重昼/几何检查

在1〇4、检查UV_LCTL要素与UV_LRDL要录RN、WIDTH尾性星否一致

4* 1〇5、检查UV_LCRAH星否存在同屋性相雜面(CC、FEATID均相间)/星否存在图钥方1〇6、检查道路层(UV_LCTL\\UV_LVLL\\UV_LRDL )星否存在不合理的县挂点4* 107、1t^UV_LCRA^CC、TAG^S性

4* 1〇8、检查UV_LCRA层0521、0550图斑更新范围合理性4* 1〇9、縫

UV_HYDU1%UV_HYDA^关系

方110、检查极短线和极小面各• 201、检查要素芳点间距

s

方202、检查M否存在误脚除、误逭加FEATID的情况

4\" 203、检查UV_LCRA层FEATID、ChangeType尾栏星否有渥赋、斌错的情况4* 204、检查国情要素ChangeType、ChangeAttil性賦值星否正确4* 205. t^SUV_LCRA^

UV_HYDA^5^

友206、检査要素星否存在急锐角 方301、检查地表置盖内外业一致性

在401、检查分区数据范围是否与工作界一致 | 501、检查星否存在道路拒交未打断的情况

^ 502、检查新埴或者搀改过的道路要素线星否被0601面贾盖 4* 503、检查道路附屋设旌是否被道路贾盖

图1使用Python语言编写的自定义检査脚本

3. 2数据接边检査原理

以相邻多个分区监测数据的接边检査为例,自定

义的Python脚本算法步骤如下:

(1)

将多个GDB格式的分区监测数据库合并成

一个GDB数据库。将所有待接边检査的分区监测数据 放在同一文件夹下,先创建一个空的GDB格式数据 库,再遍历文件夹中的所有GDB数据,将第一个分区 监测数据库中的要素图层采用复制的方式导入到新 创建的数据库中,将剩下的分区监测数据库中的要素 采用追加的方式导入到新创建数据库下相同层名的 要素图层中。

(2)

使用游标遍历合并后的数据库中的要素,将ChangeType属性为3的要素删除。ChangeType属 性为3表示该要素己消失,在今后的建库阶段再物理 删除,不应参与接边检查。

(3)

接边线数据处理。根据遍历到的待接边检

査数据库文件名中的PAC,从下发的工作界面图层中 提取这几个待接边检查分区数据所在的工作界面要 素,再将工作界面要素转换成线要素,并且只保留两 两重合的一段作为接边线,最后再根据接边线生成一

个2m宽的接边缓冲区面。

(4)

遍历经过步骤(2)处理后数据库中的每个

图层,首先根据接边缓冲区面要素裁剪该图层,再将

16 测绘第41卷第1期2018年2月

该图层裁剪后的要素进行数据融合处理(如果是地表 覆盖图层,只要CC属性一致即融合;如果是地理国 情要素图层,只有除EC、ECP以及建库字段外的其他 属性项均相同的才融合)。

(5)如果该图层是面图层,则将融合后的面要 素转换成线要素,再将线要素与接边线做线相交处 理,线相交后生成的线要素所在位置就是待接边检査 监测数据中面要素不接边的位置。如果该图层是线图 层,则将融合后的线要素转换成点要素,转换过程中 只保留线的起点和终点,再将点要素与接边线做点相 交处理,点相交生成的点要素所在位置就是待接边检

查监测数据中线要素不接边的位置。

3. 3用户界面实现

编写好的自定义Python脚本在ArcToolbox中测 试无误后,再采用C#语言基于第三方插件 DevExpress开发用户界面,使用ArcEngine的 Geoprocessing类调用在ArcToolbox工具箱中自定 义的脚本工具,工具参数使用IVariantArray方式输 入。通过DevExpress插件中的XtraTreeList控件, 可以实现检查项多选功能,如图2所示。

解译样本数据辅助检査模块的界面同样基于第 三方插件DevExpress开发,如图3所示。

图2分区监测数据检査

[4] [5]

图3解译样本数据辅助检査

黎建平.地理国情普査成果检验辅助系统的设计与实现 周博飞,任思思,张学之.地理国情普査项目内业检査系

4结束语

权威、客观、准确的基础性地理国情监测数据成

[J].现代测绘,2015, 38 (5): 59-61.

果能够为各项专题性监测提供基础性的支撑,并持续 满足相关行业对地理国情信息的共性需求,因此,做 好基础性地理国情监测数据生产项目的质检工作意 义重大。本文针对《GQJC 01-2017基础性地理国情 监测数据技术规定》中明确的数据汇交前检査内容与

要求,以及生产过程中的易出獅节,综合利用Python、 C#程序开发语言,设计并实现了一套适合该项目生产 的数据质量检査工具,并在我院该项目生产过程中得 到了广泛应用,降低了监测数据成果出错概率,提高 了质检效率,节约了检查成本,有效地促进了我院 2017年基础性地理国情监测项目的顺利实施。

参考文献

[1] GQJC 0卜2017,基础性地理国情监测数据技术规定[S].[2] GQJC 02-2017,基础性地理国情监测生产元数据技术规定

[S].

[3] GQJC 06-2017,遥感影像解译样本数据技术规定[S].

统的研发[J].测绘与空间地理信息,2014,37(6):56-59.

[收稿日期]2017-12-18

[作者简介]王万刚(1986-),男,四川巴中人,注册测绘师, 测绘工程师,主要从事测绘项目管理。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务