Работа с инструментом Итерировать классы объектов

Краткая информация

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

Параметры инструмента Итерировать классы объектов

  • Входные классы объектов (входные данные)—рабочая область или набор данных объектов, в котором хранятся классы объектов, которые нужно итерировать.
  • Символ подстановки (дополнительные входные данные)—комбинация звездочек и символов, которая используется для ограничения результатов. Символ звездочки означает ВСЕ. Если символ подстановки не задан, то будут обрабатываться все входные данные.
  • Тип объектов (дополнительный параметр для входных данных)—тип объектов, используется как фильтр. Выходными данными будут только объекты заданного типа. Не заданный тип объекта означает, что будут использоваться все типы объектов.
  • Рекурсивный (дополнительный параметр для входных данных)—определяет, будет ли итератор проходить по всем подпапкам в основной рабочей области.
  • Класс объектов (выходные данные)—полный путь к классу объектов.
  • Имя (выходные данные)—имя класса объектов.

В этом упражнении вы создадите модель (см.ниже), чтобы итерировать и проецировать каждый класс объектов во входной рабочей области модели и используете выходной параметр Name как встроенную переменную в имени выходного Класса объектов инструмента Проецировать. В упражнении вы шаг за шагом пройдете по всем опциям параметров итератора, чтобы узнать об их функциональности.

Готовая модель для итерации и проецирования классов объектов

Предварительные условия

Если вы только начинаете работать с ModelBuilder, изучите следующие разделы:

Открытие проекта

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

  1. Откройте обзорную страницу Работа с Итерировать классы объектов.
  2. Щелкните Скачать в правой части страницы.
  3. Щелкните правой кнопкой мыши на загруженном файле IterateFeatureClasses.zip и извлеките его в подходящую папку, например, C:\Temp.
  4. В извлеченной папке IterateFeatureClasses дважды щелкните на файле проекта ArcGIS Pro, IterateFeatureClasses.aprx.

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

  5. Изучите данные на панели Каталог и при необходимости нажмите вкладку Проект. Перейдите к Папки > IterateFeatureClasses.

    В папке Data есть подпапки, в каждой из них есть классы объектов, по которым пройдет итератор и которые будут затем спроецированы в модели. Результаты этого упражнения будут сохранены в трех базах геоданных Scratch* .

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

Вы создадите модель в наборе инструментов MyProjectTools. Чтобы добавить инструмент в модель, выполните следующие шаги:

  1. На панели Каталог щелкните вкладку Проект. Перейдите к Папки > IterateFeatureClasses > MyProjectTools.
  2. Щелкните правой кнопкой MyProjectTools и затем Новый. Выберите Модель, чтобы создать и открыть модель.
  3. Добавьте инструмент Итерировать классы объектов.
    1. Перейдите на вкладку ModelBuilder.
    2. В группе Вставить щелкните ИтераторыИтераторы.
    3. В списке Итераторы щелкните Итерировать классы объектов.

    Добавление инструмента Итерировать классы объектов

    Итератор Итерировать классы объектов будет добавлен в модель. Пока итератор недоступен, потому что для него не заданы значения параметров.

  4. Добавить инструмент Проецировать.
    1. Щелкните в модели и введите Проецировать, чтобы открыть диалоговое окно Добавить инструменты в модель.
    2. Найдите инструмент Проецировать.
    3. Дважды щелкните инструмент Проецировать, чтобы добавить его в модель.
  5. Добавьте инструмент Собрать значения.
    1. Перейдите на вкладку ModelBuilder.
    2. В группе Вставить щелкните Утилиты Утилиты.
    3. В списке Утилиты нажмите Собрать значения, чтобы добавить инструмент Собрать значения в модель.

    Добавление инструмента Собрать значения

Настройка параметров и соединение инструментов

