python调用arcgis_(python)(ArcGIS)使用python调用ArcGIS功能

实际上看desktop的帮助文档,经常能发现Script

Example,这个就是python的代码了。貌似arcgis本身就是使用python作批处理的,或许所有功能都能用python实现也说不定。VBA虽然比较强大,但调用不很方便,形式上也很让人心烦。python倒是和原始basic有点像,是个很方便的语言。

目前确定能调用的就是toolbox的功能,采用geoprocessor来调用。首先要把arcgis的bin文件夹添加到python的路径中,可以在eclipse对应插件设置里面找,也可以这样:

import sys

sys.path.append(%arcgispath%)

其中%arcgispath%就表示arcgis的bin文件夹路径,例如在win7 x64下可能会是:

sys.path.append(‘C:\\Program Files

(x86)\\ArcGIS\\Bin’)

然后的步骤就如同ArcGIS desktop的Project (Data Management)帮助信息中所说的:

# Create the Geoprocessor Objectimport arcgisscripting

gp = arcgisscripting.create()

有了这个gp就可以执行toolbox里面的命令了,格式上和在ArcMap里面调用时的命令内容基本一致,例如:

sg_trans.gif

把里面的命令复制出来就差不多知道参数是什么样子的了。其中使用默认参数的地方用#表示。

然后需要设定环境,当然有时候是可以跳过该步骤的。

# Set the workspaceGP.workspace = "c:/Test_data/Personal GDB/canada.mdb"# Set the ToolboxGP.toolbox = "management"

再往后就该调用project命令了,

# Run tool in a try and excepttry:

GP.project (%一堆参数%)

except:

print GP.GetMessages(2)

%一堆参数%参照截图中的参数照猫画虎就可以了,注意必要时要使用转义符号。有心情的话可以仔细看toolbox的帮助文档,更精确一些。

于是暂时就如此了。toolbox之外的功能能不能用python调用还不知道,如果可以的话倒是可以把arcEngine扔一边了先。