基于ArcPy的地理空间数据质检技术研究*
2021-09-27李乃强
李乃强
(江苏省测绘工程院,江苏 南京 210013)
0 引言
Python作为一种高级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受青睐的语言之一。使用Python作为ArcGIS的脚本语言将大大提升ArcGIS数据处理的效率,更好地实现ArcGIS内部的任务自动化[1]。
ArcPy 封装了ArcGIS大部分功能进而构建而成的站点包,目的是以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。
基于菜单界面的ArcGIS for Desktop能够支持许多复杂的操作和空间分析,但用户还需要更多的功能来解决遇到的难题。那么,通过Python脚本调用ArcPy可以自动执行在ArcGIS中需要通过菜单建模才能实现的繁琐操作。例如,将1 000个shapefile文件转成地理数据库中的要素类,虽然可以运行1 000次相应的工具,但是在ArcGIS中肯定还有其他更高效和更简捷的方法。这时,只需要使用Python编写一小段代码就能解决这个问题。
地理空间数据在入库之前,需要进行属性检查、逻辑一致性等一系列检查,空间数据包含属性特征、几何特征和拓扑特征,通过Arcpy提供的方法,可以减少除拓扑错误编辑之外的重复性工作,实现数据检查入库流程的自动化[2]。
在公开文献中,基于Arcpy的脚本工具虽然已在地理国情监测数据接边检查、长江河道水下空间数据提取批处理、建设用地数据裁切、数据转换等方面被广泛应用[3-5],主要通过ArcGIS基础功能的组合应用,但是对要素变化检测、空间参考信息、拓扑检查等方面的高级功能描述较少。为此,本文结合最新版本的ArcPy站点包新扩展功能,以土地利用更新数据检查为例,介绍了相关技术原理和关键功能代码。……
