ArcGIS
中的
Python
简介:
ArcGIS 8.X
之前不能使用脚本语言,只能通过
VB, C++
的应用程序接口访问。
ArcGIS 9.0/9.1
版本开始引入
Python
,通过
PythonCOM
接口调用
gp
(
GeoProcessing
对象),这种方式类似于调用其
它程序的脚本,必须通过导入
Win32com
包实现
(
单独安装
)
,同时必须启动
ArcMap
等程序之后才能进
行操作。如下:
import win32com.client
# 9.1
以前老版本的访问方式
gp = win32com.client.dispatch("esriGeoProcessing.GPDispatch.1")
ArcGIS 9.2
版本之后就抛弃了
PythonCOM
方式,采用
C/C++
扩展了一个一个
Python
对象(
GP
),
该对象位于
..\ArcGIS\BIN\arcgisscripting.dll
,该对象直接引用了
Python24.dll
(位于
C:\WINDOWS\system32
),从名称可以看出全部使用小写名称也是
C
的风格。使用
GP
对象可以在不启
动
ArcGIS
方式下直接处理数据,性能更加稳定。要在
Python
中直接使用
gp
对象,需要在
PYTHONPATH
变量中增加
..\ArcGIS\BIN\
目录,
这样在
Python
脚本中就可以直接导入
arcgisscripting
对象了。
如
下:
import arcgisscripting
# 9.2
以后新版本的调用方式
gp = arcgisscripting.create()
注意:
9.1
和
9.2
在
python
代码上的区别仅此两行而已!!但
9.3
之后增加了许多列表函数,需要改写
程序。
import arcgisscripting
# 9.3
以后版本的调用方式
gp = arcgisscripting.create(9.3)
#
在
9.3
中使用
create
不添加版本号以
9.2
兼容方式运行
import arcpy
# 10.0
以后的版本
在
ArcGIS
的
9.3
版本中,
gp
对象增加了许多列表对象如:
ListFields, ListFeatureClasses
等,