ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Пример использования итератора в модели

Чтобы продемонстрировать работу итератора, в примере берется итератор Итерировать классы объектов (Iterate Feature Classes) и при помощи него проецируются все классы пространственных объектов в рабочей области, динамически присваивается имя всем выходным данным инструмента Проецировать (Project) на основе имени входных данных с использованием подстановки встроенной переменной (inline variable substitution) и добавляется новое поле во все классы пространственных объектов.

  1. Для итератора Итерировать классы объектов (Iterate Feature Classes) указана рабочая область, т. е. область, все классы пространственных объектов в которой следует итерировать.
  2. Классы объектов для итерации ограничены указанием группового символа и типа объекта (обрабатываться будет только полигональный класс пространственных объектов с именем, начинающимся на I).
  3. Итерировать классы объектов (Iterate Feature Classes) производит выходные данные двух видов: обработанный класс пространственных объектов и имя класса объектов. Переменная класса пространственных объектов связана в качестве входных данных с инструментом Проецировать (Project), а переменная имени класса объектов используется для подстановки встроенной переменной, чтобы динамически присвоить имена всем выходным данным инструмента Проецировать (Project) с тем же именем входного класса объектов.
  4. В каждый класс пространственных объектов добавляется новое поле путем подсоединения инструмента Добавить поле (Add Field).
Пример итератора
Примечание:

  • Для каждой модели можно использовать только один итератор. Если в модели уже имеется итератор, опции для добавления еще одного итератора будут отключены.
  • Если в модель добавлен итератор, все инструменты модели будут повторяться для каждого значения в итераторе. Если вы не хотите запускать каждый инструмент в модели для каждого значения итерации, создайте субмодель/модель в пределах модели/вложенной модели (sub-model/model within a model/nested model), которая содержит только итератор, и добавьте ее как инструмент модели в основную модель.
  • Если модель, содержащая итератор, экспортируется в скрипт Python, логика циклов не передается. Логику списков Python (Python listing logic) можно добавить в скрипт для достижения подобного эффекта.
  • Использование итератора устанавливает по умолчанию значение -1 в разделе Опции Итератора (Iteration Options) меню Свойства модели (Model Properties), что означает, что модель будет запускаться или неограниченное количество раз или столько раз, сколько задано входных объектов в итераторе, а не какое-то определенное количество раз.
  • Выходные данные любого из инструментов, связанных с итератором, могут иметь (если нужно) уникальное имя для каждой итерации, что предотвращает перезапись на
    • Использование системной переменной %n%, например C:\Scratch\scratch.gdb\output_%n%.
    • Использование выходного Имени (Name) или Значения (Value) итератора, используемого в модели в качестве встроенной переменной, например C:\Scratch\scratch.gdb\output_%Name%, C:\Scratch\scratch.gdb\output_%Value%.
    • Использование любой другой переменной в модели в качестве встроенной переменной; например, если имеется переменная XYZ, имя выходных данных может выглядеть следующим образом: C:\Scratch\scratch.gdb\output_%XYZ%. Эта переменная не должна содержать постоянное значение, это значение должно меняться для каждой итерации; в противном случае файл будет перезаписываться при каждой итерации.
  • Выходные значения инструмента с отмеченной опцией Добавить в отображение добавляются в отображение ArcMap с использованием имени переменной. Если вы хотите добавить выходные данные каждой итерации, чтобы они показывались в ArcMap с действительным уникальным именем, а не с именем переменной:
    1. Соедините выходные данные, которые вы хотите показывать, с инструментом Собрать значения (Collect Values).
    2. Щелкните правой кнопкой мыши по выходным данным инструмента Собрать значения (Collect Values) и отметьте опцию Добавить к изображению (Add to Display).
    3. Если модель запускается в диалоговом окне инструмента модели, сделайте выходное значение Собрать значение (Collect Value) параметром модели, так как только выходные параметры модели можно добавить для отображения.

Связанные разделы

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

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация