Skip to main content

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

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

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

Метод инструмента

Обязательные или дополнительные

Описание

__init__

Обязательный

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

getParameterInfo

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

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

isLicensed

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

Показывает, есть ли у инструмента лицензия на запуск.

updateParameters

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

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

updateMessages

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

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

execute

Обязательный

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

postExecute

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

Вызывается по окончании метода 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__ можно задать следующие свойства:

Свойство

Описание

category

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

Чтобы вложить наборы инструментов, разделите их имена последовательными обратными косыми чертами, например: self.category = "Toolset 1\\Toolset 2".

description

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

label

Отображаемое имя инструмента, которое показывается на панели Геообработка.