寇千万,吾亦独往。
一人一骑,神枪嘶鸣……
我在,无恙。
其实做数据处理,又何尝不是独自面对动辄上百万条记录的数据,就算鼠标点到冒烟,在抽丝剥茧,理顺逻辑关系的过程中,亦敌不过数据质检不合格的一顿顿板子……
就这样,在人群中,我带着一些更加人性化的工具,凑上前来……
一、需求背景
基础调查成果、监测成果、专项调查成果以及应急监测成果等地理信息数据在推动数字经济高质量发展中具有基础性先行性作用,在推进数字城市建设进程和建设质量的提升有着积极意义,但其构建的业务众多,其内容、标准、方式等往往有较大差异,成果也难以有效集成共享。建立统一、全面、准确地自然资源数据底板,对于智慧决策、精准治理和智能审批等领域将大有作为。
地理信息数据的获取方式中,典型要素自动提取、重点地物变化监测、物联网等自动化信息处理技术的发展和应用丰富了传统测绘地理信息数据的获取。在数据的获取、提取、加工处理过程中,数据质量控制和有效的数据处理手段将影响着数据信息的准确性和时效性。
本课题旨在研究出系列数据质检修复工具、数据辅助处理工具,完善数据融合工作流,解决在矢量数据生产过程中出现的生产效率低、生产成果质量缺少检验手段、实际作业成果与业务需求不相符等问题,对提高数据融合的效率和提高数据生产的质量有着重要的意义。
本研究的结果已通过大量(省级)的数据进行验证和完善,能适应较为复杂的数据情况,有效的解决了以往项目中数据治理方面未解决的难题。
二、 功能特色
本研究的成果,丰富了ArcGIS Pro中点、线或面要素的拓扑规则和修复功能列表中没有的内容,如“线层、面层打折修复”、“狭长面修复”等;优化了部分拓扑修复功能,如“线要素悬挂点修复”、“建筑物轮廓简化(冗余点移除,凸出和凹陷修复以及特征边重组等)”等;增加了部分数据处理工具,如“任意多边形中心线(连接线)提取”、“线要素修复(重叠、缠绕、平滑等)”等。
在数据融合的技术路线中,能有效辅助要素分层提取、要素分层合并、属性规整、图形几何处理以及质量检查等数据处理内容。
工具集在ArcGIS Pro的python工程环境的基础上进行开发。积累和封装了大量的类和函数,对于后续一些功能的拓展和研发,提供了很多的接口。
实现的功能部分已封装为python工具箱,工具箱成果“数据融合”,包含数据融合工具集和数据质检工具集,如下图所示:
三、 工具功能介绍
3.1 按要素范围或要素属性值分割输入要素集
数据管理部门、数据管理系统或作业人员,通常需要对要素类集合按要素范围、按要素类属性值对其进行分割,达到数据下发,数据审批抽取及数据分块作业的目的。
按要素范围或要素属性值分割输入要素集工具,用于解决一个或多个图层数据,允许一定的缓冲距离,按指定要素范围,或要素属性唯一值,对输入要素类集合进行分割提取。
支持的功能:
(1)对输入的要素类集合,按分割要素类的属性唯一值,对输入要素进行分割提取,输出gdb。gdb名称为属性值,gdb内的图层名与输入要素保持一致;
(2)对输入的要素类集合,按分割要素的范围,对输入要素进行分割提取,输出gdb,gdb名称为分割要素名称,gdb内的图层名与输入要素保持一致;
(3)支持缓冲距离(米)提取。
工具执行界面如图下图所示:
工具运行结果展示如下图:
3.2 国家基本比例尺地形图分幅计算
为了便于测绘、制作、管理和使用地图数据,必须按适当的面积将广大地区的测绘成果数据划分成适宜的若干部分,并将每个部分进行系统编号。这项工作称为地图的分幅和编号。
分幅可分为两大类:梯形分幅(又称“经纬线分幅”)和矩形分幅(包括正方形分幅)。梯形分幅是按经线和纬线来划分图幅,左、右以经线为界,上、下以纬线为界,图形近似梯形。在大范围的测图中,考虑地球是一个球面,只有按上述方法分幅才能保证所有图幅可以紧密结合而又不产生重叠和遗漏。梯形分幅常用于基本比例尺地图。
作业生产过程中,根据图层数据范围生成指定基本比例尺下图幅号,能快速完成对于已归档数据的查找、比对、分割提取以及元数据信息的补充。
国家基本比例尺地形图分幅计算工具,用于计算和生成输入要素范围内的国家基本比例尺地图的编号和分幅图形。
支持的功能:
(1)输入经纬度,计算指定的国家基本比例尺图幅号(模块提供接口);
(2)根据国家基本比例尺下的标准图幅号计算当前图幅左上角坐标(支持经纬度坐标值和投影坐标值)(模块提供接口);
(3)根据输入要素类四至范围,生成基本比例尺图幅面,属性值为图幅号;
工具执行界面如下图所示:
工具运行结果展示如下图:
3.3 算线要素连通性分组值
对于需要构建网络的线要素图层,一般采取检查悬挂点,或按距离缓冲线后融合面,用来判断整个网络数据是否是一个完整的网络。两种检测方法,检查悬挂点的方式工作量过大且修复完成悬挂点后仍然可能不能构网(如端点搭在要素边上)。使用线缓冲融合面的方式,缓冲距离过大,会忽略掉悬挂点距离过近的情况,缓冲距离过小,又得不到想要的融合效果。且数据量大时,可能不能输出结果。线要素网络连通性,从线要素起始端点之间的联系出发,按起始端点之间的纽带关系,找出一张张的网络。
计算线要素连通性分组值工具,计算线要素图层中的网络连通性,同一网络中的线要素将被赋予相同的值。
支持的功能:
(1)根据线要素的起始端点的连通性,对线要素就行分组。
工具执行界面如下图所示:
使用分组字段值进行唯一值渲染,通过不同颜色能快速找出网络间不连通的地方。工具运行结果展示如下图:
3.4 狭长面修复
在数据编辑,数据空间分析过程中,往往会出现一些“狭长”的多边形。狭长的界定,使用形状指数(紧凑度)进行定义。
用多边形的周长与面积的比值,来度量多边形的紧凑度。圆的周长面积比在所有的集合图形中是最小的。面积是缺陷特征的一个度量。面积只与缺陷的边界有关,而与其内部的灰度级的变化无关。
缺陷的周长在区别具有简单和复杂形状的物体是特别有用,一个形状简单的物体用较短的周长来包围他所占有的面积。周长与面积比是用来描述缺陷性状的参数,当形状为圆时,周长与面积比最小,越呈长条状,周长与面积比越大。
狭长面修复工具,用于修复多边形(可以只修复有孔洞的多边形)满足“狭长”阈值的要素。
支持的功能:
(1)修复多边形(可以只修复有孔洞的多边形)满足“狭长”阈值的部分;
(2)修复多边形时,对发生改动的多边形进行输出,可用于定位和记录。
工具执行界面如下图所示: