遥感信息工程学院
,
湖北
武汉
430079
;
2.
华中农业大学
园艺林学学院
,
湖北
武汉
430070
)
摘
要
:
ArcGIS
地理处理工具一般只针对单个数据集执行
,
而运用
Python
脚本语言可以实现地理数据的批处理
。
本文以原始
DEM
影像插值生成特定空间分辨率的
DEM
影像为例
,
给出数据批处理的具体实现过程
。
关键词
:
地理处理
;
Python
语言
;
批处理
中图分类号
:
P208
文献标识码
:
A
文章编号
:
1672
-
5867
(
2015
)
01
-
0001
-
002
The
Batch
Processing
of
ArcGIS
Geographic
Data
Based
on
Python
FANG
Sheng
-
hui
1
,
ZHANG
Yu
-
xian
1
,
DIAN
Yuan
-
yong
2
,
BI
Chuang
1
,
REN
Jiu
-
long
1
(
1.
Remote
Sensing
Information
Engineering
College
of
Wuhan
University
,
Wuhan
430079
,
China
;
2.
College
of
Horticulture
and
Forestry
,
Huazhong
Agricultural
University
,
Wuhan
430070
,
China
)
Abstract
:
ArcGIS
geoprocessing
tools
are
usually
used
to
process
single
dataset
,
however
,
the
batch
processing
of
geographic
data
can
be
achieved
by
using
Python
language.
This
article
represents
the
specific
processes
of
achieving
the
batch
processing
of
geographic
data
,
and
gives
an
example
of
generating
DEM
images
of
specific
special
resolution
with
original
DEM
images.
Key
words
:
geoprocessing
;
python
language
;
batch
processing
0
引
言
地理处理是
GIS
用户应用的重要组成部分
,
ArcGIS
的
ArcToolbox
窗口为
GIS
用户提供了数百个地理处理
,
但
这些操作一般都针对单个数据集执行
,
数据处理人员在
使用
ArcGIS
地理处理工具时
,
经常遇到的难题是批处
理
[
1
]
。
Python
被视为可供地理处理用户选择的脚本语
言
,
已经成为了一种用于进行数据分析
、
数据转换
、
数据
管理和地图自动化的语言
。
运用
Python
语言可以实现地
理数据的批处理
,
因而有助于提高工作效率
。
1
ArcGIS
地理处理
地理处理是指针对某一
ArcGIS
数据集
(
如要素类
、
栅格或表
)
执行操作
,
并最终生成一个新的数据集
,
其基
本目的是为
ArcGis
用户提供用于执行分析和管理地理数
据的工具和框架
。
在
ArcGIS
的
ArcToolbox
窗口中包含了
数百个地理处理工具
,
每个地理处理工具都会对地理数
据执行一项小但是非常重要的操作
,
如数据格式转换
、
数
据提取
、
属性数据统计等操作
,
涉及地理数据的获取
、
管
理
、
分析等过程
。
但这些操作一般都针对单个数据集执
行
,
当对空间数据进行批量处理时
,
如果采用人工处理
,
效率低并且容易出错
,
为了保证数据质量
,
减少重复劳
动
,
需要创建可自动执行批量处理的方法
[
2
]
。
2
python
简介
Python
是一种不受局限
、
跨平台的开源编程语言
,
它
处理速度快
、
功能强大且简单易学
,
在
ArcGIS
地理处理中
用作脚本语言
[
3
]
。
Python
的优点
:
易于学习
,
非常适合初学者
,
也特别适
合专家使用
;
可伸缩程度高
,
适于大型项目或小型的一次
性程序
(
称为脚本
)
;
可移植
,
跨平台
;
可嵌入
(
使
ArcGis
可
脚本化
)
;
稳定成熟等
[
2
,
4
]
。
3
Python
语言数据批处理实例
下面以原始
DEM
影像插值生成特定空间分辨率的
DEM
影像为例
,
给出数据批处理流程图及其具体实现
过程
。
3
.
1
数据处理流程
无论是利用
ArcGis
地理处理工具处理单个数据集还
是利用
Python
函数批处理数据
,
数据处理过程都是一样
的
。
图
1
是本文中数据处理流程图
。