逻辑示意图
模型逻辑示意图是在 模型构建器 中编辑模型时看到的一切,其中包括模型中工具和变量的外观和布局。
元素
模型元素是基本的模型构建块。 模型元素主要分四个类型:地理处理工具、变量、连接符和组。
- 地理处理工具用于对地理数据或表格数据执行多种操作。 工具被添加到模型中后,即成为模型元素。 您可打开模型中任意地理处理工具的工具对话框来设置输入和输出参数。
- 变量是模型中用于保存值或对数据进行引用的元素。 共有两种类型的变量:数据和值变量。
- 连接符用于将数据和值连接到工具。 连接符箭头表示处理方向。 共有四种类型的连接符:数据、环境、前提条件和反馈。
- 组是用于将相关工具分组在一起的可视元素。 这些组可以折叠或展开以隐藏或显示工具,从而提供更多的可视空间以供使用。
下图和下表显示了 模型构建器 中的不同模型元素。
元素 | 描述 |
---|---|
数据变量 |
数据变量是用于在磁盘上存储路径和其他数据属性的模型元素。 常用数据变量包括要素类、要素图层、栅格数据集和工作空间。 |
派生或输出数据变量 |
派生或输出数据是模型中的工具创建的新数据。 将地理处理工具添加到模型中时,会自动为工具输出参数创建变量并将这些变量连接到工具。 |
值变量 |
值变量是诸如字符串、数值、布尔 (true/false 值)、空间参考、线性单位或范围等的值。 值变量包含除对磁盘图层或数据的引用之外的所有信息。 |
派生值变量 |
作为工具结果的值 派生值可以是其他数据的输入。 例如,计算值工具会输出逻辑计算或数学计算的结果。 |
工具 |
工具是添加到模型的地理处理工具。 这些包括您将在系统工具箱中找到的所有工具和自定义模型以及脚本工具。 模型构建器 中的工具还包括迭代器、模型构建器 实用程序和 模型构建器 逻辑工具等特殊工具。 迭代器是特殊的 模型构建器 专用工具,用于重复同一操作或循环访问一组输入数据或值。 逻辑工具是特殊的 模型构建器 专用工具,用于根据不同的条件对模型进行分支化。 逻辑工具用于控制模型的逻辑流。 停止就是一个逻辑工具。 模型构建器 实用程序是有助于构建模型的工具,只能在 模型构建器 中运行,不能在脚本中运行。 |
分组 | 组是包含模型内其他元素的可见类别。 可将这些组展开和折叠。 |
流程和状态
模型流程由工具和所有与之相关的变量组成。 连接线表示处理顺序。 许多流程可以链接在一起,创建一个更大的流程。 模型中的流程可以是以下四种状态中的一种:尚未准备好运行、准备运行、正在运行和已运行。
尚未准备好运行
最初将工具拖动到 模型构建器 中时,流程将处于尚未准备好运行状态,因为尚未指定所需的参数值。 该工具以及其输入和输出均为灰色。
准备运行
为工具中填入了全部所需的参数后,流程将处于准备运行状态。 流程中所有的模型元素均有颜色。
正在运行
如果模型工具为红色,则流程处于运行中状态。
已运行
如果在 模型构建器 中运行模型,所显示的工具和派生数据元素将带有下拉阴影,表示已运行此流程并且已生成派生数据。
变量类型
模型中的输入变量可以是单值、多值或值表变量。 单值和多值变量支持单一数据类型。 值表变量可用于添加多个数据类型。 要创建模型变量,可在 模型构建器 选项卡上单击变量按钮 ,或在模型视图快捷菜单中单击创建变量按钮。 在变量数据类型对话框中,可选中多个值复选框创建多值变量,或选中值表复选框创建值表变量。 某些数据类型具有特殊用户控件,例如字段映射、范围、坐标系等,用于进行特定于控件的交互。
验证
模型验证指确保所有模型变量(数据或值)均有效的过程。
环境设置
地理处理环境设置是一些能够影响地理处理工具的附加设置。 这些设置可用于确保在可控的环境中执行地理处理。 例如,可以设置处理范围将处理限制为特定的地理区域,或设置所有输出地理数据集的坐标系。
可将三个级别的环境设置应用于 模型构建器:
- 工程级别环境设置,适用于在当前工程中运行的任何工具。 这些环境设置会随工程一起保存。
- 模型级别设置使用某种模式指定和保存,并且会覆盖工程级别设置。
- 模型流程级别环境将应用到工具的单次运行,与模型一起保存,并会覆盖工程级别设置和模型级别设置。
工作空间环境
可在 模型构建器 中使用四种工作空间环境,来简化模型数据管理。
- 临时 GDB
“临时 GDB”环境设置是可以用来写入临时数据的文件地理数据库的位置。
临时 GDB(地理数据库)是在模型中写入中间输出的首选位置。 通过指定输出数据集的路径(例如 %scratchgdb%\output)来使用此地理数据库。
- 临时文件夹
“临时文件夹”环境设置是一个文件夹位置,可用来写入基于文件的数据(如 shapefile、文本文件和图层文件)。
- 当前工作空间
支持“当前工作空间”环境的工具将指定的工作空间用作地理处理工具输入和输出的默认位置。
- 临时工作空间
支持“临时工作空间”环境的工具可将指定的位置用作输出数据集的默认工作空间。 "临时工作空间"用于存放您不希望保留的输出数据。
除了上述工作空间之外,您还可以将模型输出写入内存。 写入内存的数据是临时性的,将在应用程序关闭时自动清除。
前提条件
可使用前提条件来显式控制模型中的操作顺序。 例如,可将一个流程设置为在另一个流程后面运行,方法为将第一个流程的输出设为第二个流程的前提条件。 可以将任意变量设置为工具运行的前提条件,所有工具都可以具有多个前提条件。
反馈
流程的输出可以用作先前流程的输出。 这一过程成为反馈,因为需要将输出反馈至输入。
布局
要排列模型中的元素,您可以将元素移动到所需位置,或通过 模型构建器 选项卡上的自动布局按钮进行自动排列。 要在组中自动排列元素,右键单击该组,然后在快捷菜单中单击自动布局。 要锁定或解锁元素,在 模型构建器 选项卡的视图组中的单击锁定元素或解锁元素按钮。 模型中已锁定的元素不受自动布局的影响。
中间数据
可以保留或删除模型中中间工具的输出。
行内变量替换
在 模型构建器 中,可通过将替换变量名称用百分号 (%VariableName%) 括起的方式使用其他变量替换某个变量的值或数据集路径。 这种变量替换方式称为行内变量替换。
例如,如果变量 Name 的值为 Wilson,则可以将数据集路径构建为 C:\Data\Output.gdb\Clipped_%Name%,路径将解析为 C:\Data\Output.gdb\Clipped_Wilson。
迭代器
迭代或循环是指自动重复过程的方式。 迭代很重要,因为自动执行重复的任务会节省执行任务所需的时间和精力。 在 模型构建器 中进行迭代时,每次可以使用不同的设置或数据来反复运行同一进程。
实用工具
模型构建器 提供大量支持实用工具,包括计算值、收集值、获取字段值、解析路径和选择数据。
If-then-else 分支和逻辑工具
If-then-else 逻辑可以根据不同条件执行操作。 If-then-else 逻辑可理解为:如果条件为真,则执行操作;否则执行其他操作。
参数
当模型作为地理处理工具打开时,模型参数将在地理处理窗格中显示。 可以将模型中的任何变量设置为模型参数。 参数类的派生变量(工具输出)将在成功创建之后添加到最后一个活动地图。
模型工具
模型构建器 模型以模型工具的形式保存在工具箱中。 模型工具正如任何其他地理处理工具一样:可在 Python 中运行和使用,或添加到其他模型中。 要在 模型构建器 中编辑模型工具,右键单击并选择编辑。 要在地理处理窗格中打开并运行模型工具,双击或右键单击它,然后选择打开。
将子模型添加到模型
在其他模型中添加和运行某个模型这种理念有时也称为子模型、嵌套模型或模型中的模型。 通过在一个模型中使用另一个模型,可以将大模型分割为可重用的更小、更易于管理的模型。
批处理模型工具
模型工具可以在批处理模式下运行,以使用多个输入数据集或不同的参数设置多次运行模型工具。 这使您可以通过少量的交互来多次运行工具。
计划模型
您可以将模型工具计划为在一天的特定时间运行,或以指定的时间间隔重复运行。 如果模型运行时间较长,而您希望在固定时间获得结果,这将很有帮助。
将模型导出至 Python
可以将模型导出至 Python 窗口或 Python 脚本文件。 这两个选项均会生成相同的 Python 代码,可对代码进行进一步编辑并用作独立的 Python 脚本,或对其进行修改以用作脚本工具。
模型报表
模型构建器 报表视图显示模型中的所有变量和工具及其值和其他属性。 这有助于在大型模型中定位变量。 此外,还可以在报表视图中查找并替换变量名称和值。