Краткая информация
Инструмент Итерировать многозначные проходит по списку значений.
В этом упражнении инструмент Итерировать многозначные используется для работы с данными об аэропортах, съездов с автомагистралей и зонах отдыха. Другими входными данными будут точечные классы объектов, при этом модель вычислит ближайшее расстояние до каждой точки в классе объектов по отношению к аэропортам, съездам с автомагистралей и зонам отдых с помощью инструмента Близость. Инструмент Близость добавляет поле со значением расстояния для каждой входной точки по отношению к ближайшему объекту в классе, а значения в поле перезаписываются в ходе каждой итерации. Чтобы не потерять значения расстояний, которые получаются в ходе каждой итерации, модель будет добавлять поле и копировать в него значения расстояний с помощью инструмента Вычислить поле. Инструмент Анализировать путь используется для извлечения имени класса ближайших объектов (аэропорты, съезды и зоны отдыха). Затем эти имена используются в качестве имен полей в инструменте Добавить поле.
На этом рисунке показан поднабор карты входного класса точечных объектов и всех классов объектов, для которых будет рассчитано ближайшее расстояние. Таблица атрибутов входного точечного класса объектов показывает добавленное поле и значения, которые были вычислены для каждого из входных классов ближайших объектов.
Предварительные условия
Если вы только начинаете работать с ModelBuilder, изучите следующие разделы:
Открытие проекта
Скачайте проект для упражнения. Проект включает входные данные и готовую модель.
- Откройте обзорную страницу Работа с Итерировать многозначные.
- Щелкните Скачать в правой части страницы.
- Щелкните правой кнопкой мыши на загруженном файле IterateMultivalue.zip и извлеките его в подходящую папку, например, C:\Temp.
- В извлеченной папке IterateMultivalue дважды щелкните на файле проекта ArcGIS Pro, IterateMultivalue.aprx.
- Изучите данные на панели Каталог и при необходимости нажмите вкладку Проект. Перейдите к Папки > IterateMultivalue.
База геоданных ToolData.gdb содержит данные, которые будут использоваться в качестве входных данных модели. Модель обновляет атрибутивную таблицу класса объектов PointLocation.
Добавление инструментов
Вы создадите модель в наборе инструментов MyProjectTools. Чтобы добавить инструмент в модель, выполните следующие шаги:
- На панели Каталог щелкните вкладку Проект. Перейдите к Папки > IterateMultivalue > MyProjectTools.
- Щелкните правой кнопкой MyProjectTools и затем Новый. Выберите Модель, чтобы создать и открыть модель.
- Добавьте инструмент Итерировать многозначные.
- Перейдите на вкладку ModelBuilder.
- В группе Вставить щелкните Итераторы.
- В списке Итераторы щелкните Итерировать многозначные.
Таким образом вы добавите в модель итератор Итерировать многозначные. Пока итератор недоступен, потому что для него не заданы значения параметров.
- Добавьте инструмент Анализировать путь.
- Перейдите на вкладку ModelBuilder.
- В группе Вставить щелкните Утилиты .
- В списке Утилиты щелкните инструмент Анализировать путь.
Таким образом вы добавите в модель инструмент Анализировать путь.
- Добавить инструмент Близость.
- Щелкните в модели и введите Близость, чтобы открыть диалоговое окно Добавить инструменты в модель.
- Найдите инструмент Близость.
- Дважды щелкните инструмент Близость, чтобы добавить его в модель.
- Аналогичным образом добавьте в модель инструменты Добавить поле и Вычислить поле.
Настройка параметров и соединение инструментов
После добавления инструментов в модель необходимо настроить параметры для каждого из них.
- Дважды щелкните итератор Итерировать многозначные, чтобы открыть его диалоговое окно. Для параметра Входные значения перейдите к <Your Project Location>\IterateMultivalue\ToolData.gdb и выберите классы объектов airports, exits и recareas, затем нажмите OK.
Входной класс объектов добавляется в модель в виде переменной (темно-синий овал) и меняет цвет итератора, указывая на то, что необходимые параметры были указаны и он готов к запуску.
Подсказка:
- Щелкните правой кнопкой результат работы итератора и выберите Переименовать. Введите Значение в качестве имени и нажмите Enter. Это переименует выходную переменную итератора.
- Дважды щелкните инструмент Близость, чтобы открыть его диалоговое окно.
- Для параметра Входные объекты перейдите к <Your Project Location>\IterateMultivalue\ToolData.gdb и выберите класс объектов PointLocation.
- Для параметра Ближайшие объекты из ниспадающего списка выберите Значение.
Остальные параметры оставьте по умолчанию и щелкните OK. При этом появится соединение между выходным значением итератора и инструментом Близость.
- Дважды щелкните инструмент Анализировать путь, чтобы открыть его диалоговое окно и выбрать Значение из ниспадающего списка для параметра Входные значения.
При этом появится соединение между выходными данными итератора и инструментом Анализировать путь.
- Наведите указатель мыши на выходную переменную (зеленый овал) инструмента Близость. Щелкните и перетащите соединительную линию к инструменту Добавить поле. Отпустите кнопку мыши и нажмите Входная таблица во всплывающем меню.
- Щелкните дважды на инструменте Добавить поле, чтобы открыть диалоговое окно инструмента.
- Параметр Входная таблица уже добавлен из результатов работы инструмента Близость.
- Для параметра Имя поля введите %Name% как встроенную переменную подстановки.
Во время запуска название класса объектов, airports, exits или recareas, будет использоваться в качестве имени поля.
- Для параметра Тип поля выберите из ниспадающего спискаDouble (двойная точность).
Остальные параметры оставьте по умолчанию и щелкните OK.
- В ModelBuilder инструменты поддерживают иерархию и запускаются только в случае, когда первым отработает инструмент, соединенный «выше по течению». Инструмент Добавить поле использует результат значения параметра Name от инструмента Анализировать путь из его параметра Имя поля, но он с ним не связан и не сработает, если не найдет имя поля. Чтобы запустить сначала инструмент Анализировать путь, а потом Добавить поле, чтобы название стало доступным, необходимо задать предварительное условие для инструмента Добавить поле.
Наведите курсор на выходную переменную Name инструмента Анализировать путь. Щелкните и перетащите соединительную линию к инструменту Добавить поле. Отпустите кнопку мыши и нажмите Предварительное условие во всплывающем меню.
- Наведите указатель мыши на выходную переменную (зеленый овал) инструмента Добавить поле. Щелкните и перетащите соединительную линию к инструменту Вычислить поле. Отпустите кнопку мыши и нажмите Входная таблица во всплывающем меню.
- Щелкните дважды на инструменте Вычислить поле, чтобы открыть диалоговое окно инструмента.
- Параметр Входная таблица уже добавлен из результатов работы инструмента Добавить поле.
- Для параметра Имя поля выберите из ниспадающего списка%Name%. Это поле было добавлено в ходе работы инструмента Добавить поле. В ходе запуска имя переменной между знаками процента будет заменено актуальным именем поля.
- Для параметра Тип выражения выберите Python 3.
- Для параметра Выражение введите !NEAR_DIST!.
Значения поля NEAR_DIST будут скопированы в новое поле. Вы не сможете выбрать NEAR_DIST из списка Полей, потому что поле не появится, пока не запустится инструмент Близость. Чтобы ввести имя поля, как в данном случае, необходимо предварительное знать инструмент и выходное поле, которое инструмент создаст. Восклицательные знаки перед и после имени поля являются разделителями полей в выражениях Python.
- Переименуйте переменные модели, как это показано в итоговой модели.
- Для выравнивания элементов модели щелкните кнопку Автокомпоновка на вкладке ModelBuilder и затем кнопку Вписать в окно , чтобы компоновка модели максимально вписалась в размер окна на экране.
Запуск модели
Вы проверите и запустите модель. Вы изучите выходные данные в таблице атрибутов класса точечных объектов ввода и убедитесь, что добавлены значения ближайших расстояний из всех трех классов пространственных объектов.
- Щелкните правой кнопкой мыши на результате работы инструмента Вычислить поле и щелкните Добавить к изображению.
Обновленный входной класс объектов добавится на карту.
- Щелкните кнопку Сохранить на вкладке ModelBuilder чтобы сохранить модель.
- Щелкните кнопку Запуск на вкладке ModelBuilder чтобы запустить модель. Модель пройдет по трем классам объектов и найдет ближайшее расстояние для каждого из них по отношению к точечным объектам. Щелкните правой кнопкой мыши на входном классе объектов на панели Содержание ArcGIS Pro и затем Таблицы, чтобы увидеть добавленные поля со значениями ближайших расстояний.
- Закройте модель и ArcGIS Pro.