工具作为类被添加至 .pyt 中。每个工具类应至少包括 __init__ 和 execute 方法。此外,可使用 getParameterInfo、isLicensed、updateParameters 和 updateMessages 方法向工具的行为中添加其他控制。
用于定义工作工具类的方法
工具方法 | 必选/可选 | 描述 |
---|---|---|
__init__ | 必填信息 | 初始化工具类。 |
可选 | 定义工具的参数 | |
可选 | 返回该工具是否获得执行许可。 | |
可选 | 在用户每次在工具对话框中更改参数时调用。从 updateParameters 返回后,地理处理将调用它的内部验证例程。 | |
可选 | 在从内部验证例程返回后调用。您可以检查在内部验证过程中创建的消息并根据需要进行更改。 | |
必填信息 | 工具的源代码。 |
设置工具类的 __init__ 方法
工具类中的 __init__ 方法是标准 Python 类初始化方法。对于 Python 工具箱中的工具,__init__ 方法用于设置该工具的属性,这些属性包括工具的标注和描述。工具的名称由类的名称确立(在下例中,工具的名称为 CalculateSinuosity)。
__init__ 方法建立工具属性,例如 label 和 description。以下示例中,创建了名为 CalculateSinuosity 的工具。
class CalculateSinuosity(object):
def __init__(self):
self.label = "Calculate Sinuosity"
self.description = "Sinuosity measures the amount that a river meanders within its valley, " + \
"calculated by dividing total stream length by valley length."
可在工具的 __init__ 方法中设置以下属性。
属性 | 描述 |
---|---|
canRunInBackground | 如果 canRunInBackground 取消设置或设置为 True,此工具将遵循地理处理选项 对话框中的当前后台处理 设置。 如果设置为 False,工具将始终在前台运行,从而覆盖地理处理选项 对话框中的后台处理设置。 |
category | 工具所在工具集的名称。工具集是在工具箱内组织工具的一种方式。 |
描述 | 工具的描述。 |
标注 | 标注是工具的显示名称,如“目录”窗口 中所示。 |
样式表 | 更改用于工具的默认样式表。如果取消设置,则使用默认样式表。 |