ArcGIS 9.0引入
Python ,作为其
Georocessing 的 首选脚本编程语言,并使用PythonCOM直接调用作为COM对象的GP(Georocessing的主对象)对象,这个办法是最容易实现的办法,但问 题多多。加上调用方式采用类似Shell的调用,Python在ArcGIS 9.0中形同虚设。前面的Blog里有过多次说明。
ArcGIS 9.2的Python支持去掉的采用PythonCOM的方式,采用C/C++扩展了一个Python对象(GP),这样,Python就可以直接调用该对象,无须启动ArcGIS(由GP来调用AO或者ArcGIS),架构上上了一个台阶。
这 个GP对象存在于ArcGIS的Bin目录下,名称为:arcgisscrīpting.dll,和其他dll不同,全部使用小写的名称也是C风格。使用 Dependency可以看到,这个对象引用了Python24.dll。要在Python中使用,还需要增加PYTHONPATH变量,其值指向 ArcGIS的Bin目录,这样在Python脚本中就可以直接import该对象了:
import arcgisscrīpting
然后就可以使用该对象创建gp对象:
gp = arcgisscrīpting.create()
有了gp,就类似有了Office的Application对象,一切就都在掌握之中了。
使用这种方式有很多好处,最起码的是ArcGIS和Python的桥梁只是通过arcgisscrīpting来搭起,与 其他 东西无关,使用python或者使用ArcGIS都更自由。再者,这种方式下,Geoprocessing也应该比较稳定了。
ArcGIS 9.2的Python支持去掉的采用PythonCOM的方式,采用C/C++扩展了一个Python对象(GP),这样,Python就可以直接调用该对象,无须启动ArcGIS(由GP来调用AO或者ArcGIS),架构上上了一个台阶。
这 个GP对象存在于ArcGIS的Bin目录下,名称为:arcgisscrīpting.dll,和其他dll不同,全部使用小写的名称也是C风格。使用 Dependency可以看到,这个对象引用了Python24.dll。要在Python中使用,还需要增加PYTHONPATH变量,其值指向 ArcGIS的Bin目录,这样在Python脚本中就可以直接import该对象了:
import arcgisscrīpting
然后就可以使用该对象创建gp对象:
gp = arcgisscrīpting.create()
有了gp,就类似有了Office的Application对象,一切就都在掌握之中了。
使用这种方式有很多好处,最起码的是ArcGIS和Python的桥梁只是通过arcgisscrīpting来搭起,与 其他 东西无关,使用python或者使用ArcGIS都更自由。再者,这种方式下,Geoprocessing也应该比较稳定了。