ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Краткий экскурс по созданию инструментов с помощью ModelBuilder

  • Решение – в создании параметров модели
  • Краткое изложение

Проиллюстрированный ниже сценарий для данной модели заключается в том, что вы собираете данные для конкретной изучаемой территории, представленной в StudyArea, и вам требуется вырезать некоторые наборы данных в изучаемую территорию. Для каждого набора данных, который вы будете вырезать, вам нужно будет добавить поле с именем STATUS и рассчитать значение этого поля к исходному значению, равному 1. В действительности, вы можете захотеть добавить несколько полей и вычислить их значения, но для данного простого сценария все, что вам требуется, это - поле STATUS.

Даная модель выполняет операции вырезания, добавления поля и вычисления его значения, но данные, которые вам необходимо собрать, находятся в разных документах карт и в разных базах геоданных. Технологический процесс, с которым вы столкнетесь, подразумевает, что каждый раз, когда вы захотите запустить данную модель, вам нужно будет открыть эту модель в ModelBuilder и изменить входные данные, которые надо Вырезать (Clip) с Почва (Soils) на другой набор данных.

Пример модели

В этой модели происходит вырезка объекта Почвы (Soils) с помощью полигона StudyArea, добавляется новое поле, именуемое STATUS, а затем вычисляется значение для нового поля.

Чем открывать ModelBuilder каждый раз, когда вы захотите обработать свой набор данных, не лучше ли было, если бы вы могли запускать эту модель с помощью диалогового окна инструмента этой модели, задавая имя для набора входных данных методом перетаскивания слоя или набора данных в это диалоговое окно, так, как вы это делаете с системными инструментами? Однако, когда вы откроете диалоговое окно этого инструмента, вы увидите в нем Параметры для данного инструмента не заданы (This tool has no parameters), как показано ниже, таким образом у вас не будет возможности для ввода набора данных, которые вы хотите обработать.

Диалоговое окно инструмента ModelBuilder

Другой нюанс с данной моделью заключается в том, что ее нельзя использовать в другой модели. Ниже иллюстрируется добавление инструмента в новую модель с целью соединения выходных данных модели с инструментом Идентичность (Identity) . Соединение невозможно, потому что инструмент Вырезать в область изучения и добавить поле (Clip to study area and add field) не имеет выходных данных, которые могли бы быть соединены с инструментом Идентичность (Identity) .

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

Решение – в создании параметров модели

В перечисленных выше ситуациях решение вопроса – в создании параметров модели. Для того, чтобы создать параметр модели, щелкните правой кнопкой мыши на переменной модели и выберите Параметр модели (Model Parameter). На представленном ниже рисунке созданы параметры модели Почвы (Soils) и Почвы_Clip (3) . Параметры модели показаны с буквой P рядом с переменной.

Модель с переменными параметра модели

Теперь, когда открыто диалоговое окно модели, вы можете изменить параметр Почвы (Soils) на что-нибудь другое, такое как набор данных или слой растительности. Вы также можете переименовать набор выходных данных. Как только вы щелкните OK, инструмент будет запущен с заданными вами данными.

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

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

Более подробно:
В данной модели, переменная Область изучения (StudyArea) содержит скорее набор данных (D:\EastValley\Data\collect.gdb\studyarea) , чем имя слоя. Если бы переменная StudyArea содержала имя слоя, то инструмент не был бы выполнен в фоне, и вы должны были бы отключить фоновую обработку, как описано в разделе Обработка на переднем плане и фоновая обработка.

Изменение названий параметров

С диалоговым окном этого инструмента существует одна проблема—названия параметров недостаточно описательны; вместо названий параметров Почвы (Soils) и Soils_Clip (3), вы можете захотеть что-либо более описательное, например Входные объекты (Input Features) и Класс выходных объектов (Output Feature Class). Чтобы изменить названия параметров в диалоговом окне инструмента, вы должны переименовать переменные в ModelBuilder, как показано ниже.

Модель с переименованными параметрами

Модель с переименованными переменными

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

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

Диалоговое окно инструмента, где показан эффект от переименования переменных параметров модели.

Как сделать параметры чистыми

Наконец, обратите внимание, что параметры в диалоговом окне инструмента заполнены значениями, в приведенном примере Почвы (Soils) и E:\10DocModels\PortlandSmall.gdb\Soils_Clip. Если вы откроете инструмент в ArcMap и слоя с именем Почвы в нем не будет, диалоговое окно будет отображать наличие ошибки (X красного цвета), потому что слоя Почвы не существует. Это не проблема — вы всегда можете выбрать другой слой или перейти к другому набору данных—вы можете избавиться от ненужного сообщения об ошибке, очистив переменные в модели, как проиллюстрировано ниже. Данная модель больше не будет запускаться в ModelBuilder, но ее можно будет запустить из диалогового окна ее инструмента.

Модель с пустыми переменными

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

Диалоговое окно инструмента, не содержащее никаких параметров.

Использование инструмента модели в другой модели

Теперь, когда модель имеет параметры, вы можете добавить ее в ModelBuilder и соединить ее выходные данные с входными данным инструмента Идентичность (Identity), как показано ниже.

Использование модели внутри модели

Краткое изложение

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

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

Более подробную информацию о построении моделей см. в разделе Создание инструментов в ModelBuilder.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация