APP下载

ArcGIS Model Builder在历史数据处理中的应用

2020-09-15张衍伟周新东初晓炜杜冲

山东国土资源 2020年9期
关键词:等高线围墙入库

张衍伟,周新东,初晓炜,杜冲

(1.潍坊市勘察测绘研究院,山东 潍坊 261000;2.潍坊市自然资源和规划局,山东 潍坊 261000;3.山东省国土测绘院,山东 济南 250000)

0 引言

老牌测绘院在过去几十年长期的工作过程中,积累了丰富的历史地形图数据资料,该资料拥有当年翔实的地物信息,在大数据时代,这些信息弥足珍贵,可作为空间数据分析与挖掘的可靠数据资料,利于政府相关部门挖掘新知识,同时为后续其他工作的开展提供辅助决策。在智慧潍坊时空大数据与云平台的建设中,历史地理信息为一个核心指标,本次作业收集到了多个历史年份电子版地形图数据,并对其进行加工处理工作以满足数据库标准要求,完善了智慧潍坊时空大数据与云平台的整体架构,形成时空数据库[1-2]。在保证数据质量和工作进度的同时,如何根据不同的要素类型自动化的处理部分数据,提高对历史地形图数据的采集入库处理效率和数据质量,是本文研究的重点内容[3]。

1 Model Builder技术简介

ArcGIS软件为目前世界上最为优秀、成熟、稳定、可靠的GIS数据生产、处理和分析的工具平台,该软件已经非常广泛地应用于目前各类测绘地理信息项目的数据处理工作中[4-5]。其中,ModelBuilder模型构建器为该软件的一个组件,以流程化的形式将数据处理中多个独立的数据处理任务进行集成,拖拽对应的脚本工具进入作业区并进行连接,将上一步输出的过程性成果作为下一步工作的输入,不需要编写程序即可高效快速地构建出一个工作流[6],ModelBuilder界面图如图1所示。通过对模型中的数据变量进行参数化处理可以满足多个作业组的工作需要,同时还可将工具箱共享给其他作业人员进行数据生产作业。

图1 Model Builder界面图

[7-8]

图2 ArcGIS Model Builder设计流程图[9]

2 历史地形图传统处理方法简介

2.1 需要处理的内容及处理方法

目前用于生产大比例尺地形图数据的软件比较丰富、成熟,一般作业过程中常结合EPS和CASS两款软件进行作业。生产地形图的技术路线也非常成熟,严格依据图式进行数据的采集,完整采集出测量控制点、水系、居民地和设施、交通、管线、境界、地貌、地貌和植被8个大类地物和一个注记要素[10-11],按照入库的标准对地形图进行数字化处理,参照相关规范要求对数据进行数据分层、编码赋值、几何信息规范化等处理[12]。

2.2 历史地形图传统生产流程

对历史地形图数据进行整理的传统技术路线为(图3):将收集到的历史地形图数据作为工作底图,人工对地形图要素进行判读,在CASS软件中选择对应的要素类进行绘制,对于某些简单要素比如注记、点、线等要素可以快速换码处理。

图3 历史地形图处理内容及传统处理流程

2.3 存在的难题

该历史地形图数据比例尺为1∶1000,AUTOCAD的DWG格式,该数据所有几何和注记要素全部存储在一个TX图层中,该数据的作业标准为GB/T 7929—1995,目前采用的地形图图式为GB/T 20257.1-2017,按照该标准用传统的技术方法进行采集,会面临大部分数据需要重绘的难题,这将严重浪费作业单位的各种资源。按照技术规范要求,经过实际项目中的统计数据,得出每人每天大约可以完成0.25km2左右,速度非常缓慢,而且困难主要集中在居民地及设施里点线面要素的绘制,高程点和控制点等点状地物的换码属性填充,等高线和地类界的数据处理。传统技术方法在处理这些历史地形图数据中效率较低[13],而且容易出现要素遗漏、数据错误等问题,给后续的数据入库工作带来压力[14-15]。

3 Model Builder在历史地形图数据处理中的应用

针对传统处理方法遇到的困难,本文按照数据处理要求,根据数据分层情况,对数据的要素类型、属性信息、块名、注记、颜色、线型等信息进行了细致的分析汇总,分类研究其处理方案,然后利用Model Builder工具建立对应的数据处理模型,并且根据实际需求逐步完善,总共进行了14次升级,最终形成了较为完善的数据处理工具箱。

