网站开发经理具备什么知识,设计制作小车二教学设计,经常投诉网站快照,常见的静态网页ArcGis Pro Python工具箱教程 03 工具箱中工具自定义
用于定义工作工具类的方法
工具方法必选或可选描述__ init __必需项right-aligned 初始化工具类。getParameterInfo可选定义工具的参数。isLicensed可选返回工具是否获得执行许可。updateParameters可选在用户每次在工具对…ArcGis Pro Python工具箱教程 03 工具箱中工具自定义
用于定义工作工具类的方法
工具方法必选或可选描述__ init __必需项right-aligned 初始化工具类。getParameterInfo可选定义工具的参数。isLicensed可选返回工具是否获得执行许可。updateParameters可选在用户每次在工具对话框中更改参数时调用。 从 updateParameters 返回后地理处理将调用它的内部验证例程。updateMessages可选在从内部验证例程返回后调用。 可以检查根据内部验证创建的消息并根据需要对其进行更改execute必需项工具的源代码。postExecute可选当 execute 方法完成然后处理输出并将其添加到显示后调用。
可在工具的 init 方法中设置以下属性
属性描述category工具所在的工具集的名称。 可通过工具集组织工具箱内的工具。description工具的描述。label标注是工具的显示名称如地理处理窗格中所示。
class DaoMingyuan_GIS: # 工具名称由类本身的名称确定def __init__(self):# 定义工具 self.label 公众号:明遠GIS DaoMingyuan_GIS# 工具的显示名称self.description 关注作者公众号了解更多资讯# 工具的描述self.category 00-工具简介# 工具集的名称getParameterInfo 定义工具的参数 几乎所有工具都具有参数可在工具对话框或脚本中设置参数值。 运行工具时会将参数值发送到该工具的源代码。 该工具将读取这些值并相应地对其进行处理。 在 Python 工具箱 (.pyt) 中通过创建 Parameter 对象并设置其属性在工具类的 getParameterInfo 方法中定义工具参数。
属性描述displayName地理处理窗格中显示的参数名称。name在 Python 的工具语法中显示的参数名称。datatype每个 Python 工具箱的工具参数都有关联的数据类型。 打开地理处理窗格后将使用该数据类型来检查参数值。数据类型也可用于浏览数据 - 仅与参数数据类型匹配的数据才会显示在浏览对话框中。要获取参数数据类型的列表请参阅 Python 工具箱中的参数数据类型。parameterType以下为 parameterType 的选项 Required - 在提供值之前该工具无法运行。 Optional - 无需为参数提供值。 Derived - 该参数仅适用于输出参数请参阅以下 direction 属性。 派生的输出参数不会显示在工具对话框中。direction此属性定义参数是工具的输入还是工具的输出。选项为输入和输出。 如果 parameterType 设置为 Derived请将 direction 设置为 Output。 def getParameterInfo(self):# 定义工具参数param0 arcpy.Parameter(# 第一个工具category 单一工具,# 工具类别 用于分类脚本里面的用途displayName添加要素图层,# 地理处理窗格中显示的参数名称namein_GPFeatureLayer,# 在 Python 的工具语法中显示的参数名称datatypeGPFeatureLayer,# 对要素类的引用包括符号系统和渲染属性 每个 Python 工具箱的工具参数都有关联的数据类型 打开地理处理窗格后 将使用该数据类型来检查参数值 请参阅 Python 工具箱中的参数数据类型parameterTypeRequired,# Required - 在提供值之前该工具无法运行 Optional - 无需为参数提供值 Derived - 该参数仅适用于输出参数请参阅以下 direction 属性派生的输出参数不会显示在工具对话框中directionInput)#此属性定义参数是工具的输入还是工具的输出 选项为输入和输出 如果 parameterType 设置为 Derived请将 direction 设置为 Outputparam1 arcpy.Parameter(category 单一工具,# 工具类别 用于分类脚本里面的用途displayName添加字段,namein_Field,datatypeField,#表中的列 用于存储单个属性的值parameterTypeRequired,directionInput)param2 arcpy.Parameter(category 单一工具,# 工具类别 用于分类脚本里面的用途displayName复合数据类型输入栅格数据集或栅格目录,nameInput Raster Dataset,datatype[DERasterDataset, DERasterCatalog],# 根据一个或多个栅格构建的单个数据集 以表形式定义的栅格数据集的集合 每个表记录定义目录中的一个单独栅格数据集parameterTypeRequired,directionInput)param3 arcpy.Parameter(category 单一工具,# 工具类别 用于分类脚本里面的用途displayName输入多个图层,namein_features,datatypeGPFeatureLayer,parameterTypeRequired,directionInput,multiValueTrue)# 如果希望参数处理一组值而非仅处理单个值请将 multiValue 属性设置为 Trueparam4 arcpy.Parameter(displayName定义输入要素数据类型,namein_feature_set,datatypeGPFeatureRecordSetLayer,parameterTypeRequired,directionInput)param4.value os.path.join(os.path.dirname(__file__),Fire_Station.lyrx)# 使用__file__属性查找.lyr文件假设.pyt和.lyr存在于同一文件夹中params [param0,param1,param2,param3,param4]# 需将工具添加到列表当中并返回否则不显示添加的工具return params上述代演示了如何添加工具参数在python 工具箱里我们主要通过getParameterInfo来定义工具箱的参数用来进行参数传递让工具进行运行。 在 Python 工具箱中datatype类型比较多和复杂后续会单独讲解。