Краткая информация
Инструмент Итерировать классы объектов проходит по всем классам объектов в рабочей области или наборе классов. Каждый итератор имеет ряд параметров, которые могут отличаться от других итераторов, но общая структура всех инструментов итератора весьма аналогична. Ниже описан инструмент Итерировать классы объектов:
- Входные классы объектов (входные данные)—рабочая область или набор данных объектов, в котором хранятся классы объектов, которые нужно итерировать.
- Символ подстановки (дополнительные входные данные)—комбинация звездочек и символов, которая используется для ограничения результатов. Символ звездочки означает ВСЕ. Если символ подстановки не задан, то будут обрабатываться все входные данные.
- Тип объектов (дополнительный параметр для входных данных)—тип объектов, используется как фильтр. Выходными данными будут только объекты заданного типа. Не заданный тип объекта означает, что будут использоваться все типы объектов.
- Рекурсивный (дополнительный параметр для входных данных)—определяет, будет ли итератор проходить по всем подпапкам в основной рабочей области.
- Класс объектов (выходные данные)—полный путь к классу объектов.
- Имя (выходные данные)—имя класса объектов.
В этом упражнении вы создадите модель (см.ниже), чтобы итерировать и проецировать каждый класс объектов во входной рабочей области модели и используете выходной параметр Name как встроенную переменную в имени выходного Класса объектов инструмента Проецировать. В упражнении вы шаг за шагом пройдете по всем опциям параметров итератора, чтобы узнать об их функциональности.
Предварительные условия
Если вы только начинаете работать с ModelBuilder, изучите следующие разделы:
Открытие проекта
Скачайте проект для упражнения. Проект включает входные данные, выходную базу геоданных и готовую модель.
- Откройте обзорную страницу Работа с Итерировать классы объектов.
- Щелкните Скачать в правой части страницы.
- Щелкните правой кнопкой мыши на загруженном файле IterateFeatureClasses.zip и извлеките его в подходящую папку, например, C:\Temp.
- В извлеченной папке IterateFeatureClasses дважды щелкните на файле проекта ArcGIS Pro, IterateFeatureClasses.aprx.
Откроется проект с пустой картой, он будет использоваться для просмотра результатов работы модели, которую вы создадите в этом упражнении.
- Изучите данные на панели Каталог и при необходимости нажмите вкладку Проект. Перейдите к Папки > IterateFeatureClasses.
В папке Data есть подпапки, в каждой из них есть классы объектов, по которым пройдет итератор и которые будут затем спроецированы в модели. Результаты этого упражнения будут сохранены в трех базах геоданных Scratch* .
Добавление инструментов
Вы создадите модель в наборе инструментов MyProjectTools. Чтобы добавить инструмент в модель, выполните следующие шаги:
- На панели Каталог щелкните вкладку Проект. Перейдите к Папки > IterateFeatureClasses > MyProjectTools.
- Щелкните правой кнопкой MyProjectTools и затем Новый. Выберите Модель, чтобы создать и открыть модель.
- Добавьте инструмент Итерировать классы объектов.
- Перейдите на вкладку ModelBuilder.
- В группе Вставить щелкните Итераторы.
- В списке Итераторы щелкните Итерировать классы объектов.
Итератор Итерировать классы объектов будет добавлен в модель. Пока итератор недоступен, потому что для него не заданы значения параметров.
- Добавить инструмент Проецировать.
- Щелкните в модели и введите Проецировать, чтобы открыть диалоговое окно Добавить инструменты в модель.
- Найдите инструмент Проецировать.
- Дважды щелкните инструмент Проецировать, чтобы добавить его в модель.
- Добавьте инструмент Собрать значения.
- Перейдите на вкладку ModelBuilder.
- В группе Вставить щелкните Утилиты .
- В списке Утилиты нажмите Собрать значения, чтобы добавить инструмент Собрать значения в модель.
Настройка параметров и соединение инструментов
После добавления инструментов в модель необходимо настроить параметры для каждого из них.
- Дважды щелкните итератор Итерировать классы объектов, чтобы открыть его диалоговое окно.
- Для параметра Рабочая область или набор данных объектов перейдите к Папки > IterateFeatureClasses > Data.
- Поставьте отметку для опции Рекурсия, чтобы итератор прошел по всем классам объектов во всех подпапках.
- Остальные параметры оставьте пустыми и щелкните OK.
Входная рабочая область добавляется в модель в виде переменной (темно-синий овал) и меняет цвет итератора, указывая на то, что необходимые параметры были указаны и он готов к запуску.
Подсказка:
Более подробно об элементах модели - Дважды щелкните инструмент Проецировать, чтобы открыть его диалоговое окно.
- Щелкните ниспадающую стрелку параметра Входной набор данных или класс объектов и выберите Metro_Entrances.shp.
- Для параметра Выходной набор данных или класс объектов перейдите к базе геоданных <Your Project Location>\IterateFeatureClasses\ScratchAllFC.gdb и введите %Name%_Project.
- Щелкните кнопку Система координат для параметра Выходная система координат, чтобы открыть диалоговое окно Система координат. Выберите Projected Coordinate System > Continental > Europe > Europe Albers Equal Area Conic. Нажмите OK, чтобы закрыть диалоговое окно.
- Сохраните NTF_TO_ED_1950 для метода Географическое преобразование.
- Щелкните OK, чтобы закрыть диалоговое окно инструмента Проецировать, после того, как все параметры будут заполнены.
Внимание:
Если у ваших входных классов объектов разные системы координат, то добавленное географическое преобразование может некорректно применяться к некоторым наборам данных. Вы должны проверить, какие системы координат используются во входных данных и какой метод географического преобразования к ним применяется. Используйте в таком случае параметр итератора Подстановочный символ, чтобы выборочно использовать нужные классы объектов. Подробнее об использовании подстановочных символов вы узнаете в разделе Использование дополнительного параметра Символ подстановки.
- Наведите указатель мыши на выходную переменную инструмента Проецировать. Щелкните и перетащите соединительную линию к инструменту Собрать значения. Отпустите кнопку мыши и нажмите Ввести значение во всплывающем меню. Инструмент Собрать значения является вспомогательным инструментом для сбора выходных значений каждой итерации в единый набор выходных данных с разными значениями.
- Переименуйте переменные модели, как это показано в итоговой модели.
- Для выравнивания элементов модели щелкните кнопку Автокомпоновка на вкладке ModelBuilder и затем кнопку Вписать в окно , чтобы компоновка модели максимально вписалась в размер окна на экране.
Запуск модели
Вы проверите и запустите модель. Вы изучите результаты в ScratchAllFC.gdb и подтвердите, что все классы объектов в папке Data были обработаны и проецированы.
- Щелкните правой кнопкой мыши на результате работы инструмента Собрать значения и щелкните Добавить к изображению.
Результаты будут добавлены на карту после запуска модели.
- Щелкните кнопку Сохранить на вкладке ModelBuilder чтобы сохранить модель.
- Щелкните кнопку Запуск на вкладке ModelBuilder чтобы запустить модель.
Модель проходит по всем классам объектов в папке Data, проецирует их и создает результаты в базе геоданных ScratchAllFC.gdb.
Использование дополнительного параметра Подстановочный символ
В этом разделе вы узнаете, как работать с дополнительным параметром итератора Подстановочный символ.
- После того, как вы выполнили шаги выше и создали выходные спроецированные классы объектов, дважды щелкните и откройте инструмент Итерировать классы объектов.
- Введите Metro* для параметра Подстановочный символ. Оставьте отмеченной опцию Рекурсия. Это будет гарантировать, что модель пройдет по всем подпапкам, но при этом спроецированы будут только классы объектов, имена которых начинаются с Metro. Во время запуска символ * будет заменен остальными символами имен классов объектов, начинающимися с Metro.
- Щёлкните на кнопке OK, чтобы закрыть диалоговое окно инструмента.
- Откройте диалоговое окно инструмента Проецировать и измените опцию Выходной набор данных или класс объектов на <Your Project Location>\IterateFeatureClasses\ScratchWildCard.gdb\%Name%_Project.
- Нажмите OK, чтобы закрыть диалоговое окно.
- Щелкните кнопку Сохранить на вкладке ModelBuilder чтобы сохранить модель.
- Щелкните кнопку Запуск на вкладке ModelBuilder чтобы запустить модель.
Модель проходит по всем классам объектов с именами, начинающимися на Metro, проецирует их и создает результаты в базе геоданных ScratchWildCard.gdb.
Использование дополнительных параметров Подстановочный символ и Тип объекта
В этом разделе вы узнаете, как работать с дополнительным параметром итератора Тип объекта.
- После того, как вы выполнили шаги и раздела Использование дополнительного параметра Подстановочный символ и создали выходные спроецированные классы объектов, дважды щелкните и откройте инструмент Итерировать классы объектов.
- В раскрывающемся списке параметра Тип объекта выберите опцию Линия. Это будет гарантировать, что модель пройдет по Линейным классам объектов, имена которых начинаются с Metro.
- Щёлкните на кнопке OK, чтобы закрыть диалоговое окно инструмента.
- Откройте диалоговое окно инструмента Проецировать и измените опцию Выходной набор данных или класс объектов на <Your Project Location>\IterateFeatureClasses\ScratchOnlyLine.gdb\%Name%_Project.
- Щелкните кнопку Сохранить на вкладке ModelBuilder чтобы сохранить модель.
- Щелкните кнопку Запуск на вкладке ModelBuilder чтобы запустить модель.
Модель проходит по всем классам объектов с именами, начинающимися на Metro, проецирует их и создает результаты в базе геоданных ScratchOnlyLine.gdb.
- Закройте модель и ArcGIS Pro.