前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ModelBuilder中的For循环和While循环

ModelBuilder中的For循环和While循环

原创
作者头像
陈南GISer
修改2021-08-18 10:47:37
21.5K0
修改2021-08-18 10:47:37
举报
文章被收录于专栏:点点GIS

鸽了这么久了的ModelBuilder教程,开始恢复更新了,嘤嘤嘤

现在开始讲迭代器,迭代是指以一定的自动化程度多次重复某个过程,通常又称为循环。说的通俗点就是批量循环处理,简称批处理。

需要注意的是个模型仅可使用一个迭代器。如果模型中已经存在一个迭代器,那么就没办法再添加迭代器了,只能嵌套一个子模型,在子模型里使用。

ModelBuilder提供了四个大类,十二种迭代,在之后的文章中我会依次讲到,这次讲前两个,For循环和While 循环,本质上和编程中的For循环和While 循环工作原理完全相同

For循环,起始值到结束值按特定次数运行工作流,简单来说就是你给定一个循环次数,然后你的模型将从头到尾执行这个数量的项目。

下面以一个建立多环缓冲区的样例来介绍一下这个工具

For循环初始值设置为10m,之后每次自加10m直至100m停止循环,c108是一段道路数据

将值作为距离添加至缓冲区

最后输出文件为防止名称一样被覆盖,采用行内变量替换

运行结果如下

While 循环,模型会一直运行到特定变量或条件变为 True 或 False 时为止。简单来说,你可以把他理解成为一个开关,如果达到你设定的条件,循环会自动终止

还是这个多环缓冲区的案例,我们来深入了解一下While 循环

相较于上一个for循环的实现,这个While 循环添加了两个计算值工具和While 循环

两个计算值工具第一个是计算缓冲区距离,然后输出长整型字段,并将其作为距离添加到缓冲区工具中

如果我们不加以限制的话,他会无限循环,所以添加了第二个计算值工具来限制它所输出的value大小,输出类型为布尔型(布尔型的值只有两个:false(假)和true(真)。

然后将其作为输入值添加到while循环中

最后的文件存储依旧使用行内变量替换

运行结果如下

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档