Инструменты добавляются в файл .pyt в виде классов. Каждый класс инструмента должен включать как минимум два метода – __init__ и execute. Дополнительно, для добавления дополнительных возможностей управления инструментами, можно использовать методы getParameterInfo, isLicensed, updateParameters и updateMessages.
Методы, используемые для определения класса рабочих инструментов
Метод инструмента | Обязательный/необязательный | Описание |
---|---|---|
__init__ | Необходимый | Инициализирует класс инструмента. |
Дополнительный | Определяет параметры инструмента. | |
Дополнительный | Возвращает сведения о том, лицензирован ли инструмент для выполнения. | |
Дополнительный | Вызывается при каждом изменении пользователем параметра в диалоговом окне инструмента. После возврата из updateParameters геообработка вызовет программу внутренней проверки. | |
Дополнительный | Вызывается после возврата из стандартной внутренней проверки. Вы можете просмотреть сообщения, созданные внутренней проверкой, и при необходимости изменить их. | |
Необходимый | Исходный код инструмента. |
Настройка метода __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 | Для изменения стиля инструмента по умолчанию. Если свойство не задано, то используется стиль по умолчанию. |