打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ArcGIS模型构建器学习的小小个人收获,行内变量替换,非常有用
userphoto

2023.07.18 四川

关注
前言:创建行内变量,用于替换会重复使用的参数,比如输出路径等,非常好用……
今天给大家分享模型构建器里面的一个好用功能,让我得到了解脱。
假设存在这样一个使用场景
有一个模型构建器,它的功能是根据输入的栅格,以一定的规则进行计算,而后会输出多个栅格数据。
咋一看是不是没啥问题,但是在使用的时候,如果我要修改输出栅格的位置,那就要重复操作,因为有多个输出栅格。
如何解决?
以前我说过我很少使用模型构建器,相较于 Python,1是因为 Python 确实强大,2是我模型构建器真的菜,小看了它。
对于简单的数据处理,使用 Python 就复杂了,所以 ArcGIS 自带的模型构建器就得上场了,但由于我菜的本质,遇到了上面提到的使用场景,弄了半天,还是在ArcGIS的离线帮助中找到了答案(想要变强就去翻官方帮助,什么都有)——行内变量替换
不管是 ArcGISPro亦或是ArcMap的帮助文档中都有行内变量替换的详细说明,这表示这东西早在 ArcMap 时代就有了,而 ArcGIS Pro 是延续而来,不要因为我是截图 ArcGIS Pro 作说明而认为是 Pro 专有的。
(另外 ArcGIS Pro 默认安装的是在线版的帮助文档,但实际上也可以安装在本地,见这里
ArcMapArcGIS Pro
行内变量替换
在 模型构建器 中,可通过将替换变量名称用百分号 (%VariableName%) 括起的方式使用其他变量替换某个变量的值或数据集路径。这种变量替换方式称为行内变量替换。
说人话就是可以用一个变量替代输出路径,然后配合工具箱的参数,实现快速给多个输出数据修改存储的位置。
那么如何实现?具体的步骤如何?
步骤1 创建行内变量
打开 ArcGIS Pro,打开模型构建器。
看到下面这张图片,这就是文章开头提到的使用场景,根据输入的栅格数据,以一定的规则输出多个栅格。
图左是输入,图右是输出那么在变成工具使用的时候,就像下面一样,你需要去填写多个输出路径。
当然他本身有一个默认的输出路径,但是当我们想要修改路径呢,一个一个修改?
这当然是不可行的,懒~
那么操作步骤来了
1.这里添加行内变量替换变量,来代替输出路径
添加变量,添加工作空间变量(下图左),然后会出现一个椭圆形(下图中),这里我命名为OutputGDB,模型就变成了这样(下图右)。
注意新添加的 OutputGDB 不用和任何变量、工具相链接,这是非常反直觉的一点,对于当今各种各样的流程化工具来说。
2.输出路径使用行内变量替换
双击输出,在输出路径中,修改为%OutputGDB%\raster0,这个%OutputGDB%就是行内变量,只有只需改动 OutputGDB 的路径,那么使用了 %OutputGDB% 变量的地方都会跟着变化,这就解决了重复修改路径的问题。
步骤2 将行内变量设置为参数
做好的模型以工具箱的形式使用是比较方便的。
所以右击菜单,勾选上参数,用工具箱打开后,就能在工具箱窗口控制。
不要忘了取消勾选其他输出的参数。
最后工具就变成了这样,只需要输入栅格和输出文件夹或者GDB即可。
最后
关于行内变量,不仅仅是我介绍的内容,这里只是一部分,方便大家上手。
其他的像%scratchGDB%、 %scratchFolder% 可以直接表示临时工作空间和临时工作目录,不管是模型构建器还是 Python 里都是可以用的。
更多功能请翻阅官方帮助文档。
分享原创GIS、Python、制图经验,传播国内外最新 GIS 资讯,都在GIS荟图文分享难做,感谢点个再看 、星标
GIS荟制图工具箱(点击图案获取)
高级又好看的制图效果,一键完成!
全球地形渲染教程合集
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Arcgis基础知识:叠加分析
ChatGPT中搞GIS
ArcGIS Hydrology水文分析功能介绍
arcglobe 与su
ArcGIS空间分析模块学习指南(一)
Arcgis数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服