Инструменты добавляются в файл .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."
В методе __init__ инструмента можно задать следующие свойства.
Свойство | Описание |
---|---|
canRunInBackground | Если свойство canRunInBackground не задано или для него установлено значение True, инструмент будет использовать текущее значение параметра Обработка в фоновом режиме (Background Processing) в диалоговом окне Опции геообработки (Geoprocessing Options). Если для него установлено значение False, инструмент всегда будет выполняться в приоритетном режиме, несмотря на значение параметра Обработка в фоновом режиме (Background Processing) в диалоговом окне Опции геообработки (Geoprocessing Options). Более подробно о выполнении пользовательских инструментов в фоновом режиме. |
категория | Имя набора инструментов, в котором расположен инструмент. Группа инструментов - это способ организации инструментов в наборе. |
описание | Описание инструмента. |
подпись | Подпись представляет собой имя инструмента, которое отображается в окне Каталога. |
стиль | Используется для изменения стиля по умолчанию для инструмента. Если это свойство не задано, используется стиль по умолчанию. |