1、在ArcGIS中的Python开发技术面面观以数据处理为例穆天龙Python与ArcGIS版本版本功能功能9.0/9.1通过dispatchGeoprocessor方式使用GP工具,依赖PythonWin9.2/9.3引入arcgisscripting模块,不再依赖PythonWin;在9.2,CalculateField工具支持Python作为解释器10.0引入arcpy,FieldCalculator支持Python作为解释器10.1引入PythonAddin与PythonToolbox,LabelExpression支持Python作为解释器Python在ArcGIS的历史PythonF
2、ield CalculatorScript ToolPython ToolboxPython AddinCalculate ValueLabel ExpressionPython的开发方式开发方式比对方式方式特点特点Field Calculator逐行计算,易于上手Script Tool构建复杂GP应用Python Toolbox构建复杂GP应用,代码数量较多用Python来处理数据其他普通编辑工具GParcpy创建工具的思路使用CalculateField来创建新工具直接使用FieldCalculator将CalculateField包裹成工具Demo:更新几何正则替换全角转半角将几何信息写
3、到字段.Demo:更新属性1.逐要素处理。2.无需使用Cursor,简洁。3.功能以函数的方式进行定义。4.使用ModelBuilder将FieldCalculate工具包裹起来。小结使用ScriptTool来创建新工具脚本工具的创建py文件:算法逻辑参数设置:顺序及类型等Tool Validator:参数校验脚本工具的构成从独立脚本到脚本工具from arcpy import*#Get parameterslocation=GetParameterAsText(0)name=GetParameterAsText(1)gType=GetParameterAsText(2)sr=GetParam
4、eterAsText(3)#以下是算法逻辑以下是算法逻辑参数映射Demo:GP化编辑工具FeaturetoPolygon工具Demo:由线构建面如何不使用拓扑:1.属性继承。2.逐要素转换。Demo:ExportToJpeg1.Arcpy功能增进使得程序更加简洁强大。2.GP工具可以使用Geometry列表作为输入参数。3.如果GP有此功能,尽可能避免迭代。4.参数响应需要编写ToolValidator代码。5.做好的GP工具要在GP框架下适用。小结:使用PythonToolbox来创建新工具1.以pytpyt文件文件存储,可用文本编辑器等编辑。2.以类的方式组织。PythonToolboxi
5、mport arcpyclass Toolbox(object):def _init_(self):class Tool1(object):def _init_(self):def getParameterInfo(self):def isLicensed(self):def updateParameters(self,parameters):def updateMessages(self,parameters):def execute(self,parameters,messages):统一管理与普通脚本工具相比import arcpyclass Toolbox(object):def _i
6、nit_(self):class Tool1(object):def _init_(self):def getParameterInfo(self):def isLicensed(self):def updateParameters(self,parameters):def updateMessages(self,parameters):def execute(self,parameters,messages):py脚本文件ToolValidator与普通工具箱相比普通工具箱普通工具箱Python Toolbox组织方式Py文件+Tool Validator单独pyt文件编辑脚本工具可以用脚本编辑器编辑,参数可以在对话框或Tool Validator中编辑以文本编辑器编辑使用其他工具支持model builder,系统工具等不支持代码数量较少较多字段值重分类Demo:字段字段A字段字段B001A002A003B004CValueTable参数1.对GP工具的参数类型要有深入了解。2.参数响应需要考虑周详。小结:https:/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1