Краткая информация
Каждый параметр инструмента имеет связанный с ним объект 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 |
charts (чтение и запись) | Список объектов диаграммы, которые добавляются к выходному параметру. | Object |
columns (чтение и запись) | Структура столбцов в параметре таблицы значений. Столбцы организованы в виде списка списков, где каждый внутренний список представляет тип данных столбца, имя столбца и дополнительное значение только для чтения. Если для значения только для чтения установлено значение ReadOnly, столбец не может быть изменен пользователем.
| 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 с идентификатором сообщения 530 или 735. Использование идентификатора сообщения 530 или 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