サマリ
Every tool parameter has an associated parameter object with properties and methods that are useful in tool validation. Parameters are contained in a Python list.
構文
Parameter ({name}, {displayName}, {direction}, {datatype}, {parameterType}, {enabled}, {category}, {symbology}, {multiValue})
パラメータ | 説明 | データ タイプ |
name | The parameter name. (デフォルト値は次のとおりです None) | String |
displayName | The parameter label as shown on the tool's dialog box. (デフォルト値は次のとおりです None) | String |
direction | Input/Output direction of the parameter. (デフォルト値は次のとおりです None) | String |
datatype | The data type of the parameter. For a list of parameter data types, see Geoprocessing data types. (デフォルト値は次のとおりです None) | String |
parameterType | Can be Required, Optional, or Derived. Derived means that the user of your tool does not enter a value for the parameter. Derived types are always output parameters. (デフォルト値は次のとおりです None) | String |
enabled | False if the parameter is unavailable. (デフォルト値は次のとおりです None) | Boolean |
category | The category of the parameter. (デフォルト値は次のとおりです None) | String |
symbology | The path to a layer file (.lyr) used for drawing the output. (デフォルト値は次のとおりです None) | String |
multiValue | True if the parameter is a multivalue parameter. (デフォルト値は次のとおりです None) | Boolean |
特性
プロパティ | 説明 | データ タイプ |
altered (読み取り専用) | True if the user has modified the value. | Boolean |
category (読み書き) | The category of the parameter. | String |
columns (読み書き) | The column data types and names of a value table parameter. Set using a list of lists:
| String |
datatype (読み書き) | The data type of the parameter. For a list of parameter data types, see Geoprocessing data types. | String |
defaultEnvironmentName (読み書き) | The geoprocessing environment setting used to set the parameter's default value. | String |
direction (読み書き) | Input/Output direction of the parameter. | String |
displayName (読み書き) | The parameter label as shown on the tool's dialog box. | String |
enabled (読み書き) | False if the parameter is unavailable. | Boolean |
filter (読み取り専用) | The filter to apply to values in the parameter. | Filter |
filters (読み書き) | Similar to filter, but used to support value table parameters, including drop-down menus.
| Filter |
hasBeenValidated (読み取り専用) | True if the internal validation routine has checked the parameter. | Boolean |
message (読み取り専用) | The message to be displayed to the user. | String |
multiValue (読み書き) | True if the parameter is a multivalue parameter. | Boolean |
name (読み書き) | The parameter name. | String |
parameterDependencies (読み書き) | A list of indexes of each dependent parameter. | Integer |
parameterType (読み書き) | Can be Required, Optional, or Derived. Derived means that the user of your tool does not enter a value for the parameter. Derived types are always output parameters.
| String |
schema (読み取り専用) | The schema of the output dataset. | Schema |
symbology (読み書き) | The path to a layer file (.lyr) used for drawing the output. | String |
value (読み書き) | The value of the parameter. | Object |
valueAsText (読み取り専用) | The value of the parameter as a string. | String |
values (読み書き) | The values of the Value Table parameter. Set using a list of lists. | Variant |
メソッドの概要
メソッド | 説明 |
clearMessage () | Clears out any message text and sets the status to informative (no error or warning). |
hasError () | Returns true if the parameter contains an error. |
hasWarning () | Returns True if the parameter contains a warning. |
isInputValueDerived () | Returns True if the tool is being validated inside a Model and the input value is the output of another tool in the model. |
setErrorMessage (message) | Marks the parameter as having an error with the supplied message. Tools do not execute if any of the parameters have an error. |
setIDMessage (message_type, message_ID, {add_argument1}, {add_argument2}) | Allows you to set a system message. |
setWarningMessage (message) | Marks the parameter as having a warning with the supplied message. Unlike errors, tools will execute with warning messages. |
メソッド
clearMessage ()
hasError ()
戻り値
データ タイプ | 説明 |
Boolean | True if the parameter contains an error. |
hasWarning ()
戻り値
データ タイプ | 説明 |
Boolean | True if the parameter contains a warning. |
isInputValueDerived ()
戻り値
データ タイプ | 説明 |
Boolean | True if the tool is being validated inside a Model and the input value is the output of another tool in the model. |
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 datatype 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 datatype 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 example
Enabling or disabling a parameter in a ToolValidator class.
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
Parameter example 2
Setting a default value for a parameter in a ToolValidator class.
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 example 3
Setting a custom error message for a parameter in a ToolValidator class.
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