逻辑示意图
在 ModelBuilder 中编辑模型时只能看到模型图,其中包括模型中工具和变量的外观和布局。
元素
模型元素是模型的基本构建单元。模型元素主要分四个类型:地理处理工具、变量、连接符和组。
- 地理处理工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。您可打开模型中任意地理处理工具的工具对话框来设置输入和输出参数。
- 变量是模型中用于保存值或对数据进行引用的元素。共有两种类型的变量:数据和值。
- 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。共有四种类型的连接符:数据、环境、前提条件和反馈。
- 组是用于将相关工具分组在一起的可视元素。这些组可以折叠或展开以隐藏或显示工具,从而提供更多的可视空间以供使用。
下图和下表显示了 ModelBuilder 中的不同模型元素。
元素 | 图像 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
数据变量 | 数据变量是用于在磁盘上存储路径和其他数据属性的模型元素。常用数据变量包括要素类、要素图层、栅格数据集和工作空间。 | |||||||||
派生或输出数据变量 | 派生数据或输出数据是由模型中的工具创建的新数据。将地理处理工具添加到模型中时,会自动为工具输出参数创建变量并将这些变量连接到工具。
| |||||||||
值变量 | 值变量是诸如字符串、数值、布尔 (true/false 值)、空间参考、线性单位或范围等的值。值变量包含除对磁盘图层或数据的引用之外的所有信息。 | |||||||||
派生值变量 | 作为工具结果的值。派生值可作为其他工具的输入。例如,计算值工具会输出逻辑计算或数学计算的结果。 | |||||||||
工具 | 工具是添加到模型的地理处理工具。这些包括您将在系统工具箱中找到的所有工具和自定义模型以及脚本工具。ModelBuilder 中的工具还包括迭代器、ModelBuilder 实用程序和 ModelBuilder 逻辑工具等特殊工具。
| |||||||||
分组 | 组是包含模型内其他元素的可见类别。可将这些组展开和折叠。 |
环境设置
地理处理环境设置是一些能够影响地理处理工具的附加设置。这些设置可用于确保地理处理在可控的环境中执行,可在其中决定将处理限制到特定地理区域的处理范围或所有输出地理数据集的坐标系等。
存在三个可应用到 ModelBuilder 的环境设置级别:
- 工程级别环境设置,适用于在当前工程中执行的任何工具。这些环境设置会随工程一起保存。
- 模型级别设置使用某种模式指定和保存,并且会覆盖工程级别设置。
- 模型流程级别环境将应用到工具的单次运行,与模型一起保存,并会覆盖工程级别设置和模型级别设置。
工作空间环境
可在 ModelBuilder 中使用以下四种工作空间环境以简化模型数据管理。
- 临时 GDB
The scratch GDB is the location of a file geodatabase you can use to write temporary data.
临时 GDB(地理数据库)是在模型中写入中间输出的首选位置。通过指定输出数据集的路径(例如 %scratchgdb%\output)来使用此地理数据库。
- 临时文件夹
The scratch folder is the location of a folder you can use to write file-based data, such as shapefiles, text files, and layer files. It is a read-only environment managed by ArcGIS.
- 当前工作空间
Tools that honor the Current Workspace environment setting use the workspace specified as the default location for geoprocessing tool inputs and outputs.
- 临时工作空间
Tools that honor the Scratch Workspace environment setting use the specified location as the default workspace for output datasets. The Scratch Workspace is intended for output data you do not wish to maintain.
除了上述工作空间之外,您还可以将模型输出写入内存。写入内存的数据是临时性的,将在应用程序关闭时自动清除。
反馈
您可以将一个流程的输出用作上一个流程的输入。由于是将输出反馈到输入,所以将其称为反馈。
中间数据
可以保留或删除模型中中间工具的输出。
行内变量替换
可通过以百分号 (%) 将替换变量括起来的方式,用一个变量的内容替换另一变量。例如,如果您有引用值沙漠的模型变量类别,并且您希望将此值用作地理处理工具的输入,请将工具输入指定为 %类别%。
迭代器和迭代
迭代或循环是指自动重复过程的方式。迭代很重要,因为自动重复任务会节省执行这项任务所需的时间和精力。在 ModelBuilder 中进行迭代时,可以在每次迭代时使用不同的设置和数据来反复执行同一个过程。
模型工具
ModelBuilder 模型以模型工具的形式保存在工具箱中。模型工具正如任何其他地理处理工具一样:可在 Python 中运行和使用,或添加到其他模型中。要在 ModelBuilder 中编辑模型工具,右键单击并选择编辑。要在地理处理窗格中打开并运行模型工具,双击或右键单击它,然后选择打开。
布局
要排列模型中的元素,您可以将元素移动到所需位置,或通过 ModelBuilder 功能区上的自动布局按钮进行自动排列。要自动排列组中的元素,请右键单击组并单击上下文菜单中的自动布局。要锁定/解锁元素,请单击 ModelBuilder 功能区视图组中的锁定元素/解锁元素按钮。模型中已锁定的元素不受自动布局的影响。
参数
模型参数是当模型作为地理处理工具打开时出现的参数。模型中的任何变量都可以转换为模型参数。参数类的派生变量(工具输出)将在成功创建之后添加到最后一个活动地图。
前提条件
前提条件可用于显式控制模型中的运算顺序。例如,使第一个过程的输出成为第二个过程的前提条件可以让一个过程在另一个过程后运行。任何变量都可用作工具执行的前提条件,并且任何工具都可以有多个前提条件。
流程和状态
模型流程由一个工具和连接到此工具的所有变量组成。连接线用于表示处理的顺序。可将多个流程连接到一起以创建一个更复杂的流程。模型中的流程可以是以下四种状态中的一种:尚未准备好运行、准备运行、正在运行和已运行。
尚未准备好运行
最初将工具拖动到 ModelBuilder 中时,流程将处于尚未准备好运行状态,因为尚未指定所需的参数值。该工具以及其输入和输出均为灰色。
准备运行
为工具中填入了全部所需的参数后,流程将处于准备运行状态。流程中所有的模型元素均有颜色。
正在运行
如果模型工具显示红色,则流程处于运行状态。
已运行
如果在 ModelBuilder 中运行模型,所显示的工具和派生数据元素将带有下拉阴影,表示已运行此流程并且已生成派生数据。
实用工具
ModelBuilder 提供大量支持实用工具,包括计算值、收集值、获取字段值、解析路径和选择数据。
验证
模型验证是指确保所有模型变量(数据变量或值变量)有效的过程。