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