推荐星级:
- 1
- 2
- 3
- 4
- 5
Arcgis中基于Python的地理数据库批量合并方法研究
资料介绍
为了实现Arcgis不同地理数据库中大量相同图层批量合并的操作。本文基于云南省地质环境信息化建设项目,在对比分析Arcgis二次开发方法的基础上,提出了一种新的面向ArcGis10.5的Python编程脚本。本文对Python地理空间分析原理、Python脚本功能以及实验数据处理流程等作了详细叙述。实验结果证明了该脚本的可行性。得出结论:本文中基于ArcPy人工开发出的脚本,相比手动操作效率大大提高,不易出错,实现了地理数据库中指定同名图层的批量合并。
部分文件列表
文件名 | 大小 |
Arcgis中基于Python的地理数据库批量合并方法研究.pdf | 2M |
部分页面预览
(完整内容请下载后查看)2018 年
软
件
2018, Vol. 39, No. 7
第 39 卷 第 7 期
COMPUTER ENGINEERING & SOFTWARE
国际 IT 传媒品牌
Arcgis 中基于Python 的地理数据库
批量合并方法研究
刘翔宇,朱大明
(昆明理工大学 国土资源工程学院,云南 昆明 650093)
为了实现
不同地理数据库中大量相同图层批量合并的操作。本文基于云南省地质环境信息化
摘
要:
Arcgis
Arcgis
建设项目,在对比分析
二次开发方法的基础上,提出了一种新的面向
的
编程脚本。本文
Python
ArcGis10.5
对
地理空间分析原理、
脚本功能以及实验数据处理流程等作了详细叙述。实验结果证明了该脚本的
人工开发出的脚本,相比手动操作效率大大提高,不易出错,实现了地理数
Python
Python
ArcPy
据库中指定同名图层的批量合并。
可行性。得出结论:本文中基于
;地理数据库处理;
;脚本编辑;合并
关键词: Arcgis
python
:
中图分类号: TP79
文献标识码: A
DOI 10.3969/j.issn.1003-6970.2018.07.034
中基于 的地理数据库批量合并方法研究
[J].
刘翔宇,朱大明
本文著录格式:
软件, , ( ):
2018 39 7
. Arcgis
Python
161165
Research on Batch Consolidation Method Based on Python in ArcGIS
LIU Xiang-yu, ZHU Da-ming
(Faculty of Land and Resource Engineering, Kunming University of Science and Technology, Kunming 650093, China)
【Abstract】: In order to achieve the bulk consolidation of a large number of identical layers in different
geodatabases in ArcGIS, This article is based on the geological environment information construction project in
Yunnan Province, Based on a comparative analysis of Arcgis secondary development methods, A new Python pro-
gramming script for ArcGis 10.5 is proposed. This article gives a detailed description of the principles of Python
geospatial analysis, Python scripting capabilities, and experimental data processing flow. Experimental results prove
the feasibility of the script. Conclusion: In this article, the scripts developed manually based on ArcPy are signifi-
cantly more error-prone than manual operations, Achieve batch consolidation of layers with the same name in the
geodatabase.
【Key words】: Arcgis; Geodatabase processing; Python; Script editing; Merge
桌面功能进行扩展。常用的 ArcGIS 二次开发语言有
0 引言
Python,VBA,VB,.net 等。其中 Python 作为一种
ArcGIS 是由美国 ESRI 公司研发生产的一款地
理信息系统(GIS)软件,其可以用与地理数据的采
集,编辑,处理及多种形式的空间分析,同时可以
为人们的生产提供决策。该软件目前已广泛应用于
自然资源管理、自动制图、设施管理、城市和区域
简单而且功能强大的开放性编程语言而备受瞩目,
它具有简单易学、不受局限、可跨平台使用等诸多
优点[2]。在 ArcGIS10.1 版本中已经将 Python 进一步
整合到 ArcGIS 的用户界面里,供用户编程以开发出
大量用于处理地理数据的实用程序,而这些由用户
编写的程序可以进行地理数据的自动化批量处理,
从而大大提高了工作效率。
规划、交通管理等领域[1] 作为目前主流的 GIS 软件,
。
是一套完整的、可无缝扩展的平台软件,具有管理
和分析空间数据的功能,可以通过二次开发语言对
GIS 软件功能中的一个重要组成部分就是地理
刘翔宇(1993 ,男,昆明理工大学国土资源工程学院硕士研究生,研究方向为3S技术集成及应用。
作者简介:
第 39 卷 第 7 期
软
件
数据的处理,地理数据处理的本质其实就是多种空
间数据进行处理,专业名词即为空间分析。地理数
据处理最终的目标为使用户能够根据自己的需求去
执行模型的建立,各种空间分析功能。在大量地理
数据需要处理的时候,需要进行多次数,长周期的
处理模式。因此我们就需要可以自动进行多次数循
环处理数据流的功能,基于 python 脚本加 Arcgis 的
模式可以提供一组丰富的工具和机制来实现数据流
的自动化批量操作,这些工具和脚本能够将一系列
的工具按照用户自己的意愿相衔接,用以有序的进
行地理数据的处理。
是其进一步的衍生,提供了多种有用的函数和类并
且为用户提供了使用 Python 语言操作时所需要的所
有地理处理工具的入口,以用于处理和询问 GIS 数
据[5]。后续的 Arcgis 的每个版本都进一步加强了用
户的 Python 体验,直至今日的版本 ESRI 公司已将
Python 完全纳入 ArcGIS 中,并将其视为可满足用
户需求的语言[6]。可以使用来自不同领域的 GIS 人
员和程序员组成的众多 Python 小群体开发的附加模
块是用 ArcPy 编写的 ArcGIS 应用程序的一大优势。
1.2 Python 语言优势
(1)Python 语言是一种解释型的开源计算机
语言,具有面向对象且可扩展的特征,包含丰富的
库。简单易学,功能强大。
Arcgis 软件中自带的典型数据处理工具会在
ArcGIS 数据集(如要素类、栅格或表)的框架中进
行操作,最终的结果即生成一个新的要素类集。又
因为数据变换的框架为地理处理的基础。所以每个
地理处理工具都对应一个数据处理的微操作。典型
的例如向表中添加字段、要素的几何变换、数据投
影(即将一个要素数据集投影到另一个要素数据集
中)。所有的数据处理工具都集合在 ArcGIS 软件里
的 ArcToolbox 中,其数量高达数百个。对于用户或
者专业处理数据的人员来说,在利用 ArcGIS 地理处
理工具时,根据不同的情况就会出现不同的问题,
例如如何将几个简单的小工具串联起来,用于自动
化地完成一个简单工作流。此时就可以利用 Python
脚本来使得人工操作转换为自动化的程序批处理过
程用于进行数据处理[3]。下面我们就俩简单介绍下
基于 Arcgis 的 python 脚本。
(2)相对于 C、C++、Java 等其他计算机语言,
python 的开发效率要大大提高。Python 代码的长度
往往只有 C++或 Java 代码的四分之一左右,并且
Python 语言编写的程序可以立即执行,不需要编译
链接等步骤,从而提高了开发效率。
(3)可转变为 ArcGIS 工具
编辑好的 Python 脚本程序可以直接作为自定义
工具使用并且添加到 ArcToolBox 中作为自定义工
具,与系统提供的工具使用方法一致。简化了操作
过程,简单易用。
(4)跨平台,可移植性高
绝大多数 Python 程序不需要人工更改即可在当
前主流的计算机系统平台上使用。
(5)具有可嵌入性
Python 程序可以作为插件嵌入到其他语言开发
的应用程序中(例如 Arcgis),提高了程序的重用性。
(6)地理处理自动化
1
ArcPy 简介
本文首先对 ArcGIS 的脚本语言 Python 的使用
Python 脚本的执行过程实际上就是一个自动化
的数据流处理过程。地理处理的过程按照程序设计
的步骤依次完成相应的地理处理过程,中途无需人
工干预。并且地理处理的过程可以实现批处理,大
大简化工作量[7]。
方法做一个简单介绍,对比 Python 脚本与 Arcgis
中自带工具的优劣,然后利用已经编写好的 Python
脚本来说明其在地理数数据处理中的应用。
1.1 什么是Arcpy
1991 年,程序员 Guido van Rossum 推出了一种
跨平台并且不受局限的开源式编程语言。在当时由
于 Python 具有处理速度快、功能强大等特点获得了
大众的广泛认可。目前 Python 已延伸到 ArcGIS 中,
成为了一种用于进行数据分析、数据转换、数据管
理和地图自动化的语言[4]。ArcPy 则是一个包含了各
种 python 的原生程序包。ArcGIS 9.2 版本中所采用
的 arcgisscripting 模块的功能是它的雏形,ArcPy 则
1.3 ArcPy 的使用方法
(1)在命令行窗口中使用 ArcPy
在用户成功安装 ArcGIS 软件之后可以选择安
装包括 Python 的安装包,安装以后用户需要先运行
Python IDLE。在使用数据处理工具之前需要先导入
Arcpy 站点包。
(2)在 Python 脚本文件中使用 ArcPy
《软件》杂志欢迎推荐投稿:
162
全部评论(0)