Найти в Дзене

Автоматизация рабочих процессов. Часть 2: ModelBuilder

В прошлой части мы рассмотрели самый простой способ автоматизации рабочих процессов - геообработку в пакетном режиме. Основное ограничение данного режима в том, что он применяется только для одного инструмента. А что делать в том случае, если наш рабочий процесс включает в себя несколько инструментов геообработки? И при этом запускать их нужно в определённой последовательности, т.к каждый последующий инструмент использует результаты работы предыдущего. Здесь нам на помощь приходит ModelBuilder. ModelBuilder - это интерактивная среда, конструктор, визуальный язык программирования для наглядного моделирования рабочих процессов посредством создания моделей геообработки. Преимущества ModelBuilder: Модель - это схема рабочего процесса, состоящая из инструментов геообработки и данных. Процесс создания модели состоит из нескольких этапов. Перед созданием модели необходимо определить, что именно она будет делать и какой результат вы хотите получить. Это позволит понять, какие инструменты геооб
Оглавление

В прошлой части мы рассмотрели самый простой способ автоматизации рабочих процессов - геообработку в пакетном режиме.

Основное ограничение данного режима в том, что он применяется только для одного инструмента.

А что делать в том случае, если наш рабочий процесс включает в себя несколько инструментов геообработки?

И при этом запускать их нужно в определённой последовательности, т.к каждый последующий инструмент использует результаты работы предыдущего.

Здесь нам на помощь приходит ModelBuilder.

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

Преимущества ModelBuilder:

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

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

Процесс создания модели состоит из нескольких этапов.

1. Планирование

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

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

ModelBuilder в группе Геообработка на вкладке ленты Анализ
ModelBuilder в группе Геообработка на вкладке ленты Анализ

2. Создание пустой модели

Модель, по сути, является инструментом геообработки, поэтому храниться она должна в наборе инструментов.

При открытии ModelBuilder через вкладку ленты Анализ, автоматически будет создана новая пустая модель, найти которую вы можете в наборе инструментов проекта по умолчанию на панели Каталог или через Проводник:

C:\Users\<имя пользователя>\Documents\ArcGIS\Projects\<название проекта>\<название проекта>.atbx\Model

Также вы можете хранить модель в отдельном наборе инструментов (.atbx) на жестком диске в нужном вам каталоге, или это может быть набор инструментов внутри базы геоданных.

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

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

Инструменты геообработки - это основа модели.

Добавление инструментов в модель осуществляется несколькими способами: через меню Инструменты в группе Вставить, перетаскиванием инструмента из панели Геообработка или через контекстное меню инструмента.

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

Типовые элементы инструмента модели - входные данные (темно-синий овал), инструмент (желтый прямоугольник), выходные данные (зеленый овал).

У нового добавленного инструмента эти элементы не настроены и будут отображаться серым цветом, что означает, что инструмент не готов к запуску.

Элементы нового добавленного инструмента
Элементы нового добавленного инструмента

Двойной щелчок по инструменту откроет диалоговое окно с его настройками.

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

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

Настроенный инструмент геообработки
Настроенный инструмент геообработки

Иногда после настройки инструмента в модели могут появиться дополнительные элементы - в нашем случае это вырезающие объекты слоя Регионы.

Подсказка: Если ваши входные данные имеют выбранные объекты, то инструмент отработает только с ними.

Ранее упоминалось, что одно из преимуществ моделей - возможность использования нескольких инструментов.

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

Для этого добавим в модель инструмент Буфер.

Инструмент Буфер добавлен в модель
Инструмент Буфер добавлен в модель

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

Интерактивное соединение элементов модели
Интерактивное соединение элементов модели
Выходные данные инструмента Вырезать настроены, как входные данные инструмента Буфер
Выходные данные инструмента Вырезать настроены, как входные данные инструмента Буфер

4. Настройка параметров модели

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

Например, можно сделать параметрами входные и вырезающие данные инструмента Вырезать, чтобы можно было использовать разные наборы данных.

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

Опция Параметр в контекстном меню элемента модели
Опция Параметр в контекстном меню элемента модели

Также можно для инструмента Буфер сделать параметром переменную Расстояние, чтобы управлять размером буферной зоны.

Создание переменной из параметра
Создание переменной из параметра

В результате этих действий наша модель будет выглядеть так:

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

5. Проверка и запуск модели

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

Сделать это можно с помощью кнопки Проверить в группе инструментов Запуск на вкладке ModelBuilder.

Кнопка Проверить модель
Кнопка Проверить модель

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

Запустить модель можно нажатием на соседнюю кнопку.

Кнопка Запустить модель
Кнопка Запустить модель

В процессе выполнения модели текущий работающий инструмент будет подсвечен красным цветом.

Работающий в данный момент инструмент подсвечен красным цветом
Работающий в данный момент инструмент подсвечен красным цветом

После завершения работы модели, все инструменты и выходные данные будут иметь серую тень.

Тень у отработавших инструментов и выходных данных
Тень у отработавших инструментов и выходных данных

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

6. Запуск модели, как инструмента геообработки

Запустить модель можно не только из интерфейса ModelBuilder, но и через опцию контекстного меню Открыть в панели Каталог.

Опция Открыть в контекстном меню
Опция Открыть в контекстном меню

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

Возможность выбрать параметры модели
Возможность выбрать параметры модели

Больше информации о ModelBuilder вы можете найти тут: Что такое ModelBuilder?

Другие статьи цикла:

Автоматизация рабочих процессов. Часть 1: пакетная геообработка

Автоматизация рабочих процессов. Часть 3: Python