Итераторы

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

  • Продолжительность видео: 2:02
  • Это видео было создано с помощью ArcGIS Pro 3.0.
Примечание:
  • Для каждой модели можно использовать только один итератор. Если в модели уже имеется итератор, опции для добавления еще одного итератора будут отключены.
  • Если в модель добавлен итератор, все инструменты модели будут повторяться для каждого значения в итераторе. Если вы не хотите запускать каждый инструмент в модели для каждого значения итерации, создайте подмодель/модель в пределах модели/вложенной модели, которая содержит только итератор, и добавьте ее как инструмент модели в основную модель.
  • Чтобы дать уникальное имя выходным данным инструмента, подключенного к итератору, используйте замену встроенной переменной.

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

ИтераторОписание

Для

Выполняет итерации с начального до конечного значения данной переменной.

Итерировать наборы данных

Выполняет итерации по разным типам наборов данных в рабочей области.

Итерировать классы объектов

Выполняет итерации для классов пространственных объектов в рабочей области или в наборе классов объектов.

Итерировать выборку объектов

Выполняет итерации над объектами в классе пространственных объектов.

Итерировать значения поля

Выполняет итерации для каждого значения в поле.

Итерировать поля

Выполняет итерацию полей в таблице.

Итерировать файлы

Выполняет итерации над файлами в папке.

Итерировать слои

Выполняет итерацию слоев на карте.

Итерировать многозначные

Выполняет итерации для списка значений.

Итерировать растры

Выполняет итерации растров в рабочей области.

Итерировать выборку строк

Выполняет итерации для строк в таблице.

Итерировать таблицы

Выполняет итерации для таблиц в рабочей области.

Итерировать время

Выполняет итерацию по времени в поле даты.

Итерировать рабочие области

Выполняет итерации с рабочими областями в папке.

Пока

Выполняет итерации до тех пор, пока условие не станет истинным или ложным.

Добавление и применение итератора

Чтобы добавить итератор в модель, щелкните ModelBuilder > Вставка > Итератор и выберите из списка итераторов.

Дважды щелкните элемент итератора для просмотра и изменения его свойств. Ниже показан и описан широко применяемый итератор Итерировать классы объектов.

Итерировать классы объектов

ЭлементОписание
Рабочая область

Входная рабочая область (например, база геоданных) либо набор пространственных данных.

Групповой символ

Комбинация символа * и символов поможет вам ограничить результаты. К примеру, A* означает, что будут включены только классы объектов, имеющие названия, начинающиеся с символа A. Этот пункт является необязательным.

Тип объекта

Фильтр типа объектов, помогающий ограничить результаты. Чаще всего это Point, Line и Polygon. Этот пункт является необязательным.

Рекурсивный

Определяет, будет ли оператор заходить в подпапки рабочей области. Этот пункт является необязательным.

Выходной класс пространственных объектов

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

Имя

Выходная переменная, содержащая имя выходного класса объектов. Это строка.

Инструмент Итерировать классы объектов требует Входной рабочей области (переменная Рабочая область на представленном выше изображении), в которой будут итерированы все хранящиеся там классы объектов. Три дополнительных настройки – Групповой символ, Тип объекта и Рекурсивный – используются для определения, какие классы рабочих областей будут итерированы, а также задают итерирование в подпапках рабочей области.

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