3.1 房屋类

通过对原始地形图数据进行分析,了解到该数据中只有线、面和注记3种类型要素,且面数据严重缺失,所有要素无任何编码信息。例如:房屋要素是用4条无编码边线和一个无编码注记(砖,建等)存储,且边线和注记相互之间只有空间上的位置关系,并无其他联系,厕所和牲口棚等要素情况基本雷同。

根据数据处理要求,基于数据资料情况设计出如下处理方案。一是进行面要素到线要素的转换处理。将所有的面要素转换成线要素,并与原始数据中存在的线要素同步进行多部件到单部件和修复几何处理,处理掉存在异常的问题图形,合并所有的线要素。二是通过长度筛选可能组成房屋的线要素,剔除掉特别长或者特别短的线,将筛选出的线要素进行修复几何操作,用要素转面功能生成面要素,对这些面要素根据其面积进行筛选,剔除面积过大或者过小的面要素。三是利用空间连接功能,将注记信息赋值给对应的面要素,多次计算字段后,根据注记信息对面要素进行筛选,得到建成房屋、建设中房屋、厕所和牲口棚等要素。四是对筛选的要素进行赋值,根据数据入库要求添加字段并计算字段值,比如GB,房屋结构等属性项信息。图4为房屋类ModelBuilder建模核心路线图,为确保模型稳定正确的生产数据,建立的Model Builder模型中加入了较多的逻辑判断、错误修复操作、几何修复、属性筛选及字段处理操作,在某些参数值的选择和设置上也是根据实际情况做了很多优化工作。

经过实践,此种方法以较高的成功率提取了房屋等面状要素数据,减少人工的工作量,提升了作业效率,数据质量较高,可以直接入库。

图4 房屋类ModelBuilder建模核心路线图

3.2 高程点类

在该类型要素处理过程中,主要涉及点要素和注记要素,通过对原始地形图数据进行分析,了解到高程点的块名为GC200或者GC170,种类较少,在比较近的距离内高程点有对应的高程值注记。

根据数据处理要求,该文设计了如下的处理方案(图5)。一是导入所有注记要素和点要素,筛选REF值为GC200或者GC170的点要素和注记要素。二是进行空间连接,将注记信息连接到点要素的属性表中,对注记信息进行长度计算,筛选出符合长度的注记信息,确定最终的点要素。三是构建字段列表,对字段进行赋值以满足数据库要求。

经过实践,准确率接近100%,数据质量满足入库标准,只需要简单的人工操作即可。

图5 高程点类Model Builder建模核心路线图

3.3 控制点类

在该类型要素处理过程中,主要涉及点要素和注记要素,通过对原始地形图数据进行分析,了解到各种类型的控制点拥有不同的块名,在比较近的距离内控制点有对应的控制点名称和高程值注记。

图6 控制点类Model Builder建模核心路线图

根据数据处理要求,本文设计了如下的处理方案(图6)。一是分析原始DWG数据,统计块名与对应的图形要素,并根据1995版地形图图式来判定控制点类型,比如图根点、水准点、卫星等级控制点等,做好对照表,便于后续程序的操作。二是导入所有点要素,根据REF值进行筛选,获得所有类型的控制点数据,根据数据入库需要添加字段。三是导入所有注记要素,分别根据长度或注记字符等信息筛选出控制点高程值注记和控制点名称注记。四是分别进行控制点要素和控制点高程值要素、控制点要素和控制点名称要素的空间连接。五是进行字段的筛选、计算等操作,以确保数据满足入库标准。在控制点等级的处理中,利用PYTHON语言编写了KZDGradeProgress函数,并集成在模型工具中自动处理控制点等级信息,对控制点等级字段进行自动赋值。

经过实践,可以处理掉约90%的控制点数据,部分需要人工进行检查处理。

3.4 等高线类

在该类型要素处理过程中,主要涉及线要素和注记要素,通过对原始地形图数据进行分析,了解到等高线要素的块名存在规律性,存储于固定的几个要素层中且较为唯一,这为后续的程序化[16]处理提供了便利。

