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

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

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

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

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

Свойства

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

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

Параметры

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

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

Подпись

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

Имя

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

Тип данных

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

Тип

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

Направление

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

Категория

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

Фильтр

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

Зависимость

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

По умолчанию

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

Окружающая среда

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

Символы

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

Проверка

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