变量是模型中用于保存值或对数据进行引用的元素。 变量可以用作分析工具的输入。 使用变量可以加快工具参数的迭代速度,因为您无需打开完整的工具对话框,即可直接修改特定变量值。 变量还可以用于共享多个分析工具的输入值。
添加变量
可以通过工具参数将变量添加至模型图,也可以将其添加为独立变量。
通过工具参数添加变量
可以直接通过工具参数添加变量。 从工具参数添加变量确保满足以下内容:
- 变量结构和数据类型与所选工具参数兼容
- 在适当时自动填充工具参数的默认值或用户指定值
- 在适当时变量中提供工具参数的定义输入(例如受支持单位菜单)
- 变量自动连接至工具,无需其他步骤
要通过工具参数添加变量,请完成以下步骤:
变量添加至模型图并连接到工具。 如果参数具有默认值,则会自动将值添加至变量,并且变量将显示为准备好运行状态(蓝色)。 如果没有默认值或用户指定值,则变量将为空,并且显示为尚未准备好运行状态(灰色)。 可以打开该元素以更新变量值。
添加独立变量
独立变量将添加至模型图,但不会与任何工具参数建立关联。 在添加该变量后,必须将其连接到某个工具,才能用于工具参数。
要将独立变量添加至模型图,请完成以下步骤:
随即将变量添加至模型图。 可以打开该元素以更新变量值并从变量到工具元素绘制连接。 只能将变量连接到兼容工具参数。
连接变量和工具
将变量添加至模型图后,必须将其连接至工具才能用于工具参数。 可以通过直接在逻辑示意图中进行绘制或者通过工具对话框添加连接器。
绘制连接
要在变量和工具元素之间绘制连接,请完成以下步骤:
- 如有必要,请完成打开模型以及添加数据工具和变量的步骤。
- 单击变量元素右侧的端点并将其拖动到工具元素左侧的端点。
选择输入... 菜单将显示并列出兼容工具参数。
- 单击将使用变量的参数名称(例如,输入图层)。
连接器随即出现在变量元素和工具元素之间,并且工具将进行验证。 当打开工具对话框后,将显示指定参数的变量值。
通过分析工具连接变量
要通过分析工具连接变量,请完成以下步骤:
- 如有必要,请完成打开模型以及添加数据工具和变量的步骤。
- 选择一个工具元素,然后单击元素工具栏上的打开
,或双击该工具元素将其打开。 - 单击要为其添加变量的参数旁的选择变量
。选择变量对话框随即出现,其中显示了模型中与该参数兼容的变量列表。 如果未列出任何变量,请按照以下步骤为该参数添加变量:
- 单击变量以将其选中。
随即将该变量添加至参数。
- 更新所有剩余参数,然后单击确认以应用更改。
连接器随即出现在变量元素和工具元素之间,并且工具将进行验证。
更新变量
可以打开变量元素以添加、更新或移除变量值。
完成以下步骤以更新输入数据变量:
- 如有必要,请完成相应步骤以打开 ModelBuilder 窗格并添加变量。
- 选择变量,然后单击元素工具栏上的打开
,或双击该元素将其打开。随即出现一个对话框,其中显示了变量的类型。
- 执行以下操作之一:
- 对于双精度或整型变量,请在文本框中键入数值,或者使用上下箭头以增大或减小数值。
- 对于双精度(多个值)变量,请在文本框中键入一个或多个数值,并在每个数值之间单击添加或者按 Enter 键。 要移除数值,请单击值的移除按钮
。 - 对于要素图层或表变量,请单击输入数据集或图层按钮,从列表中选择图层,或者通过浏览方式选择受支持的图层。
注:
如果要素图层变量已连接到一个或多个分析工具,则只有与工具和参数兼容的数据集才可用。 如果参数不支持相同的要素(例如一个参数仅支持点,一个仅支持面),变量将无法确定兼容图层,可能导致一个或多个工具出现错误。
- 对于字符串变量,请在文本框中键入文本值。 如果变量已添加到分析工具,则该变量可能显示选项菜单。
- 单击确认。
变量将更新并验证。
变量结构
变量支持以下结构:
- 单一值 - 支持添加单一数据类型的单一值。 单值变量适用于要素图层、表、双精度、整型、字符串和线性单位数据类型。
- 多个值 - 支持添加单一数据类型的多个值。 当前,多值结构仅支持双精度数据类型。 例如,对于“创建缓冲区”,双精度(多值)变量可用于距离值参数中。
注:
支持多值双精度变量的参数同时支持一个或多个单值双精度变量。
支持的数据类型
以下数据类型受到支持:
- 双精度 - 具有小数位的数值。 单值结构和多值结构均支持此数据类型。
- 要素图层 - 托管要素图层项目。
- 整数 - 不含小数位的数值。 该变量支持负值,但并非所有工具参数均支持负值。
- 线性单位 - 数值和单位。
- 字符串 - 字母数字和特殊字符。
- 表 - 托管表项目。
局限性
接受字符串变量的工具参数已定义接受的输入值列表(例如,支持的单位菜单)。 建议从工具参数添加字符串变量或将变量连接到工具参数,然后再更新变量值。 在断开的字符串变量中输入值时,可能导致错误。
以下工具参数不支持从参数添加变量,但是支持连接独立变量:
| 工具 | 参数 | 变量类型 |
|---|---|---|
连接要素 | 目标图层 | 要素图层或表 |
连接图层 | ||
计算复合指数 | 输入要素或表 | |
按属性过滤 | 输入数据集 | |
计算字段 | 输入数据集 | |
聚合点 | 图格大小 | 线性单位 |
范围内汇总 | 图格大小 | |
丰富图层 | 测量值 | |
生成细分面 | 图格大小 |