ArcGIS与Python结合(一)
ARCGIS与PYTHON结合(一)最近很多工作都需要用到PYTHON,在使用过程中出现了一些问题,简单地总结了部分处理问题的方法。希望碰到类似问题的朋友可以尽快的找到解决的方案,节约时间。问题1、在IMPORTARCGISSCRIPTING的时候,提示IMPORTERRORNOMODULENAMEDARCGISSCRIPTING错误信息,该错误主要导致无法创建GP对象,有如下方法解决A、使用WIN32COM;代码如下IMPORTWIN32COMCLIENTCREATETHEGEOPROCESSOROBJECTGPWIN32COMCLIENTDISPATCH“ESRIGEOPROCESSINGGPDISPATCH1“B、首先添加系统路径,参数为PYTHONPATH“DPROGRAMFILESARCGISBIN“;即路径为ARCGIS安装目录下的BIN目录;之后,将下列代码保存为ARCGISSCRIPTINGPY文件,并将该文件放在BIN目录下;ARCGISSCRIPTINGPYIMPORTWIN32COMCLIENTDEFCREATELICENSETYPENONEGPWIN32COMCLIENTDISPATCH“ESRIGEOPROCESSINGGPDISPATCH1“IFLICENSETYPEISNOTNONELICENSEDGPSETPRODUCTLICENSETYPEIFNOTLICENSEDIN“NOTLICENSED“,“FAILED“RETURNGPEITHERTHELICENSETYPEWASNOTSET,ORITFAILEDTRYTOGETTHEHIGHESTPOSSIBLELICENSETYPES“ARCINFO“,“ARCEDITOR“,“ARCVIEW“FORLICENSEINTYPESLICENSEDGPCHECKPRODUCTLICENSEIFNOTLICENSEDIN“NOTLICENSED“,“FAILED“LICENSEDGPSETPRODUCTLICENSEPRINT“GEOPROCESSORSTARTEDWITHLICENSESS“LICENSE,LICENSEDRETURNGPELSEPRINT“LICENSESISS“LICENSE,LICENSEDGPADDERROR“NOLICENSEAVAILABLEFORGEOPROCESSOR“RAISUEERROR,“NOLICENSEAVAILABLEFORGEOPROCESSOR“IF__NAME__“__MAIN__“GPCREATE调用如下IMPORTSYS,STRING,OS,ARCGISSCRIPTINGGPARCGISSCRIPTINGCREATE问题2、第二就是调用函数的问题,在调用过程中,应尽可能使用原函数的原型,对于所给实例不能完全有效,例如用DEFINEPROJECTION函数的时候,参数都对的情况下,不知道为什么提示TRACEBACKMOSTRECENTCALLLASTFILE“CPYUSLESRCSETSPATIALREFPY“,LINE9,INGPDEFINEPROJECTION“CWORKSPACETESTDATALOTS0002AUX“,COORDSYSFILE“DPYTHON26LIBSITEPACKAGESWIN32COMCLIENTDYNAMICPY“,LINE512,IN__GETATTR__RAISEATTRIBUTEERROR“SS“SELF_USERNAME_,ATTRATTRIBUTEERRORESRIGEOPROCESSINGGPDISPATCH1DEFINEPROJECTION原实例程序为IMPORTARCGISSCRIPTINGGPARCGISSCRIPTINGCREATEGPWORKSPACE“C/WORKSPACE“GPTOOLBOX“MANAGEMENT“COORDSYS“COORDINATESYSTEMS/GEOGRAPHICCOORDINATESYSTEMS/NORTHAMERICA/NORTHAMERICANDATUM1983PRJ“GPDEFINEPROJECTION“COUNTIESSHP“,COORDSYS修改后的代码为GPDEFINEPROJECTION_MANAGEMENT“WW“,COORDSYS