反馈循环

在模型构建器中,一个流程的输出可以用作先前流程的输入。这种现象称为反馈,因为输出将反馈给先前流程作为输入。

创建反馈循环

通过将某个流程的输出变量连接到其输入变量可创建反馈循环。要创建此连接,单击输出变量并按住鼠标左键,将游标移动至输入变量,然后当游标位于输入变量的顶部时松开鼠标左键。模型即会知道当输出与输入连接时将产生反馈循环并将自动创建一条蓝色虚线样式的反馈连接线。每次工具进行迭代时,输出变量将用作下次迭代的输入。

由于每次迭代时模型都生成一个输出数据集,因此确保每次迭代所生成的输出名称唯一十分重要,这样才能避免将之前的迭代输出覆盖。如下例所示,可通过在输出路径后追加行内变量替换来为每次迭代输出指定唯一名称。

示例

以下示例模型显示用于以迭代方式创建多环缓冲区的缓冲区工具和反馈循环。

使用反馈循环
反馈循环中的“缓冲区”工具
  1. 要运行反馈循环一定次数,请使用 For 迭代器。输入相应的起始值终止值以及增量。例如,要让模型迭代 4 次,可将起始的起始值设置为 1,结束的终止值设置为 4,而间隔的增量设置为 1。
  2. For 工具的输出设置为下一工具的前提条件。这可确保在执行下一工具前迭代次数即已可用。
  3. 要避免覆盖每次迭代的输出,在输出名称后追加 %Value% 行内变量。运行模型时,%Value% 会替换为来自 For 迭代器的输出的数字。
  4. 缓冲区的输出作为反馈连接到输入变量,这样上一个缓冲的输出将用作下一个迭代的输入。
  5. 缓冲区的输出连接到收集值工具。
  6. 如果想要通过地理处理窗格运行含有反馈循环的模型,则应将模型的最终输出连接到收集值工具。将收集值的输出设置为模型参数,以便将反馈输出添加到地图。
  7. 运行模型。

在本主题中
  1. 创建反馈循环
  2. 示例