Parameter (arcpy)
Краткая информация
Каждый параметр инструмента имеет связанный с ним объект параметра, характеризующийся необходимыми для осуществления проверки свойствами и методами. Параметры содержатся в списке Python.
Синтаксис
Параметр | Объяснение | Тип данных |
name | Имя параметра (Значение по умолчанию — None) | String |
displayName | Надпись параметра, отображаемое в диалоговом окне инструмента. (Значение по умолчанию — None) | String |
direction | Входное/выходное направление параметра. (Значение по умолчанию — None) | String |
datatype | Тип данных параметра. Для получения списка типов данных параметров см. Типы данных в геообработке. (Значение по умолчанию — None) | String |
parameterType | Доступны значения Required (Обязательный), Optional (Необязательный) и 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 |
hasBeenValidated (только чтение) |
True (Истина), если параметр был проверен внутренней процедурой проверки. | Boolean |
message (только чтение) | Сообщение, показываемое пользователю. | String |
multiValue (чтение и запись) | Значение True, если параметр является многозначным. | Boolean |
name (чтение и запись) |
Имя параметра | String |
parameterDependencies (чтение и запись) |
Список индексов каждого зависимого параметра. | Integer |
parameterType (чтение и запись) | Доступны значения Required (Обязательный), Optional (Необязательный) и Derived (Производный). Derived (Производный) означает, что пользователь инструмента не вводит значения параметра. Производные типы всегда являются выходными параметрами.
| String |
schema (только чтение) |
Схема выходного набора данных. | Schema |
symbology (чтение и запись) | Путь к файлу слоя (.lyr), используемому для прорисовки выходных данных. | String |
value (чтение и запись) |
Значение параметра. | Object |
valueAsText (только чтение) | Значение параметра в виде строки. ![]() Только для наборов инструментов Python. | String |
values (чтение и запись) |
Значения параметра таблицы значений. Задается с помощью списка списков. | Variant |
Обзор метода
Метод | Объяснение |
clearMessage () |
Очищает любой текст сообщения и устанавливает статус на информативность (не ошибка и не предупреждение). |
hasError () |
Возвращает значение true, если параметр содержит ошибку. |
hasWarning () |
Возвращает значение True, если параметр содержит предупреждение. |
isInputValueDerived () |
Возвращает значение True, если инструмент был проверен внутри Модели и его входное значение является выходным значением другого инструмента данной модели. |
setErrorMessage (message) |
Отмечает параметр, как имеющий ошибку, с помощью прилагаемого сообщения. Инструменты не выполняются, если один из параметров имеет ошибку. |
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2}) |
Позволяет вам задать системное сообщение. |
setWarningMessage (message) |
Отмечает параметр как имеющий предупреждение с помощью прилагаемого сообщения. В отличие от ошибок, инструменты с предупреждениями выполняются. |
Методы
Тип данных | Объяснение |
Boolean |
Значение true, если параметр содержит ошибку. |
Тип данных | Объяснение |
Boolean |
True, если параметр содержит предупреждение. |
Тип данных | Объяснение |
Boolean |
Значение True, если инструмент был проверен внутри Модели и его входное значение является выходным значением другого инструмента данной модели. |
Параметр | Объяснение | Тип данных |
message |
Строка, добавляемая как сообщение об ошибке к сообщениям инструмента геообработки. | String |
Параметр | Объяснение | Тип данных |
message_type |
Определяет, будет ли сообщение являться сообщением об ошибке или предупреждением.
| String |
message_ID |
ID сообщения позволяет ссылаться на системные сообщения. | Integer |
add_argument1 |
В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения. | Object |
add_argument2 |
В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения. | Object |
Параметр | Объяснение | Тип данных |
message |
Строка, добавляемая как предупреждение к сообщениям инструмента геообработки. | String |
Пример кода
Включение или отключение параметра в классе ToolValidator.
def updateParameters(self):
# If the option to use a weights file is selected (the user choose
# "Get Spatial Weights From File", enable the parameter for
# specifying the file, otherwise disable it
if self.params[3].value == "Get Spatial Weights From File":
self.params[8].enabled = 1
else:
self.params[8].enabled = 0
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