您可为自己的地理处理工具提供自定义行为,如启用和禁用参数、提供默认值和更新字符串关键字等。 通过添加 Python 代码,您可以进行以下操作:
- 更新参数过滤器。 您可以使用字段过滤器来创建 Long 和 Double 等有效字段类型列表。 借助字符串过滤器,您可以设置有效关键字的列表。 过滤器类型包括六种:值列表、范围、要素类、文件、字段和工作空间。
- 提供参数的默认值,如栅格的像元大小。
- 自定义警告和错误消息。
- 根据其他参数中包含的值来启用或禁用参数。
注:
禁用参数时,它会从地理处理窗格上的视图中消失,当重新启用时,该参数会重新显示。 您可在多个系统地理处理工具中看到这一效果,例如添加字段工具,在该工具中,有多个采纳数取决于字段类型。
- 更新在 模型构建器 中使用的输出数据集的描述。 通过更新描述,模型构建器 中的后续工具可以在运行工具之前识别预期的数据特征。
验证的工作原理
验证通过 Python 代码块执行,地理处理使用此代码块来控制地理处理窗格和 Python 窗口如何根据用户输入发生变化。
验证
验证是指检查所有工具参数是否正确,并在发现错误参数时提供有用的消息。 以下是验证的两个部分:
- ArcGIS Pro 自动进行的验证。 这部分验证被称为内部验证。
- 您通过添加代码执行的验证。
内部验证执行以下操作:
- 如果需要参数,则对参数进行评估以确定是否已提供值。 如果未提供值,则会生成一条消息。
- 检查值的类型是否正确。 例如,输入栅格而不是要素类,或者输入字符串而不是数字。
- 检查过滤器成员资格;即,如果您具有包含 RED、ORANGE 和 YELLOW 等关键字的值列表过滤器,而输入为 BLUE,则您将收到一条错误消息。
- 检查输入数据集是否存在。
- 为输出数据集生成默认路径。
- 根据 Schema 对象中包含的一组规则更新输出数据的描述。
- 使用允许地理处理工具覆盖现有数据集选项检查是否存在输出数据集。 如果数据集存在,且选项为假,将生成一条错误;否则,将生成一条警告。
- 如果参数是“字段”数据类型,则检查关联表中是否存在该字段。
- 检查并确保输出数据集与输入数据集不相同。
- 对于包含线性和面积单位数据类型的参数,通过在 ArcGIS Pro 中检查相应值来设置它们的默认值(如果在 ArcGIS Pro 中运行)。
您可以自定义验证以执行以下操作:
- 根据与其他参数的交互作用更新过滤器。 例如,如果用户在第一个参数中输入点要素类,您希望第三个参数显示一组选项。 如果输入了面要素类,您希望在第三个参数中显示一组不同的选项。
- 启用和禁用参数。
- 计算默认值。
- 执行任何特定于工具的参数交互。
您所添加的代码按如下方式与内部验证配合工作:
- 您可以提供一组供内部验证在更新输出数据集的描述时使用的规则。 这些规则包含在 Schema 对象中。
- 您可在进行内部验证开始之前更新过滤器。 内部验证将用户输入的值与过滤器中的值进行比较。
您可以配置验证代码来计算默认值、启用和禁用参数以及自定义消息。 此类操作对内部验证没有影响。