首页 新闻中心 技术博客

ArcGIS模型构建器:行内变量的替换

发布时间:2021-10-01 23:56:29   浏览量:3078   作者:GIS前沿

在模型构建器中,可通过以 “%” 将替换变量括起来的方式,用一个变量的内容替换另一变量。这种变量替换方式称为行内变量替换。

行内变量可分为两类:

模型变量 - 模型中的任何变量:%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%”

运行结果


来源:https://blog.csdn.net/qq_43173805/article/details/112283961