Определение инструмента в наборе инструментов Python

Инструменты добавляются в файл .pyt в виде классов. Каждый класс инструмента должен включать как минимум два метода – __init__ и execute. Дополнительно, для добавления дополнительных возможностей управления инструментами, можно использовать методы getParameterInfo, isLicensed, updateParameters и updateMessages.

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

Метод инструментаОбязательный/необязательныйОписание

__init__

Необходимый

Инициализирует класс инструмента.

getParameterInfo

Дополнительный

Определяет параметры инструмента.

isLicensed

Дополнительный

Возвращает сведения о том, лицензирован ли инструмент для выполнения.

updateParameters

Дополнительный

Вызывается при каждом изменении пользователем параметра в диалоговом окне инструмента. После возврата из updateParameters геообработка вызовет программу внутренней проверки.

updateMessages

Дополнительный

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

execute

Необходимый

Исходный код инструмента.

Настройка метода __init__ класса инструмента

Метод __init__ в классе инструмента является стандартным методом Python для инициализации класса. Для инструмента в наборе инструментов Python метод __init__ используется для задания его свойств, включая label и description. Имя инструмента определяется по имени класса (в примере ниже именем инструмента будет CalculateSinuosity).

Метод __init__ определяет свойства инструмента, такие как подпись и описание. Ниже показано создание инструмента CalculateSinuosity.

class CalculateSinuosity(object):
    def __init__(self):
        self.label = "Calculate Sinuosity"
        self.description = "Sinuosity measures the amount that a river meanders within its valley, " + \
                           "calculated by dividing total stream length by valley length."
Примечание:

Синтаксис Python использует большинство правил геообработки при наименовании класса инструментов наборов Python. Однако нижние подчеркивания в имени класса инструмента использовать не следует, поскольку это может вызвать ошибки при запуске инструментов из ArcGIS Server.

В методе инструмента __init__ можно задать следующие свойства.

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

canRunInBackground

Примечание:

Свойство canRunInBackground используется только для ArcGIS Desktop; оно не имеет эффекта в ArcGIS Pro.

category

Имя набора инструментов, в котором расположен инструмент. Группа инструментов – это способ организации инструментов в наборе.

description

Описание инструмента.

label

Подпись представляет собой имя инструмента, которое отображается на панели Геообработка.

stylesheet

Для изменения стиля инструмента по умолчанию. Если свойство не задано, то используется стиль по умолчанию.