在模型构建器中,可通过以 “%” 将替换变量括起来的方式,用一个变量的内容替换另一变量。这种变量替换方式称为行内变量替换。
行内变量可分为两类:
模型变量 - 模型中的任何变量:%variable name%。
注意这是任何变量,包括数值,字符串,还有数据工作空间(输入输出路径)…在内的一切变量
替换工作空间
这是一个正常的投影转换模型,Default.gdb是本次模型处理数据的工作空间
工作空间路径
文件输出路径
行内变量替换工作空间
通过工作空间变量名称用百分号括起,此工作空间位置将被替换为 Project 工具参数中的行内变量。运行时,将使用实际变量值F:\arcgis工作空间\Default.gdb 替为%Default.gdb%
需要注意的是用“%”将“变量名称”括起,这意味着我们可以将工作空间在模型内重名为任意名称,在进行行内变量的替换的时候只需要用“%”将重命名后的名称括起
如我将Default.gdb重命名为 “工作空间”
则对应的行内变量替换为
替换字符串(数值与其类似)
这是一个简单的批量投影工具,迭代器迭代将“长春.gdb”中的要素类,它将为要素类的路径和名称各创建一个输出变量。可以使用名称变量中的值构造投影的要素类的路径。
工具执行时,%名称% 将被替换为要素类的名称。(这里w_%名称%是因为工作空间和输出空间一至,因为“长春,gdb”中存在要进行投影变换的要素类,所以为了避免名称冲突,所以设置一个w前缀)
运行结果如下
系统变量 - 模型构建器中包含两个系统变量:表示变量列表编号的 %i% 和表示模型迭代次数的 %n%。(%i%就是上节使用列表变量批量裁剪的那个编号)
行内变量的使用规则
变量名称使用百分号 (%) 括起;变量名称中允许存在空格;替换不区分大小写。Initial Value 和 initial value 是等同的。
%n% 提供当前模型的迭代次数,可在迭代模型中使用。
还是这个批量投影模型
将名称改为“w_%名称%_%n%”
运行结果