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

基于Python的ArcGIS数据属性值顺序码处理研究

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

资料介绍

在进行空间数据的处理时,会遇到许多重复性的操作,为了简化工作流程,提高工作效率,此时,作为ArcGIS的脚本工具的Python语言就发挥了重要的作用。在ArcGIS中,通过程序扩展设计来进行数据自动化处理是非常有用的,大量数据的处理可以通过Python脚本语言来进行具体实现,脚本编程的主要目的是使枯燥的数据处理工作自动化。本文以云南省地质环境信息化建设项目为依托,在分析Python脚本语言特点的基础上,介绍在ArcGIS下,利用Python脚本语言来进行数据属性值顺序码快速、高效的检查、更新及处理的方法,实现要素数据属性值顺序码重复值的批量处理。


部分文件列表

文件名 大小
基于Python的ArcGIS数据属性值顺序码处理研究.pdf 2M

部分页面预览

(完整内容请下载后查看)
2018 年  
2018, Vol. 39, No. 7  
39 卷 第 7 期  
COMPUTER ENGINEERING & SOFTWARE  
国际 IT 传媒品牌  
Python ArcGIS 数据属性值  
顺序码处理研究  
庄亚飞 1,李素敏 2  
1. 昆明理工大学 国土资源工程学院,云南 昆明 6500932. 昆明理工大学 国土资源工程学院,云南 昆明 650093)  
在进行空间数据的处理时,会遇到许多重复性的操作,为了简化工作流程,提高工作效率,此时,作  
:  
的脚本工具的  
语言就发挥了重要的作用。在  
中,通过程序扩展设计来进行数据自动化  
ArcGIS  
Python  
ArcGIS  
处理是非常有用的,大量数据的处理可以通过  
脚本语言来进行具体实现,脚本编程的主要目的是使枯燥的  
Python  
数据处理工作自动化。本文以云南省地质环境信息化建设项目为依托,在分析  
脚本语言特点的基础上,介  
Python  
绍在  
下,利用  
Python  
脚本语言来进行数据属性值顺序码快速、高效的检查、更新及处理的方法,实现要素  
ArcGIS  
数据属性值顺序码重复值的批量处理。  
;数据处理;顺序码  
关键词: Python ArcGIS ArcPy  
中图分类号: P208 文献标识码: A  
庄亚飞素敏 基于  
DOI 10.3969/j.issn.1003-6970.2018.07.014  
数据属性值顺序码处理研究  
软件, , :  
2018 39 7  
本文著录格式:  
6871  
.
Python  
ArcGIS  
[J].  
Python-Based ArcGIS Data Attribute Value Sequential Code Processing  
ZHUANG Ya-fei1, LI Su-min2  
(1. Faculty of Land Resources Engineering, Kunming University of Science and Technology, Kunming, Yunnan Province 650093;  
2. Faculty of Land Resources Engineering, Kunming University of Science and Technology, Kunming, Yunnan Province 650093)  
Abstract: In the process of spatial data processing, many repetitive operations are encountered. In order to sim-  
plify the workflow and improve work efficiency, the Python language, as a scripting tool for ArcGIS, plays an im-  
portant role. In ArcGIS, it is very useful to automate data processing by program extension design. A large number  
of data processing can be implemented through the Python scripting language. The main purpose of the script pro-  
gramming is to automate the boring data processing work. Based on the information construction project of geolog-  
ical environment in Yunnan Province, based on the analysis of the characteristics of the Python script language, this  
paper introduces the method of checking, updating and processing the data attribute value sequence code fast and  
efficiently with the Python scripting language under the ArcGIS.  
Key words: Python; ArcGIS; ArcPy; Data processing; Sequence code  
作中具有重大的意义,然而,实际工作十分复杂,  
0 引言  
只靠 ArcGIS 供的批处理工具无法满足生产需  
ArcGIS 9.0 社区中引入了 Python使Python  
ArcPy 站点包,可以开发出大量用于处理地理数  
据的实用程序,能够实现空间数据的批量自动化  
要,此时,作为 ArcGIS 的脚本工具的 Python 脚本  
语言就发挥了重要的作用[4]。通过导入 ArcPy 站点  
包便可以使用 Python 访问 ArcToolBox 中几乎所有  
的地理处理工具,针对实际的问题Python 开  
发脚本程序,方便实用、效率高,可以最大程度  
地提高工作效率,在实际的工作中具有重要的应用  
处理[1,2]  
在进行地理数据处理时,为了减少工作强度,  
简化工作程序,寻求批量处理方法极为重要[3]  
ArcGIS 提供了许多高效的批处理工具在实际工  
价值[5-7]  
庄亚飞(1990 ),男,研究生,主要研究方向:3S集成与应用;李素敏(1977 ),女,副教授,主要研究方向:遥感原理及应  
作者简介:  
用、变形监测数据处理、数字矿山、土地生态。  
庄亚飞等:基于 Python ArcGIS 数据属性值顺序码处理研究  
本文首先对 ArcPy Python 做一些简单的介  
绍, 依据云南 省地质环 境信息化建 设项目, 在  
ArcGIS 二次开发的基础上据实际工作需求,利  
Python 语言编写具体的脚本, 对要素数据进行  
快速而准确的检查、更新及处理,得到要素数据的  
属性值顺序码。  
重复的值,由于要素数据数量巨大,人工改正显得  
不切实际。本文利用 Python 脚本语言对此问题  
编写一套程序,对要素数据属性值中顺序码的重复  
值进行批检查和处理[16-17],具体的要素数据属性值  
顺序码重复值的处理流程如图 1 所示。  
1
Python ArcPy 的应用  
Python 是一种不受局限、跨平台的开源编程语  
言,它功能强大且简单易学,因而得到了广泛应用  
和支持[8-10]  
辛兵厂来强等[11]Python ArcPy 运用于  
第一次全国地理国情普查现了 CC 码批量赋值、  
数据的裁剪、高程带与坡度带分级数据的提取,最  
后采用 PyCharm 平台环境,实现了工具的可视化。  
孙咸磊、许捍卫、李文博[12]在进行南京长江河  
道水下空间数据处理时,利用 ArcPy 实现了数据属  
性字段的批量处理、批量定义空间投影坐标系、批  
量进行等深线的拼接,利用 ArcPy 封装好的处理函  
数以及 Python 自身具备的语法简洁的特点,简单、  
快捷地进行了南京长江河道水下地形数据的批量  
处理。  
1 顺序码处理流程  
方圣辉、张玉贤等[13]以原始 DEM 影像插值生  
成特定空间分辨率的 DEM 影像为例,利用 Python  
脚本语言,导入模块并检索特定扩展模块许可,利  
For 循环遍历 rts 栅格数据列表次对每个栅格  
数据提取等高线,从而生成 TIN 数据集,最后利用  
生成的 TIN 数据集,通过具体的 Python 脚本程序,  
生成特定空间分辨率的栅格影像。  
Fig.1 Sequential code processing flow  
2.2 关键步骤代码介绍  
1)设置工作路径以及列出所设置的工作空  
间中的所有工作空间:  
arcpy.env.workspace=r'F:\ggg'  
ii=arcpy.ListWorkspaces()  
2)列出需要处理的要素数据集并对要素数  
在日常的空间地理数据处理中,一般将 Python  
语言具有的普通及常用功能与 ArcPy 开发包特有的  
数据处理功能结合起来使用,可以有效、快速地处  
据集进行循环:  
ff=["HydDataset","LcrDataset","TraDataset"]  
for f in ff:  
理地理空间数据[14-15]  
3)如果要素名称不是"UN_LLKL",对要素  
数据进行更新,并按行对数据进行循环:  
if l!="UV_LLKL":  
2
Python 语言数据批处理实例  
dd=arcpy.UpdateCursor(str(s)+"\\"+f+"\\"+l)  
for d in dd:  
在实际的工作中,需要根据不同的情况,不同  
的方法来处理 ArcGIS 数据面以云南省地质环境  
信息化建设项目中的数据为依据,以数据处理中遇  
见的实际问题为例,给出要素数据属性值顺序码重  
复值的处理流程以及具体的实现过程。  
4)图层中不是以 53 开头的数据的选择:  
hh=arcpy.SelectLayerByAttribute_management(l  
ayer,"NEW_SELECTION","\"FEATID\" not like '53%'")  
5)对要素类进行搜索,并按行进行循环:  
ss=arcpy.SearchCursor(l)  
for i in ss:  
2.1 顺序码处理流程  
在进行水系、道路、图斑要素数据的属性值顺  
序码处理时,要素数据的属性值顺序码中存在很多  
6置空数组数组进行循环算每个  
值在数组中出现的次数:如果出现的次数大于 1,  
《软件杂志欢迎推荐投稿:
69  

全部评论(0)

暂无评论