Работа с инструментом Итерировать многозначные

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

Инструмент Итерировать многозначные проходит по списку значений.

Готовая модель для итерации по многозначным

В этом упражнении инструмент Итерировать многозначные используется для работы с данными об аэропортах, съездов с автомагистралей и зонах отдыха. Другими входными данными будут точечные классы объектов, при этом модель вычислит ближайшее расстояние до каждой точки в классе объектов по отношению к аэропортам, съездам с автомагистралей и зонам отдых с помощью инструмента Близость. Инструмент Близость добавляет поле со значением расстояния для каждой входной точки по отношению к ближайшему объекту в классе, а значения в поле перезаписываются в ходе каждой итерации. Чтобы не потерять значения расстояний, которые получаются в ходе каждой итерации, модель будет добавлять поле и копировать в него значения расстояний с помощью инструмента Вычислить поле. Инструмент Анализировать путь используется для извлечения имени класса ближайших объектов (аэропорты, съезды и зоны отдыха). Затем эти имена используются в качестве имен полей в инструменте Добавить поле.

Иллюстрация рабочего процесса

На этом рисунке показан поднабор карты входного класса точечных объектов и всех классов объектов, для которых будет рассчитано ближайшее расстояние. Таблица атрибутов входного точечного класса объектов показывает добавленное поле и значения, которые были вычислены для каждого из входных классов ближайших объектов.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Добавление инструмента Анализировать путь

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

  5. Добавить инструмент Близость.
    1. Щелкните в модели и введите Близость, чтобы открыть диалоговое окно Добавить инструменты в модель.
    2. Найдите инструмент Близость.
    3. Дважды щелкните инструмент Близость, чтобы добавить его в модель.
  6. Аналогичным образом добавьте в модель инструменты Добавить поле и Вычислить поле.

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

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

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

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

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

  2. Щелкните правой кнопкой результат работы итератора и выберите Переименовать. Введите Значение в качестве имени и нажмите Enter. Это переименует выходную переменную итератора.
  3. Дважды щелкните инструмент Близость, чтобы открыть его диалоговое окно.
    1. Для параметра Входные объекты перейдите к <Your Project Location>\IterateMultivalue\ToolData.gdb и выберите класс объектов PointLocation.
    2. Для параметра Ближайшие объекты из ниспадающего списка выберите Значение.

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

    Остальные параметры оставьте по умолчанию и щелкните OK. При этом появится соединение между выходным значением итератора и инструментом Близость.

  4. Дважды щелкните инструмент Анализировать путь, чтобы открыть его диалоговое окно и выбрать Значение из ниспадающего списка для параметра Входные значения.

    Диалоговое окно инструмента Анализировать путь

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

  5. Наведите указатель мыши на выходную переменную (зеленый овал) инструмента Близость. Щелкните и перетащите соединительную линию к инструменту Добавить поле. Отпустите кнопку мыши и нажмите Входная таблица во всплывающем меню.
  6. Щелкните дважды на инструменте Добавить поле, чтобы открыть диалоговое окно инструмента.
    1. Параметр Входная таблица уже добавлен из результатов работы инструмента Близость.
    2. Для параметра Имя поля введите %Name% как встроенную переменную подстановки.

      Во время запуска название класса объектов, airports, exits или recareas, будет использоваться в качестве имени поля.

    3. Для параметра Тип поля выберите из ниспадающего спискаDouble (двойная точность).

    Остальные параметры оставьте по умолчанию и щелкните OK.

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

  7. В ModelBuilder инструменты поддерживают иерархию и запускаются только в случае, когда первым отработает инструмент, соединенный «выше по течению». Инструмент Добавить поле использует результат значения параметра Name от инструмента Анализировать путь из его параметра Имя поля, но он с ним не связан и не сработает, если не найдет имя поля. Чтобы запустить сначала инструмент Анализировать путь, а потом Добавить поле, чтобы название стало доступным, необходимо задать предварительное условие для инструмента Добавить поле.

    Наведите указатель мыши на выходную переменную Name инструмента Анализировать путь. Щелкните и перетащите соединительную линию к инструменту Добавить поле. Отпустите кнопку мыши и нажмите Предварительное условие во всплывающем меню.

    Настройка параметра Предварительное условие для инструмента Добавить поле

  8. Наведите указатель мыши на выходную переменную (зеленый овал) инструмента Добавить поле. Щелкните и перетащите соединительную линию к инструменту Вычислить поле. Отпустите кнопку мыши и нажмите Входная таблица во всплывающем меню.
  9. Щелкните дважды на инструменте Вычислить поле, чтобы открыть диалоговое окно инструмента.
    1. Параметр Входная таблица уже добавлен из результатов работы инструмента Добавить поле.
    2. Для параметра Имя поля выберите из ниспадающего списка%Name%. Это поле было добавлено в ходе работы инструмента Добавить поле. В ходе запуска имя переменной между знаками процента будет заменено актуальным именем поля.
    3. Для параметра Тип выражения выберите Python 3
    4. Для параметра Выражение введите !NEAR_DIST!.

      Значения поля NEAR_DIST будут скопированы в новое поле. Вы не сможете выбрать NEAR_DIST из списка Полей, потому что поле не появится, пока не запустится инструмент Близость. Чтобы ввести имя поля, как в данном случае, необходимо предварительное знать инструмент и выходное поле, которое инструмент создаст. Восклицательные знаки перед и после имени поля являются разделителями полей в выражениях Python.

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

  10. Переименуйте переменные модели, как это показано в итоговой модели.
  11. Для выравнивания элементов модели щелкните кнопку Автокомпоновка Авто-компоновка на вкладке ModelBuilder и затем кнопку Вписать в окно Вписать в окно, чтобы компоновка модели максимально вписалась в размер окна на экране.

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

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

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

    При этом на карту добавится обновленный входной класс объектов.

  2. Щелкните кнопку Сохранить Сохранить на вкладке ModelBuilder чтобы сохранить модель.
  3. Щелкните кнопку Запуск Запустить на вкладке ModelBuilder чтобы запустить модель. Модель пройдет по трем классам объектов и найдет ближайшее расстояние для каждого из них по отношению к точечным объектам. Щелкните правой кнопкой мыши на входном классе объектов на панели ArcGIS Pro Содержание и затем Таблицы, чтобы увидеть добавленные поля со значениями ближайших расстояний.
  4. Закройте модель и ArcGIS Pro.