根据数据处理要求,该文设计了如下的处理方案(图7)。总体思想是将等高线某个距离范围内的高程值汇总求拟合平均值,适当处理后赋值给等高线。一是根据层名筛选出等高线的几何要素数据,修复后按照一定容差对数据进行融合。二是导入注记要素,并通过字符特点和数值大小筛选出其中的高程信息。三是对等高线要素和高程值注记信息进行空间连接,连接操作采用JION ONE TO ONE并且保留所有目标要素,匹配选项采用相交、合并规则采用计算平均值。四是对数据按照0.5m的等高距进行处理,完成后人工检查,整体模型如图7所示。

图7 自动提取等高线模型图

经过实践,在地势较为平缓的地区,处理效果较好,准确无误。在山区等高线密集区域,效果不好,需要较多的人工干预。

3.5 围墙线类

围墙线属于附属设施类,在该类型要素处理过程中,主要涉及线要素,通过对原始地形图数据进行分析,了解到原始地形图围墙都是依比例尺围墙,即双线围墙,但是宽度不一。根据数据处理要求,围墙需要全部处理成不依比例尺围墙,最初人工测试时,这种要素的数字化较为繁琐,容易出现悬挂点等类型错误,作业效率较低,工作量巨大,不利于整个项目的推进。

根据数据处理要求,本文设计了如下的处理方案。一是将原始地形图数据的线要素和面要素统一转为线要素,同时进行修复几何等操作,将转换的线要素合并。二是用要素转面工具将线要素转换为面要素,并分别筛选出面积>10和<10的面要素,对>10的面要素计算其包络矩形的面积。三是计算面要素面积与其包络矩形面积比值,筛选>0且<0.4的面要素,并于面积<10的面要素合并,利用要素转线工具将面要素转为线要素,根据长度筛选出围墙两侧的长边要素。四是从已经完成的房屋面数据中获取房角数据,通过空间连接功能筛选出最终的围墙线。五是利用捕捉功能,将围墙线靠在房角上,按照数据入库标准进行规范化处理以满足要求[17]。

经过实践,在对较为规整的围墙数据处理过程中,效果非常好,准确率较高。但是在形状不规则的围墙,效果较差,需要人工进行处理。

3.6 其他要素类

除了以上要素的自动处理外,本文也对地类界、阳台面等要素的自动化提取进行了研究。主要思路是根据要素的几何和属性特征进行选择,借助空间连接、筛选、选择、合并、字段计算等工具进行复杂处理。

地类界要素跟多种要素有关联,较为复杂,整体成功率不高,实践中可以处理约20%的要素,只能参考使用。阳台面需要在完成房屋数据提取后进行处理,根据空间位置、几何特征等信息来判断选取,成功率较高,在项目中已经采用。整体方法类似,在此不再赘述。

3.7 部分说明

基于ArcGIS ModelBuilder制作的工具分发极其方便,制作完成工具后根据需要进行加密处理,防止程序被破坏,然后拷贝到其他工作用电脑中,在ArcGIS中直接打开即可使用。按照工具界面选择对应数据满足参数要求,运行即可。

对于习惯于ArcGIS Pro的用户来说,由于ArcGIS Desktop与ArcGIS Pro两个软件中的PYTHON版本不同,在模型迁移的过程中遇到了一些困难,可以借助2to3工具进行了模型的迁移,但是为了程序的稳定运行,仍需要进行一些微调工作,这点需要注意。本次工作收集历史地形图资料比较顺利,全部为电子版。某些地区可能只有历史地形图的纸质版数据,对于这种情况则需要进行地图扫描矢量化处理,可借助ArcScan、R2V等自动矢量化工具进行处理[18-20]。

4 结论

利用ArcGIS ModelBuilder制作的历史地形图数据处理的工具箱,极大地提高了作业效率,房屋类90%左右,附属设施类的40%左右,高程点类接近100%,控制点接近100%,地类界20%左右,等高线60%左右都进行了自动化处理。基于ArcGIS Model Builder的数据自动化生产数据的作业方式,使作业效率和数据质量都有了极大提高。

鉴于智慧时空大数据与云平台建设工作需要,各个地区都会存在历史地形图数据的整理入库工作需求,本文所展示的方法可以广泛的应用于各个地区的历史地形图数据处理工作中。

目前完成的历史数据处理工具箱对地类界和附属设施类要素的自动提取准确性较低,目前没有办法提高,这是该次研究工作的不足之处。

猜你喜欢

等高线围墙入库
超越围墙
突然之间
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
等高线地形图的判读和应用
地形图的阅读
一种基于Fréchet距离的断裂等高线内插算法
围墙的信念
“等高线地形图的判读”专题测试