Сводка
Каждый параметр инструмента имеет связанный с ним объект 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. Derived означает, что пользователь инструмента не вводит значения параметра. Derived типы всегда являются выходными параметрами. (Значение по умолчанию — None) | String |
enabled | False, если параметр недоступен. (Значение по умолчанию — None) | Boolean |
category | Категория параметра. (Значение по умолчанию — None) | String |
symbology | Путь к файлу слоя (.lyr), используемый для отображения выходных данных. (Значение по умолчанию — None) | String |
multiValue | True, если параметр является параметром с множественными значениями. (Значение по умолчанию — None) | Boolean |
Свойства
Владение | Объяснение | Тип данных |
altered (только чтение) | True, если пользователь изменил значение. | Boolean |
category (чтение и запись) | Категория параметра. | String |
columns (чтение и запись) | Типы данных столбца и имена параметра таблицы значений, заданные с использованием списка списков:
| String |
datatype (чтение и запись) | Тип данных параметра. Для получения списка типов данных параметров см. Типы данных в геообработке. | String |
defaultEnvironmentName (чтение и запись) | Переменная среды геообработки, используемая для установки значения параметра по умолчанию. | String |
direction (чтение и запись) | Входное/выходное направление параметра. | String |
displayName (чтение и запись) | Надпись параметра, отображаемая в диалоговом окне инструмента. | String |
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), используемый для отображения выходных данных. | String |
value (чтение и запись) | Значение параметра. | Object |
valueAsText (только чтение) | Значение параметра в виде строки. | 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)
Параметр | Объяснение | Тип данных |
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 |
Пример кода
Parameter, пример
Включение или отключение параметра в классе 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
Parameter 2, пример
Задание значения по умолчанию для параметра в классе 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
Parameter 3, пример
Задание пользовательского сообщения об ошибке для параметра в классе 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