Создание инструмента-скрипта

Инструменты-скрипты являются инструментами геообработки, которые выполняют скрипты или исполняемые файлы. Инструменты-скрипты позволяют запускать эти скрипты из ArcGIS с помощью инструмента геообработки, который используется в качестве интерфейса для функциональных возможностей этого скрипта. Когда вы будете создавать инструмент-скрипт, вы должны будете указать параметры, необходимые для выполнения этого скрипта. Основными параметрами являются входной и выходной наборы данных, имена полей и строки, которые выбираются из списка вариантов. В процессе работы инструмента-скрипта значения этих параметров передаются в скрипт и используются им во время его выполнения.

Почти все инструменты-скрипты выполняют скрипт Python (.py), который использует ArcPy, пакет сайта Python, который устанавливается вместе с ArcGIS. ArcPy обеспечивает доступ к инструментам геообработки, а также к дополнительным функциям, классам и модулям, которые позволяют быстро создавать как простые, так и сложные рабочие процессы. Благодаря ArcPy среда геообработки ArcGIS становится доступной для скрипта, что обеспечивает такие возможности, как быстрое проецирование данных, поддержка заданной выборки, проверка входных данных, информирование об ошибках и запись истории.

Несмотря на то, что подавляющее большинство скриптов-инструментов пишется в Python, вы можете создать инструмент-скрипт для всего, что воспринимает аргументы. Так, вы можете создать инструмент-скрипт для .r, .bat или для файла .exe, которые воспринимают аргументы.

Инструменты-скрипты создаются в наборе инструментов. Чтобы создать инструмент-скрипт, щелкните правой кнопкой на наборе инструментов на панели Каталог и выберите Новый > Инструмент-скрипт.

Новый инструмент-скрипт

Свойства

При создании нового инструмента-скрипта открывается страница с его свойствами. На странице свойств вы можете указать, например, следующее:

  • Настройки Общие: имя инструмента, защитный пароль и расположение исходного файла скрипта.
  • Параметры инструмента, которые определяют входные наборы данных, дополнительные параметры и выходные результаты, которые будут показаны в результате работы инструмента-скрипта.
  • Код Проверки позволяет настроить, каким образом параметры инструмента будут влиять на значения и параметры, используемые в скрипте (например, как следует изменить значение одного из параметров в скрипте в зависимости от выбранной опции для другого параметра). Код проверки написан на Python

Параметры

Определение свойств параметров – ключевой шаг в создании инструмента-скрипта. На странице Параметры каждая строка представляет один параметр. Для каждого параметра вам следует определить свойства: подпись для инструмента, типы данных, которые допустимы для параметров, является ли параметр необходимым или дополнительным. Как минимум, необходимо ввести параметры Подпись, Имя, Тип данных, Тип и Направление.

СвойствоОписание

Надпись

Имя параметра отображается в инструменте.

Название

Имя параметра в случае, когда инструмент-скрипт вызывается функцией из другого скрипта Python.

Тип данных

Тип данных, допустимый для этого параметра. Определяет управление инструментом. Например, если вы выберете Слой объектов, вы можете взять слой с активной карты или указать соответствующий класс пространственных объектов.

Тип

Параметры могут быть обязательными или дополнительными. Если параметр является обязательным (необходимым), необходимо ввести для него значение, иначе инструмент не будет запущен. Если параметр является дополнительным, инструмент будет работать, даже если это значение не задано.

Направление

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

Категория

При добавлении названия категории соответствующий параметр добавляется в диалоговое окно инструмента.

Фильтр

Фильтры позволяют задать, какие определенные типы наборов данных, полей, указанных значений или значений в диапазоне допустимы в качестве входных параметров для инструмента. Например, вы можете настроить фильтр для параметра Класс объектов таким образом, что могут использоваться только точечные классы, или вы можете указать, что значение параметра может быть только в интервале от 1 до 10.

Зависимость

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

По умолчанию

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

Среда

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

Символы

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

Проверка

Блок кода Python ToolValidator дает еще больше возможностей по управлению оформлением, поведением и сообщениями инструмента-скрипта. Вы можете редактировать код Проверки непосредственно из окна свойств, или щелкнув кнопку Открыть в редакторе скриптов, чтобы запустить редактор скриптов, указанный в Опциях геообработки.