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

Краткое описание

Инструмент Итерировать выборку объектов проходит по всем объектам в классе.

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

В этом упражнении вы создадите модель для итерации по объектам, сгруппированным по регионам в классе объектов (штаты США) и создадите 8 классов объектов, по одному для каждой группы или региона. Значение поля (регион) используется для разбиения классов объектов, также оно будет использоваться в качестве имени для выходного класса объектов. Имена регионов включают пробелы. Например, Pacific West Region, Mid Atlantic Region и пр. Пробелы в составе названий элементов в базе геоданных недопустимы. Чтобы удалить ненужные пробелы, выходной параметр итератора Value (имя региона) будет изменен на использование в качестве встроенной переменной в инструменте Вычислить значение (%Value%). Результат работы инструмента Вычислить значение в итоге будет использоваться в качестве встроенной переменной в имени результата работы инструмента Копировать объекты (%Name%). Результат работы инструмента Копировать объекты связывается с инструментом Собрать значения, который собирает результаты каждой итерации и выдает единый результат со множеством значений.

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

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

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

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

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

    База геоданных ToolData.gdb содержит класс объектов States, который будет использоваться в качестве входных данных модели.

    Результаты работы модели будут записываться в базу геоданных ScratchStates.gdb.

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

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

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

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

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

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

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

    Инструмент Вычислить значение будет добавлен в модель.

  5. Добавьте в модель инструмент Собрать значения, как это описано в предыдущем шаге.
  6. Добавьте инструмент Копировать объекты.
    1. Щелкните в модели и введите Копировать объекты, чтобы открыть диалоговое окно Добавить инструменты в модель.
    2. Найдите инструмент Копировать объекты.
    3. Дважды щелкните инструмент Копировать объекты, чтобы добавить его в модель.

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

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

  1. Дважды щелкните итератор Итерировать выборку объектов, чтобы открыть его диалоговое окно.
    1. Для параметра В объектах перейдите к <Your Project Location>\IterateFeatureSelection\ToolData.gdb и выберите класс объектов States.
    2. Остальные параметры оставьте пустыми и щелкните OK.

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

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

  2. Щелкните правой кнопкой на итераторе Выборка объектов и затем Создать переменную > Из параметра > Группировать по полям, чтобы добавить параметр Группировать по полю в модель в качестве переменной.
    1. Дважды щелкните переменную модель Группировать по полю и из ниспадающего списка выберите Region.
    2. Нажмите OK, чтобы закрыть диалоговое окно.

    Настройка Группировать полю в инструменте Итерировать выборку объектов

    Значение поля Region будет использоваться для выбора объектов в каждой итерации.

  3. Щелкните дважды на элементе Вычислить значение, чтобы открыть диалоговое окно инструмента. Для параметра Выражение введите "%Value%".replace(" ","") и измените Тип данных на String.

    Выражение состоит из следующих частей:

    Диалоговое окно инструмента Вычислить значение

    В ходе запуска %Value%, которое представляет собой название региона в выходном параметре итератора (голубой овал), будет заменено на значение переменной, например, Pacific West Region, Mid Atlantic Region и пр.

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

    Наведите указатель мыши на выходную переменную Value (голубой овал) инструмента Итерировать выборку объектов. Щелкните и перетащите соединительную линию к инструменту Вычислить значение. Отпустите кнопку мыши и нажмите Предварительное условие во всплывающем меню.

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

  6. Щелкните правой кнопкой мыши переменную States (темно-синий овал) и затем Переименовать. В качестве нового имени введите Входной класс объектов. Аналогично переименуйте результат работы итератора I_States (зеленый овал) на Выбранные объекты, а результат инструмента Вычислить значение на Название.
  7. Наведите указатель мыши на выходную переменную Название (зеленый овал) инструмента Вычислить значение. Щелкните и перетащите соединительную линию к инструменту Копировать объекты. Отпустите кнопку мыши и нажмите Предварительное условие во всплывающем меню.
  8. Щелкните дважды на инструменте Копировать объекты, чтобы открыть диалоговое окно инструмента.
    1. Во Входных объектах из ниспадающего списка выберите Выбранные объекты.
    2. Для параметра Выходной класс объектов перейдите к базе геоданных <Your Project Location>\ScratchStates.gdb и введите %Название%.

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

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

  9. Наведите указатель мыши на выходную переменную (зеленый овал) инструмента Копировать объекты. Щелкните и перетащите соединительную линию к инструменту Собрать значения. Отпустите кнопку мыши и нажмите Ввести значение во всплывающем меню.
  10. Переименуйте переменные модели, как это показано в итоговой модели.
  11. Для выравнивания элементов модели щелкните кнопку Автокомпоновка Авто-компоновка на вкладке ModelBuilder, а затем кнопку Вписать в окно Вписать в окно, чтобы компоновка модели вписалась в максимальный размер окна на экране.

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

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

    Результат будет добавлен на карту.

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

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

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