模型构建器之迭代器

上一篇我们介绍了模型构建器的基础,将一个工作流串联起来,然后做成模型工具。今天我们介绍模型构建器的第二个重要功能——迭代,也就是程序中的循环。

先来看一个例子。要给数据库中所有要素类添加一个相同的字段,该怎么做?硬套模型构建器,要做成下面这个样子?这样减少了工具量了吗?只是工具的堆叠。

图片

对于这个需求,我们就可以使用迭代器中的迭代要素类。新建模型,插入迭代要素类。

图片

迭代要素类已经添加到模型中了,双击迭代要素类,我们只添加一个地理数据库就好。

图片

再添加工具【添加字段】。使用连接符将其与循环中的要素类连起来,再设置添加字段工具中的参数,运行模型就可以了。

图片

迭代器的输出有两个参数:要素类 和 要素类的名字

循环要素类时,每次获取到一个要素类,也就是上方名为 编辑 的变量,这个名字是读取的第一个要素类的名字,添加的数据库不一样,这个名字也会不同。

还会获取到要素类的名字,也就是上方名为 名称 的变量。我们通过一个批量裁剪的例子,看下 名称 变量的使用。

图片

每次读取一个要素类,然后进行裁剪,输出的要素类名为编辑_Clip。第二次再读取一个要素类,结果还是编辑_Clip,结果被覆盖了。裁剪10个要素类,最后只剩一个。那么怎么改呢?

结果要素类的名字就用迭代要素类的另一个变量 名称。用英文的%括起来变量的名字,每次结果输出的是读取的要素类的名字。

若这个名称变量名字是英文的Name,结果就写 %Name%

图片

一个模型中只能使用一个迭代器,所以对于两重或多重循环,模型构建器不是很友好。要使用多重循环,可以将模型做成工具(要有输入输出参数),然后将这个工具添加到另一个模型中。

图片

Pro中的迭代器的功能如下表所示。要迭代栅格,就选栅格迭代器。这里我们不对迭代器的使用场景一一举例了,点击文末的 原文 可查看官方文档中的示例。

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

地知通

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值