Parameter (arcpy)

Резюме

Каждый параметр инструмента имеет связанный с ним объект параметра, характеризующийся необходимыми для осуществления проверки свойствами и методами. Параметры содержатся в списке Python.

Синтаксис

Parameter ({name}, {displayName}, {direction}, {datatype}, {parameterType}, {enabled}, {category}, {symbology}, {multiValue})
ПараметрОбъяснениеТип данных
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
(чтение и запись)

Типы столбца данных и имена параметра таблицы значений. Задается с помощью списка списков:

import arcpy
param = arcpy.Parameter()
param.datatype = "Value Table"
param.columns = [["Feature Layer", "Features"], ["Long", "Ranks"]]
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 (Производный) означает, что пользователь инструмента не вводит значения параметра. Производные типы всегда являются выходными параметрами.

  • Обязательный (Required)Значение параметра Required вводит пользователь. Инструмент не работает, пока не задано значение.
  • Необязательный (Optional) Для параметра Optional (Необязательный) не требуется значения.
  • ПолученныйПараметр 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)

Отмечает параметр как имеющий предупреждение с помощью прилагаемого сообщения. В отличие от ошибок, инструменты с предупреждениями выполняются.

Методы

clearMessage ()
hasError ()
Возвращено значение
Тип данныхОбъяснение
Boolean

Значение true, если параметр содержит ошибку.

hasWarning ()
Возвращено значение
Тип данныхОбъяснение
Boolean

True, если параметр содержит предупреждение.

isInputValueDerived ()
Возвращено значение
Тип данныхОбъяснение
Boolean

Значение True, если инструмент был проверен внутри Модели и его входное значение является выходным значением другого инструмента данной модели.

setErrorMessage (message)
ПараметрОбъяснениеТип данных
message

Строка, добавляемая как сообщение об ошибке к сообщениям инструмента геообработки.

String
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2})
ПараметрОбъяснениеТип данных
message_type

Определяет, будет ли сообщение являться сообщением об ошибке или предупреждением.

  • ОШИБКАСообщение будет сообщением об ошибке.
  • WARNINGСообщение будет предупреждением.
String
message_ID

ID сообщения позволяет ссылаться на системные сообщения.

Integer
add_argument1

В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения.

Object
add_argument2

В зависимости от используемого ID сообщения, для завершения этого сообщения может потребоваться аргумент. В основном это набор данных или имя поля. Значение datatype – это переменная, зависящая от сообщения.

Object
setWarningMessage (message)
ПараметрОбъяснениеТип данных
message

Строка, добавляемая как предупреждение к сообщениям инструмента геообработки.

String

Пример кода

Пример параметра

Включение или отключение параметра в классе ToolValidator.

def updateParameters(self):

  # If the option to use a weights file is selected (the user chose
  #  "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
Пример параметра 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).
  # 
  import string

  if self.params[0].value:
    if not self.params[6].altered:
      extent = string.split(self.GP.Describe\
                           (self.params[0].value).extent, " ")
      width = float(extent[2]) - float(extent[0])
      height = float(extent[3]) - float(extent[1])
      if width > height:
        self.params[6].value = width / 100
      else:
        self.params[6].value = height / 100
                
        return
Пример параметра 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

Связанные темы

9/10/2013