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