Примеры использования итераторов в ModelBuilder
Для инструмента
Чтобы понять использование инструмента Для (For), посмотрите на рисунок ниже, где итератор Для (For) выполняет итерации от значения 500 до значения 2000 с инкрементом 500. Выходные данные Для (For) используются как параметр Буферное расстояние (Buffer Distance) в инструменте Буфер и в выходном имени для подстановки встроенной переменной.
Итерировать выборки объектов
Чтобы понять использование Итерировать выборку объектов (Iterate Feature Selection) в ModelBuilder, посмотрите на рисунок ниже, где модель вычисляет размер площади Восточного побережья, разрушенной 100-метровой полосой пути урагана пятой категории. Переменная Входные объекты (Input Feature) - это класс пространственных объектов путей прохождения пяти Атлантических ураганов со 100-метровым буфером. Переменная Входной растр (Input Raster) это карта местности.
В этом примере имя урагана использовалось как группирующее поле для создания выборки, а выбранные объекты использовали как входные для инструмента Зональная статистика в таблицу, чтобы генерировать выходную таблицу со статистикой по областям, уничтоженным во время прохождения урагана.
У инструмента Итерировать выборку объектов (Iterate Feature Selection) два выходных элемента:
- Выбранные объекты (Selected Feature) (соединены как входные объекты с инструментом Зональная статистика в таблицу (Zonal Statistics As Table).
- Переменная Значение (Value), которая содержит имя объекта (на основе поля группировки) используется как встроенная переменная в выходном имени переменной Выходная таблица.
Итерировать выборку строк
Чтобы понять использование инструмента Итерировать выборку рядов (Iterate Row Selection) в ModelBuilder, посмотрите на рисунок ниже, где модель создает эллипс отклонений для случаев кражи в различные периоды дня: утро, полдень, вечер и ночь, чтобы выяснить скрытую модель преступления.
Переменная Входные классы объектов (Input Feature Class) - это класс пространственных объектов, содержащий точки мест случаев вандализма. Он содержит поле Crime_Peri (Crime Period), которое является временем дня, когда произошел инцидент (строки "Morning", "Afternoon", "Evening" и "Night"). Это поле используется как группирующее поле для создания выборки, и выбранные строки используются для создания выходного эллипса стандартного отклонения.
У инструмента два выходных элемента данных:
- Переменная Выборка строк (Row Selection) содержит выбранные строки для одного уникального преступления. Эти строки являются входными данными для инструмента Направленное распределение (Эллипс стандартного отклонения).
- Переменная Значение (Value), которая содержит значение группирующего поля ("Morning", "Afternoon", "Evening" или "Night"). Это значение используется как встроенная переменная в выходном имени переменной Выходной эллипс стандартного отклонения.
Итерировать значения поля (Iterate Field Values)
Чтобы понять использование инструмента Итерировать значение поля (Iterate Field Values) в ModelBuilder, посмотрите рисунок ниже, где модель запускает Анализ кластеров и выбросов (Cluster and Outlier Analysis) для числа людей, живущих за чертой бедности в каждом округе для сравнения результатов для разных расстояний. Эти расстояния записаны в поле «Расстояние» (Distance) переменной Входная таблица (Input Table).
Заметьте, что в диалоговом окне «Итерировать значения поля» (Interate Field Values) опция Уникальные значения (Unique Values) включена по умолчанию, чтобы выполнять итерацию для каждого уникального значения в таблице. При отключении опции Уникальные значения (Unique Values) будут выполняться итерации для каждого значения в поле и выходные значения могут повторяться, если во входном поле есть повторяющиеся значения.
У Итерировать значения поля одно выходное значение: значение поля, которое используется как параметр Диапазон расстояний или пороговое расстояние инструмента Анализ кластеров и выбросов. Переменная Значение (Value) также используется для построения выходного имени файла переменной Выходной класс пространственных объектов (Output Cluster Feature Class) с использованием подстановки встроенной переменной.
Итерировать многозначные
Чтобы понять использование инструмента Итерировать многозначные (Iterate Multivalue) в ModelBuilder, посмотрите на рисунок ниже, где модель изменяет проекцию нескольких классов пространственных объектов, хранящихся на различных дисках и в разных рабочих областях. Перепроецированные выходные классы пространственных объектов записываются в одну выходную базу данных.
У инструмента один выходной элемент данных: значение, которое является строкой классов пространственных объектов, соединенных с инструментом Проецировать в качестве входного значения.
Итерировать наборы данных
Чтобы понять, как работает инструмент Итерировать наборы данных (Iterate Datasets) в ModelBuilder, посмотрите на рисунок ниже, где модель копирует все наборы классов объектов из переменной рабочей области Входной набор данных (Input Dataset). Итерации выполняются только для набора данных пространственных объектов.
У инструмента два выходных элемента данных:
- Набор данных (Dataset) (Landbase and Water).
- Переменная Имя (Name), которая используется во встроенной переменной %Name% в выходных данных инструмента Копировать.
Итерировать классы объектов
Чтобы понять использование инструмента Итерировать классы объектов (Iterate Feature Classes) в ModelBuilder, посмотрите на рисунок ниже, где модель ищет плотность населения для каждого класса объектов Block и Parcel в переменной Входные классы объектов (Input Feature Classes).
Итерации ограничены выбором Типа объекта (Feature Type) как POLYGON; следовательно, итератор работает только с полигональными классами объектов Block и Parcel.
У инструмента два выходных элемента данных:
- Выходная переменная Классы объектов (Feature Class) (Block и Parcel), соединенная с инструментом Добавить поле в качестве выходных данных.
- Переменная Имя (Block and Parcel, в этом примере), которую можно использовать как встроенную переменную %Name% в других инструментах.
Итерировать файлы
Чтобы понять использование Итерировать файлы (Iterate Files) в ModelBuilder, посмотрите на рисунок ниже, где у переменной Входная папка (Input Folder) есть список файлов ASCII, которые надо конвертировать в растр. Итерация ограничена групповым символом f* и расширением файла .txt, поэтому выполняться итерации будут только для текстовых файлов, начинающихся с буквы F.
У инструмента два выходных элемента данных:
- Переменная Файл (File) (focaldem1.txt, focaldem2.txt или focaldem3.txt) соединена как входная с инструментом ASCII в растр.
- Переменная Имя (Name) содержит имя текстового файла (focaldem1, focaldem2 или focaldem3). Эта переменная Имя используется в выходном значении следующего инструмента как встроенная переменная %Name%.
Итерировать растры
Чтобы понять использование инструмента Итерировать растры (Iterate Rasters) в ModelBuilder, посмотрите на рисунок ниже, где модель пересчитывает наборы данных грида и выделяет подмножество для следующего анализа.
Переменная Входные растры (Input Rasters) - это папка, содержащая гриды, изображения и TIFF-файлы. В этом случае итерации ограничены групповым символом A* и типом растра GRID, так что выполняются итерации только для гридов, начинающихся с буквы A.
У инструмента два выходных элемента данных:
- Выходная переменная Растр (Raster) (Aland, Aparcel и Aroad) соединена как входные данные с инструментом Изменить разрешение.
- Переменная Имя, которая используется в выходном имени инструментов Изменить разрешение и Извлечь поднабор данных как встроенная переменная %Name%.
Итерировать таблицы
Чтобы понять использование Итерировать таблицы (Iterate Tables) в ModelBuilder, посмотрите на рисунок ниже, где модель переносит таблицы Landcover (почвенно-растительного покрова) каждого штата с типом Landcover и суммирует статистику - как сумму площадей—для каждого класса почвенно-растительного покрова.
Переменная Входная рабочая область (Input workspace) - это папка, содержащая таблицы. Итерации ограничены групповым символом L* и типом таблицы DBASE, поэтому итерации выполняются только для таблиц DBASE, начинающихся с буквы L.
У инструмента два выходных элемента данных:
- Переменная Выходная таблица (Output Table) (Landcover_Arizona, Landcover_California и Landcover_Nevada) соединена с инструментом Сводная таблица (Pivot Table) как входные данные.
- Переменная Имя, которая используется как встроенная переменная %Name% в выходных именах инструментов Сводная таблица и Суммарная статистика.
Итерировать рабочие области
Чтобы понять использование Итерировать рабочие области (Iterate Workspaces) в ModelBuilder, посмотрите на пример ниже, где модель создает новую мозаику с помощью растров, хранящихся в базе геоданных Arizona, которая находится внутри папки.
Итерации ограничены групповым символом Ar* и типом рабочей области FILEGDB, поэтому выполняются только для файловых баз геоданных с именами, начинающимися с букв Ar.
У инструмента два выходных элемента данных:
- Переменная Выходная рабочая область (Arizona GDB) соединена с инструментом Рабочая область в набор растровых данных как входные данные.
- Переменная Имя, которую можно использовать как встроенную переменную %Name% в выходном имени следующих инструментов.