Краткая информация
Каждый параметр инструмента имеет связанный с ним объект Parameter, характеризующийся необходимыми для осуществления проверки свойствами и методами.
Обсуждение
Хотя многие свойства объекта Parameter доступны для чтения и записи, большинство из них можно задать или изменить только при первоначальном создании или изменении объекта. Некоторые свойства, включая name, displayName, datatype, direction и parameterType, устанавливают характеристики инструмента и не могут быть изменены во время проверки (например, updateMessages и updateParameters).
Синтаксис
Parameter ({name}, {displayName}, {direction}, {datatype}, {parameterType}, {enabled}, {category}, {symbology}, {multiValue})
Параметр | Описание | Тип данных |
name | Имя параметра (Значение по умолчанию — None) | String |
displayName | Надпись параметра, отображаемая в диалоговом окне инструмента. (Значение по умолчанию — None) | String |
direction | Входное/выходное направление параметра. (Значение по умолчанию — None) | String |
datatype | Тип данных параметра. Для получения списка типов данных параметров см. Типы данных в геообработке. (Значение по умолчанию — None) | String |
parameterType | Свойство parameterType может содержать Required, Optional или Derived. (Значение по умолчанию — None) | String |
enabled | False, если параметр недоступен. (Значение по умолчанию — None) | Boolean |
category | Категория параметра. (Значение по умолчанию — None) | String |
symbology | Путь к файлу слоя (.lyrx или .lyr), используемый для отображения выходных данных. (Значение по умолчанию — 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 устанавливается со списком индексов параметров; в инструменте набора инструментов Python parameterDependencies устанавливается со списком имен параметров. | Integer |
parameterType (чтение и запись) | Свойство parameterType может содержать Required, Optional или Derived. При проверке значение parameterType не может быть динамически изменено. Однако может потребоваться, чтобы параметр соответствовал обязательному или необязательному, в зависимости от настроек других параметров. В этом случае установите параметр как дополнительный. Затем в методе проверки updateMessages используйте метод Parameter setIDMessage с идентификатором сообщения 735. Использование идентификатора сообщения 735 приводит к тому, что необязательный параметр ведет себя как обязательный параметр.
| String |
schema (только чтение) | Схема выходного набора данных. | Schema |
symbology (чтение и запись) | Путь к файлу слоя (.lyrx или .lyr), используемый для отображения выходных данных. | String |
value (чтение и запись) | Значение параметра. | Object |
valueAsText (только чтение) | Значение параметра в виде строки. | String |
values (чтение и запись) | Значения параметра Таблица значений, заданные для использование в списке списков. | 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)
Параметр | Описание | Тип данных |
message | The string to be added as an error message to the geoprocessing tool messages. | String |
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2})
Параметр | Описание | Тип данных |
message_type | Defines whether the message will be an error or a warning.
| String |
message_ID | The message ID allows you to reference existing system messages. | Integer |
add_argument1 | Depending on which message ID is used, an argument may be necessary to complete the message. Common examples include dataset or field names. The data type is variable depending on the message. | Object |
add_argument2 | Depending on which message ID is used, an argument may be necessary to complete the message. Common examples include dataset or field names. The data type is variable depending on the message. | Object |
setWarningMessage (message)
Параметр | Описание | Тип данных |
message | The string to be added as a warning message to the geoprocessing tool messages. | 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