脚本工具是用于执行脚本或可执行文件的地理处理工具。通过脚本工具可以在 ArcGIS 中运行这些脚本,需要使用地理处理工具作为脚本功能的接口。创建脚本工具时,需要指定执行脚本所需的参数。最常见的参数为输入和输出数据集、字段名称和从选择列表中所选的字符串。在运行脚本工具时,会将参数值传递到脚本并在执行期间由脚本使用。
几乎所有脚本工具均可执行使用 ArcPy 的 Python 脚本 (.py),其中 ArcPy 是随 ArcGIS 一起安装的 Python 站点包。通过 ArcPy 可访问地理处理工具和其他函数、类和模块,从而快速地创建各种简单或复杂工作流。脚本可通过 ArcP 访问 ArcGIS 的地理处理环境,提供诸如动态投影、选择集支持、输入验证、错误消息传送及历史报告等优势。
虽然绝大多数脚本使用 Python 编写,但您也可以为接受参数的所有文件创建脚本工具。例如,您可以为接受参数的 .r、.bat 或 .exe 文件创建脚本工具。
可在工具箱中创建脚本工具。要创建脚本工具,请右键单击目录窗格中的工具箱,然后选择新建 > 脚本。
属性
创建脚本工具时,将打开新脚本工具的属性页面。可在脚本工具的属性页面中设置一系列属性,例如:
- 常规设置,如工具名称、密码保护和源脚本文件位置等。
- 参数工具,其用于确定脚本工具将要显示的输入数据集、附加参数和输出数据集。
- 验证代码,其可用于自定义工具参数对脚本工具的值和其他参数的响应方式以及与它们的交互方式(例如,根据为某一参数选择的选项来更改另一参数的值)。验证代码使用 Python 编写。
参数
定义参数属性是创建脚本工具的关键步骤。参数页面中的每行均表示一个参数。您将为每个参数定义一系列属性,例如显示在工具中的标注、参数接受的数据类型以及该参数是可选参数还是必选参数。您必须至少输入参数标注、名称、数据类型、类型和方向。
属性 | 说明 |
---|---|
标注 | 显示在工具上的参数名称。 |
名称 | 从另一 Python 脚本调用脚本工具作为函数时所使用的参数名称。 |
数据类型 | 参数所接受的数据类型。该类型确定工具所使用的控件。例如,如果您选择要素图层,则可以从活动地图中选择图层或浏览至要素类。 |
类型 | 参数可以是必选参数或可选参数。如果是必选参数,则该参数必须具有值,否则工具将无法运行。如果是可选参数,则即使没有为该参数指定值,工具也可运行。 |
方向 | 参数可以是输入参数或输出参数。输入参数表示待处理的现有数据或要在处理中使用的值。输出参数表示工具创建的数据或计算得出的值。 |
类别 | 输入类别名称会将参数置入工具对话框的下拉组中。 |
过滤 | 过滤器可用于确定工具是否仅接受输入特定类型的数据集、文件、字段、特定值或某范围内的值。例如,您可以过滤要素类参数,仅接受点要素类;或者您也可以过滤数字参数,仅接受 1 到 10 之间的值。 |
依赖关系 | 您可以使某一参数依赖于另一参数。例如,使字段参数依赖于数据集参数;设置此依赖关系后,可从相关的数据集中选择字段。 |
默认 | 工具对话框出现后,自动为参数设置的值。 |
环境 | 参数可从地理处理环境中派生其默认值。因此,如果设置了指定的地理处理环境,则工具对话框出现后,给定参数会使用该默认值。 |
符号系统 | 用来定义参数符号系统的图层文件的路径。例如,您可以进行设置,使得创建输出并将其添加到地图时,输出数据集参数与图层文件的符号系统相同。 |
验证
ToolValidator Python 代码块可帮助您更加全面地控制脚本工具的外观、行为和消息。可从属性窗口中直接编辑验证代码,也可以单击在脚本编辑器中打开按钮在您的首选脚本编辑器(在地理处理选项中进行设置)中打开验证代码。