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