После добавления инструментов в модель необходимо настроить параметры для каждого из них.

  1. Дважды щелкните итератор Итерировать классы объектов, чтобы открыть его диалоговое окно.
    1. Для параметра Рабочая область или набор данных объектов перейдите к Папки > IterateFeatureClasses > Data.
    2. Поставьте отметку для опции Рекурсия, чтобы итератор прошел по всем классам объектов во всех подпапках.
    3. Остальные параметры оставьте пустыми и щелкните OK.

    Диалоговое окно инструмента Итерировать классы объектов

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

  2. Дважды щелкните инструмент Проецировать, чтобы открыть его диалоговое окно.
    1. Щелкните ниспадающую стрелку параметра Входной набор данных или класс объектов и выберите Metro_Entrances.shp.
    2. Для параметра Выходной набор данных или класс объектов перейдите к базе геоданных <Your Project Location>\IterateFeatureClasses\ScratchAllFC.gdb и введите %Name%_Project.
    3. Щелкните кнопку Система координат Система координат для параметра Выходная система координат, чтобы открыть диалоговое окно Система координат. Выберите Projected Coordinate System > Continental > Europe > Europe Albers Equal Area Conic. Нажмите OK, чтобы закрыть диалоговое окно.
    4. Сохраните NTF_TO_ED_1950 для метода Географическое преобразование.
    5. Щелкните OK, чтобы закрыть диалоговое окно инструмента Проецировать, после того, как все параметры будут заполнены.

    Диалоговое окно инструмента Проецировать

    Внимание:

    Если у ваших входных классов объектов разные системы координат, то добавленное географическое преобразование может некорректно применяться к некоторым наборам данных. Вы должны проверить, какие системы координат используются во входных данных и какой метод географического преобразования к ним применяется. Используйте в таком случае параметр итератора Подстановочный символ, чтобы выборочно использовать нужные классы объектов. Подробнее об использовании подстановочных символов вы узнаете в разделе Использование дополнительного параметра Символ подстановки.

  3. Наведите указатель мыши на выходную переменную инструмента Проецировать. Щелкните и перетащите соединительную линию к инструменту Собрать значения. Отпустите кнопку мыши и нажмите Ввести значение во всплывающем меню. Инструмент Собрать значения является вспомогательным инструментом для сбора выходных значений каждой итерации в единый набор выходных данных с разными значениями.
  4. Переименуйте переменные модели, как это показано в итоговой модели.
  5. Для выравнивания элементов модели щелкните кнопку Автокомпоновка Авто-компоновка на вкладке ModelBuilder и затем кнопку Вписать в окно Вписать в окно, чтобы компоновка модели максимально вписалась в размер окна на экране.

Запуск модели

Вы проверите и запустите модель. Вы изучите результаты в ScratchAllFC.gdb и подтвердите, что все классы объектов в папке Data были обработаны и проецированы.

  1. Щелкните правой кнопкой мыши на результате работы инструмента Собрать значения и щелкните Добавить к изображению.

    Результаты будут добавлены на карту после запуска модели.

  2. Щелкните кнопку Сохранить Сохранить на вкладке ModelBuilder чтобы сохранить модель.
  3. Щелкните кнопку Запуск Запустить на вкладке ModelBuilder чтобы запустить модель.
    Результат работы модели Итерировать классы объектов

    Модель проходит по всем классам объектов в папке Data, проецирует их и создает результаты в базе геоданных ScratchAllFC.gdb.

Использование дополнительного параметра Подстановочный символ

В этом разделе вы узнаете, как работать с дополнительным параметром итератора Подстановочный символ.

  1. После того, как вы выполнили шаги выше и создали выходные спроецированные классы объектов, дважды щелкните и откройте инструмент Итерировать классы объектов.
  2. Введите Metro* для параметра Подстановочный символ. Оставьте отмеченной опцию Рекурсия. Это будет гарантировать, что модель пройдет по всем подпапкам, но при этом спроецированы будут только классы объектов, имена которых начинаются с Metro. Во время запуска символ * будет заменен остальными символами имен классов объектов, начинающимися с Metro.
  3. Щёлкните на кнопке OK, чтобы закрыть диалоговое окно инструмента.
  4. Откройте диалоговое окно инструмента Проецировать и измените опцию Выходной набор данных или класс объектов на <Your Project Location>\IterateFeatureClasses\ScratchWildCard.gdb\%Name%_Project.
  5. Нажмите OK, чтобы закрыть диалоговое окно.
  6. Щелкните кнопку Сохранить Сохранить на вкладке ModelBuilder чтобы сохранить модель.
  7. Щелкните кнопку Запуск Запустить на вкладке ModelBuilder чтобы запустить модель.
    Результат работы модели Итерировать классы объектов с Подстановочным символом

    Модель проходит по всем классам объектов с именами, начинающимися на Metro, проецирует их и создает результаты в базе геоданных ScratchWildCard.gdb.

Использование дополнительных параметров Подстановочный символ и Тип объекта

В этом разделе вы узнаете, как работать с дополнительным параметром итератора Тип объекта.

  1. После того, как вы выполнили шаги и раздела Использование дополнительного параметра Подстановочный символ и создали выходные спроецированные классы объектов, дважды щелкните и откройте инструмент Итерировать классы объектов.
  2. В раскрывающемся списке параметра Тип объекта выберите опцию Линия. Это будет гарантировать, что модель пройдет по Линейным классам объектов, имена которых начинаются с Metro.
  3. Щёлкните на кнопке OK, чтобы закрыть диалоговое окно инструмента.
  4. Откройте диалоговое окно инструмента Проецировать и измените опцию Выходной набор данных или класс объектов на <Your Project Location>\IterateFeatureClasses\ScratchOnlyLine.gdb\%Name%_Project.
  5. Щелкните кнопку Сохранить Сохранить на вкладке ModelBuilder чтобы сохранить модель.
  6. Щелкните кнопку Запуск Запустить на вкладке ModelBuilder чтобы запустить модель.
    Результат работы модели Итерировать классы объектов с Подстановочным символом и Типом объектов

    Модель проходит по всем классам объектов с именами, начинающимися на Metro, проецирует их и создает результаты в базе геоданных ScratchOnlyLine.gdb.

  7. Закройте модель и ArcGIS Pro.