Сводка
Каждый параметр инструмента имеет связанный с ним объект Parameter, характеризующийся необходимыми для осуществления проверки свойствами и методами.
Описание
Хотя многие свойства объекта Parameter доступны для чтения и записи, большинство из них можно задать или изменить только при первоначальном создании или изменении объекта. Некоторые свойства, включая name, displayName, datatype, direction и parameterType, устанавливают характеристики инструмента и не могут быть изменены во время проверки (например, updateMessages и updateParameters).
Синтаксис
Parameter ({name}, {displayName}, {direction}, {datatype}, {parameterType}, {enabled}, {category}, {symbology}, {multiValue})
Parameter | Объяснение | Тип данных |
name | Имя параметра (Значение по умолчанию — None) | String |
displayName | Надпись параметра, отображаемая в диалоговом окне инструмента. (Значение по умолчанию — None) | String |
direction | Входное/выходное направление параметра. (Значение по умолчанию — None) | String |
datatype | Тип данных параметра. Для получения списка типов данных параметров см. Типы данных в геообработке. (Значение по умолчанию — None) | String |
parameterType | parameterType может быть Required, Optional или Derived. Derived означает, что пользователь инструмента не вводит значения параметра. Derived типы всегда являются выходными параметрами. (Значение по умолчанию — None) | String |
enabled | False, если параметр недоступен. (Значение по умолчанию — None) | Boolean |
category | Категория параметра. (Значение по умолчанию — None) | String |
symbology | Путь к файлу слоя (.lyr или .lyrx), используемый для отображения выходных данных. (Значение по умолчанию — None) | String |
multiValue | True, если параметр является параметром с множественными значениями. (Значение по умолчанию — None) | Boolean |
Свойства
Владение | Объяснение | Тип данных |
altered (только чтение) | True, если пользователь изменил значение. | Boolean |
category (чтение и запись) | Категория параметра. | String |
columns (чтение и запись) | Типы данных столбца и имена параметра таблицы значений, заданные с использованием списка списков:
| String |
datatype (чтение и запись) | Тип данных параметра. Для получения списка типов данных параметров см. Типы данных в геообработке. | String |
defaultEnvironmentName (чтение и запись) | Переменная среды геообработки, используемая для установки значения параметра по умолчанию. | String |
direction (чтение и запись) | Входное/выходное направление параметра. | String |
displayName (чтение и запись) | Надпись параметра, отображаемая в диалоговом окне инструмента. | String |
displayOrder (чтение и запись) | Порядок отображения параметров в диалоговом окне инструмента. Может отличаться от порядка, в котором к параметрам обращается Python. | Integer |
enabled (чтение и запись) | False, если параметр недоступен. | Boolean |
filter (только чтение) | Фильтр, применяемый к значениям параметра. | Filter |
filters (чтение и запись) | Такой же, как filter, но используется для поддержки параметров таблицы значений.
| Filter |
hasBeenValidated (только чтение) | True, если параметр был проверен программой внутренней проверки. | Boolean |
message (только чтение) | Сообщение, показываемое пользователю. | String |
multiValue (чтение и запись) | True, если параметр является параметром с множественными значениями. | Boolean |
name (чтение и запись) | Имя параметра | String |
parameterDependencies (чтение и запись) | Список индексов каждого зависимого параметра. В инструменте-скрипте, parameterDependencies is set with a list of parameter indexes; in a Python toolbox tool, parameterDependencies is set with a list of parameter names. | Integer |
parameterType (чтение и запись) | parameterType может быть Required, Optional или Derived. Derived означает, что пользователь инструмента не вводит значения параметра. Derived типы всегда являются выходными параметрами.
| String |
schema (только чтение) | Схема выходного набора данных. | Schema |
symbology (чтение и запись) | Путь к файлу слоя (.lyr или .lyrx), используемый для отображения выходных данных. | String |
value (чтение и запись) | Значение параметра. | Object |
valueAsText (только чтение) | Значение параметра в виде строки. Примечание:Только для наборов инструментов Python. | String |
values (чтение и запись) | Значения параметра Value Table, заданные для использование в списке списков. | Variant |
Обзор метода
Метод | Объяснение |
clearMessage () | Очищает любой текст сообщения и устанавливает статус на информативность (не ошибка и не предупреждение). |
hasError () | Возвращает значение True, если параметр содержит ошибку. Чтобы определить, имеется ли в параметре ошибка, hasError необходимо вызывать внутри метода updateMessages проверки инструмента. |
hasWarning () | Возвращает значение True, если параметр содержит предупреждение. |
isInputValueDerived () | Возвращает значение True, если инструмент был проверен внутри Модели и его входное значение является выходным значением другого инструмента данной модели. |
setErrorMessage (message) | Отмечает параметр, как имеющий ошибку, с помощью прилагаемого сообщения. Инструменты не выполняются, если один из параметров имеет ошибку. |
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2}) | Позволяет вам задать системное сообщение. |
setWarningMessage (message) | Отмечает параметр как имеющий предупреждение с помощью прилагаемого сообщения. В отличие от ошибок, инструменты с предупреждениями выполняются. |
Методы
clearMessage ()
hasError ()
Тип данных | Объяснение |
Boolean | True, если параметр содержит ошибку. |
hasWarning ()
Тип данных | Объяснение |
Boolean | True, если параметр содержит предупреждение. |
isInputValueDerived ()
Тип данных | Объяснение |
Boolean | Значение True, если инструмент был проверен внутри Модели и его входное значение является выходным значением другого инструмента данной модели. |
setErrorMessage (message)
Parameter | Объяснение | Тип данных |
message | Строка, добавляемая как сообщение об ошибке к сообщениям инструмента геообработки. | String |
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2})
Parameter | Объяснение | Тип данных |
message_type | Определяет, будет ли сообщение являться сообщением об ошибке или предупреждением.
| String |
message_ID | ID сообщения позволяет ссылаться на системные сообщения. | Integer |
add_argument1 | В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения. | Object |
add_argument2 | В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения. | Object |
setWarningMessage (message)
Parameter | Объяснение | Тип данных |
message | Строка, добавляемая как предупреждение к сообщениям инструмента геообработки. | String |
Пример кода
Включение или отключение параметра в классе ToolValidator.
def updateParameters(self):
# If the option to use a weights file ("Get Spatial Weights From File")
# is selected, enable the parameter for specifying the file;
# otherwise, disable it
if self.params[3].value == "Get Spatial Weights From File":
self.params[8].enabled = True
else:
self.params[8].enabled = False
return
Задание значения по умолчанию для параметра в классе ToolValidator.
def updateParameters(self):
# Set the default distance threshold to 1/100 of the larger of
# the width or height of the extent of the input features. Do
# not set if there is no input dataset yet, or the user has set
# a specific distance (Altered is true).
if self.params[0].value:
if not self.params[6].altered:
extent = arcpy.Describe(self.params[0].value)
width = extent.XMax - extent.XMin
height = extent.YMax - extent.YMin
if width < height:
self.params[6].value = width / 100
else:
self.params[6].value = height / 100
return
Задание пользовательского сообщения об ошибке для параметра в классе ToolValidator.
def updateMessages(self):
self.params[6].clearMessage()
# Check to see if the threshold distance contains a value of
# zero and the user has specified a fixed distance band.
if self.params[6].value <= 0:
if self.params[3].value == "Fixed Distance Band":
self.params[6].setErrorMessage(
"Zero or a negative distance is invalid when "
"using a fixed distance band. Please use a "
"positive value greater than zero.")
elif self.params[6].value < 0:
self.params[6].setErrorMessage(
"A positive distance value is required when "
"using a fixed distance band. Please specify "
"a distance.")
return