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 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
Задание значения по умолчанию для параметра в классе 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
Задание пользовательского сообщения об ошибке для параметра в классе 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