Использование циклов обратной связи

В ModelBuilder выходные данные процесса можно использовать в качестве входных данных для предыдущего процесса. Это называется обратной связью, поскольку выходные данные возвращаются в предыдущий процесс в качестве входных данных.

Построение циклов обратной связи

Вы можете построить цикл обратной связи, подключив выходную переменную одного процесса к входной переменной того же процесса. Чтобы создать это соединение, щелкните и удерживайте кнопку мыши на выходной переменной, наведите курсор на входную переменную и отпустите кнопку мыши, когда курсор окажется над входной переменной. Модель автоматически создает пунктирную синюю соединительную линию обратной связи при соединении выходных данных с входными. При каждой итерации инструмента выходная переменная используется в качестве входной для следующей итерации.

Поскольку модель создает один выходной набор данных для каждой итерации, важно иметь уникальное выходное имя для каждой итерации, чтобы выходные данные предыдущей итерации не были перезаписаны. Чтобы присвоить уникальное имя выходным данным каждой итерации, добавьте путь к ним с помощью замены встроенной переменной, как показано в примере ниже.

Используйте цикл обратной связи для создания нескольких буферных колец

В приведенном ниже примере модели показано, как использовать инструмент Буфер и цикл обратной связи для итеративного создания нескольких буферных колец.

Использование цикла обратной связи
Инструмент Буфер и цикл обратной связи используются совместно.

  1. Чтобы запустить цикл обратной связи определенное количество раз, используйте инструмент Для. Введите соответствующее значение в поля Значение от, Значение до и Значение по.

    Например, чтобы выполнить итерацию модели четыре раза, задайте 1 для Значение от, 4 для Значение до и интервал для Значение по, равным 1.

  2. Сделайте выходные данные инструмента Для предварительным условием для следующего инструмента.

    Это гарантирует, что номер итерации будет доступен до запуска следующего инструмента.

  3. Чтобы избежать перезаписи выходных данных каждой итерации, добавьте к имени выходных данных встроенную переменную %Value%.

    При запуске модели %Value% будет заменено числом из выходного значения инструмента Для.

  4. Подключите выход Буфера к входной переменной в качестве обратной связи, чтобы предыдущий буферизованный выходной результат использовался в качестве входа при следующей итерации.
  5. Подключите выход Буфера к инструменту Собрать значения.
  6. Чтобы запустить модель с обратной связью с панели Геообработка, подключите конечный выходной результат модели к инструменту Собрать значения. Сделайте выходные данные Собрать значения параметром модели, чтобы выходные данные обратной связи добавлялись на карту.
  7. Запустите модель.