Определение инструмента в наборе инструментов 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

Чтобы изменить лист стиля по умолчанию, который используется для инструмента. Если не задано, то используется лист стиля по умолчанию.