Работа с моделью внутри другой модели

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

Вы создадите модель с моделью внутри, такие модели также называют вложенными. Модель пройдет по нескольким классам объектов, спроецирует их, а затем выполнит их слияние с одним классом объектов.

Готовая модель

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

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

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

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

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

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

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

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

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

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

  1. На панели Каталог щелкните вкладку Проект. Перейдите к Папки > ModelWithinModel > MyProjectTools.
  2. Щелкните правой кнопкой MyProjectTools и затем Новый. Выберите Модель, чтобы создать и открыть модель.
  3. На ленте щелкните вкладку ModelBuilder. В группе Модель щелкните СвойстваСвойства. В диалоговом окне Свойства инструментов введите ProjectMainModel для Имени и Project Main-Model для Надписи.
  4. На ленте над вкладкой ModelBuilder в группе Модель щелкните кнопку Сохранить Сохранить, чтобы сохранить изменения.
  5. Создайте другую модель с Именем ProjectSubModel и Надписью Project Sub-Model.
  6. В модели Project Sub-Model добавьте инструмент Итерировать классы объектов.
    1. На ленте щелкните вкладку ModelBuilder.
    2. В группе Вставить щелкните ИтераторыИтераторы.
    3. В списке Итераторы щелкните Итерировать классы объектов.

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

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

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

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

    Инструмент Собрать значения будет добавлен в модель Project Sub-Model.

  8. Добавить инструмент Проецировать.
    1. Щелкните в модели и введите Проецировать, чтобы открыть диалоговое окно Добавить инструменты в модель.
    2. Найдите инструмент Проецировать.
    3. Дважды щелкните инструмент Проецировать, чтобы добавить его в модель.

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

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

  1. Дважды щелкните итератор Итерировать классы объектов, чтобы открыть его диалоговое окно.
    1. Для параметра Рабочая область или набор данных объектов перейдите к базе геоданных ToolData.gdb.
    2. Примите значения по умолчанию для всех остальных параметров и щелкните OK.

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

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

  2. Щелкните правой кнопкой результат работы итератора и выберите Переименовать. Введите в качестве имени Feature Class.
  3. Дважды щелкните инструмент Проецировать, чтобы открыть его диалоговое окно.
    1. Для значения Входной набор данных или класс объектов выберите из раскрывающегося списка Feature Class.
    2. Для параметра Выходной набор данных или класс объектов перейдите к <Your Project Location>\ScratchCommon.gdb и введите %Name%_Projected.
    3. Для параметра Выходная система координат выберите Projected Coordinate System > State Plane > NAD 1983 (Meters) > NAD 1983 StatePlane Oregon North FIPS 3601 (Meters).
    4. Сохраните для всех остальных параметров значения по умолчанию и нажмите OK, чтобы закрыть диалоговое окно инструмента Проецировать.

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

    Внимание:

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

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

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

  5. Щелкните правой кнопкой входную переменную итератора и выберите Параметр.

    Рядом с ней появится буква P, которая укажет на то, что переменная является параметром модели.

  6. Аналогичным образом создайте параметр модели из результатов работы инструмента Собрать значения.
  7. Для выравнивания элементов модели щелкните кнопку Автокомпоновка Авто-компоновка на вкладке ModelBuilder и затем кнопку Вписать в окно Вписать в окно, чтобы компоновка модели максимально вписалась в размер окна на экране.
  8. Нажмите кнопку Сохранить Сохранить на вкладке ModelBuilder, чтобы сохранить модель и закройте модель Project Sub-Model.
  9. В модели Project Main-Model найдите инструмент Слияние и добавьте его в модель.
  10. На панели Каталога перейдите к только что созданной модели Project Sub-Model. Перетащите модель Project Sub-Model в модель Project Main-Model.

    Вложенная модель будет добавлена в основную модель. Параметры подмодели будут добавлены в основную модель как переменные (темно-синий овал для ToolData.gdb и зеленый овал для Output Values).

  11. Наведите указатель мыши на итоговую переменную Project Sub-Model Output Values (зеленый овал). Щелкните и перетащите соединительную линию к инструменту Слияние. Отпустите кнопку мыши и нажмите Входные наборы данных во всплывающем меню.

    При этом появится соединение между подмоделью и инструментом Слияние.

    Настройка параметра Входные наборы данных для инструмента Слияние

  12. Дважды щелкните инструмент Слияние, чтобы открыть его диалоговое окно. Для параметра Выходной набор данных перейдите к базе геоданных <Your Project Location>\ScratchCommon.gdb и введите ProjectedFC_Merge. Оставьте значение по умолчанию для параметра Сопоставить поля и нажмите OK, чтобы закрыть диалоговое окно.

    Настройка параметра Выходные наборы данных для инструмента Слияние

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

  13. Переименуйте результат работы инструмента Слияние в Merged Feature Class. Переименуйте другие переменные модели, как это показано в итоговой модели.

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

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

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

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

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

    Модель запустит вложенную модель и пройдет по всем классам объектов, спроецирует их и создаст результат в базе геоданных ScratchCommon.gdb. Инструмент Собрать значения собирает результаты работы подмодели и передает эти наборы данных в параметр Входные наборы данных инструмента Слияние. Инструмент Слияние запускается только один раз и выдает объединенный результат.

    Результат работы модели с вложенной моделью
  4. Закройте модель и ArcGIS Pro.