推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

浅谈Python语言在地理国情监测质量检查中的应用

更新时间:2019-12-24 11:12:33 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

地理国情监测质量检查是监测成果正确性和权威性的重要保障,利用Arcgis软件所提供的ArcPy站点包,通过Python语言进行简单的编程,编制地理国情监测质量检查工具,是加快检查工作中错误定位和提升检查工作效率的一个有效方法。


部分文件列表

文件名 大小
浅谈Python语言在地理国情监测质量检查中的应用.pdf 2M

部分页面预览

(完整内容请下载后查看)
华北自然资源 文  
103  
Huabei Natural Resources  
浅谈Python语言在地理国情监测质量检查中的应用  
赵 勇  
(山西省地图院,山西 太原 030002)  
摘要:地理国情监测质量检查是监测成果正确性和权威性的重要保障,利用Arcgis软件所提供的  
ArcPy站点包,通过Python语言进行简单的编程,编制地理国情监测质量检查工具,是加快检查工作中错误  
定位和提升检查工作效率的一个有效方法。  
关键词:国情监测;Python;质量检查  
中图分类号P208  
文献标识码A  
文章编号1672-7487(2019)02-103-4  
件,用Python开发的程序可以进行微小改动甚至不做改动  
Arcgis所支持的各类操作系统上运行;  
1
引言  
基础性地理国情监测的监测周期为1年,时间节点为  
3)Python一种面向对象的编程语言,正符合  
Arcgis对面向对象编程的要求;  
每年度的630日。监测工作要求所使用遥感影像源应是  
时相为监测年度第二季度的影像,整个项目数据生产作业  
时间主要集中在该年度的6月到11月。作业内容包括遥感影  
像的正射处理、监测数据的生产、各类监测成果的入库、  
各类监测成果的质量检查及验收。项目质检工期仅有一个  
多月时间[1]因此增强检查工作的针对性、提高准确性、  
加快检查进度对保障整个项目圆满完成有着重要的意义。  
不论是基础性地理国情普查的矢量数据成果,还是基础  
性地理国情监测的矢量数据成果均采用Arcgis地理信息系  
统平台下的File GEODATABASE Personal GEODATABASE  
格式[3]项目成果的质量检查中,可利用Arcgis对  
Python语言的支持功能,通过简单的编程进行二次开发编  
制质量检查工具,利用要素间的属性关系、位置关系提取  
检查中所关注的要素,通过对这些要素的分析获得检查结  
果,可有效节约检查时间,提高检查效率。本文研究利用  
Arcgis地理信息系统平台所提供的ArcPy站点包,通过  
Python语言进行二次开发提高基础性地理国情监测成果质  
量检查效率的方法。  
4)Python开源与免费,使Arcgis可以将其部署在自己  
的软件包中,作为软件的一部分进行分发;  
5)Python是一种解释性的语言,使开发的程序使用起  
来简便并有极强的移植性[5]。Arcgis9.0版本中开始引入  
脚本处理技术并将Python作为其支持的脚本语言之一。在  
后续的版本中,Arcgis持续对Python进行了支持和升级,  
使其功能进一步增强。  
ArcPy是一个包含了很多函数、模块种类的站点包。  
Python可以利用这一站点包访问Arcgis的地理处理功能,  
高效地通过Python执行地理数据分析、数据管理和地图自  
动化创建等功能。  
3
质量检查主要内容  
本文所讨论的国情监测成果种类包括地表覆盖分类数  
据成果、地理国情要素数据成果和地理国情监测生产元数  
据成果。这三类成果的质量检查主要内容均包括空间参考  
系、时间精度、逻辑一致性、采集精度、属性精度、完整  
性、表征质量等几类[4]其中空间参考系、逻辑一致性、  
属性精度、表征质量等几类检查内容的检查项绝大多数可  
以利用Python语言结合Arcgis软件进行检查。尤其是这三  
类监测成果间内在关系正确性的检查,在获得执行结果  
后辅以必要的人工检查可以快速准确地发现数据间的内  
在错误,提高问题的发现率和检查效率。  
2 Python脚本  
Python作为Arcgis地理信息系统平台所使用的脚本语  
言,有以下几个特点:  
1)简单易学,其语法简单,适合非编程的其他专业人  
员,经过简单的学习,拿来解决本行业的实际问题;  
2)跨平台,Arcgis是一个多平台的地理信息集成软  
作者简介:赵勇(1976—),男,山西忻州人,高级工程师,本科,毕业于武汉测绘科技大学印刷技术  
专业,主要从事基础测绘数据生产及测绘地理信息产品的质量检验工作。(邮箱)
测绘测量  
104  
CEꢀHUIꢀCEꢀLIANG  
3)选取与合并后的线要素相交、相切的面要素。通过  
按位置要素选取工具(Select Layer By Location),将  
与线要素相交、相切的地表覆盖图斑选取为一个选择集,  
形成一个临时面要素层;  
4
质量检查应用实例  
通常国情监测成果数据均要通过专业的质检软件进  
行数据成果的质量检查,但对于一些数据间内在联系一  
致性较差的数据关系,通用的质检软件多欠缺此类检查  
项。例如,国情要素成果中道路中心线与地表覆盖成果  
中房屋建筑区面要素之间的关系,道路中性线一般情况  
下不应该与地表覆盖数据中的房屋建筑区面相交或相  
切,在通用的质检软件中一般不做检查。如图1所示,道路  
穿越高密度低矮房屋建筑区,图中道路宽度大于5m,按照  
地理国情监测要求需在地表覆盖要素集中采集无轨道路  
面要素,但图中所示为道路线要素与房屋建筑区面要素相  
交,无对应的无轨道路面要素。利用这一数据间的关  
系,通过Python言结合Arcgis相应的数据处理工  
具,可以发现监测成果中相关的数据更新错误,并将错  
误定位信息进行自动化提取,形成错误定位文件,方便作  
业人员进行错误的定位和修改。以下就此类错误提取为  
例,进行说明。  
4)将上一步中形成的面要素集通过按要素属性选择工  
具(Select Layer By Attribute)进行选择,丢弃地表覆  
盖分类为非房屋建筑的要素,形成与线要素相交、相切的  
房屋建筑面要素临时数据集;  
5)利用房屋建筑面要素临时数据层与合并后的线要素  
层使用工具“Intersect”进行相交操作,获得错误区域线  
要素集,将此要素集储存为预定格式的文件,形成最终的  
检查结果。  
读取线状要素数据  
合并线状要素数据  
并调整要素属性  
读取地表覆盖数据  
图层化相关数据  
选择覆盖数据  
选择房屋类型面数据  
进行线面要素的相交处理  
加入错误说明  
错误定位成果  
2 线状要素与房屋面要素相交关系错误提取流程示意图  
4.2 关键步骤与关键函数  
Acrgis工具箱中的地理处理工具与菜单中的多数功能在  
ArcPy中均有对应的功能函数,通过Python进行相关功能调  
用和灵活组合使用,可以实现地理国情监测质量检查中绝  
大多数数据间内部关系的自动检查功能。前述检查功能通  
过如下步骤实现。  
1 道路线要素与房屋建筑面要素相交错误  
4.1 设计思路  
本示例目的是提取线要素与面要素相交、相切的区域,  
提取错误的流程如图2。具体设计思路为:  
1)定参与脚本执行数据的目录,即工作空间,  
Python将在此目录下查询、读取和处理数据;  
2)合并相关的线要素数据。读取所需要合并的线要  
素,如道路数据、线状河流数据、线状桥梁数据等,利用  
Arcgis所提供的要素合并工具(Merge)合并为一层,并将  
不必要的属性字段丢弃;  
1)调用ArcPy站点包,设置工作空间,定义参与检查的  
要素数据目录。此处参与检查的要素数据可依据实际情况  
进行增减,如在城市地区可加入线状收费停车场要素数  
据。实现的代码为:  
import arcpy  
from arcpy import env  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载