SetParameterAsText

Краткая информация

Настраивает свойство заданного параметра по индексу или имени параметра с помощью значения строки. Эта функция используется при передаче значений из скрипта в инструмент скрипта. Если необходима передача объекта, например, SpatialReference, используйте функцию SetParameter.

Синтаксис

SetParameterAsText (index, text)
ПараметрОписаниеТип данных
index

The specified parameter's index position or parameter name.

Integer
text

The string value that will set the specified parameter's property.

String

Пример кода

Пример работы SetParameterAsText

Передать строку в указанный параметр инструмента по индексу.

import arcpy

# Get the feature class from the tool.
fc = arcpy.GetParameterAsText(0)

# Determine the shape type of the feature class.
describe = arcpy.Describe(fc)

# Set tool output parameters based on shape type.
if describe.shapeType == "Polygon":
    arcpy.AddMessage("Feature Type is polygon")
    arcpy.SetParameterAsText(1, "true")  # Is polygon
    arcpy.SetParameterAsText(2, "false") # Is not line
    arcpy.SetParameterAsText(3, "false") # Is not point

elif describe.shapeType == "Polyline":
    arcpy.AddMessage("Feature Type is polyline")
    arcpy.SetParameterAsText(1, "false") # Is not polygon
    arcpy.SetParameterAsText(2, "true")  # Is line
    arcpy.SetParameterAsText(3, "false") # Is not point

elif describe.shapeType == "Point":
    arcpy.AddMessage("Feature Type is point")
    arcpy.SetParameterAsText(1, "false") # Is not polygon
    arcpy.SetParameterAsText(2, "false") # Is not line
    arcpy.SetParameterAsText(3, "true")  # Is point

else:
    arcpy.AddMessage("Unknown feature type")
    arcpy.SetParameterAsText(1, "false") # Is not polygon
    arcpy.SetParameterAsText(2, "false") # Is not line
    arcpy.SetParameterAsText(3, "false") # Is not point
Пример работы SetParameterAsText

Передать строку в указанный параметр инструмента по имени параметра.

У инструмента четыре параметра, один входной и три выходных. Имена этих параметров следующие: in_features, is_polygon, is_line и is_point.

import arcpy

# Get the feature class from the tool.
fc = arcpy.GetParameterAsText("in_features")

# Determine the shape type of the feature class.
describe = arcpy.Describe(fc)

# Set tool output parameters based on shape type.
if describe.shapeType == "Polygon":
    arcpy.AddMessage("Feature Type is polygon")
    arcpy.SetParameterAsText("is_polygon", "true")
    arcpy.SetParameterAsText("is_line", "false")
    arcpy.SetParameterAsText("is_point", "false")

elif describe.shapeType == "Polyline":
    arcpy.AddMessage("Feature Type is polyline")
    arcpy.SetParameterAsText("is_polygon", "false")
    arcpy.SetParameterAsText("is_line", "true")
    arcpy.SetParameterAsText("is_point", "false")

elif describe.shapeType == "Point":
    arcpy.AddMessage("Feature Type is point")
    arcpy.SetParameterAsText("is_polygon", "false")
    arcpy.SetParameterAsText("is_line", "false")
    arcpy.SetParameterAsText("is_point", "true")

else:
    arcpy.AddMessage("Unknown feature type")
    arcpy.SetParameterAsText("is_polygon", "false")
    arcpy.SetParameterAsText("is_line", "false")
    arcpy.SetParameterAsText("is_point", "false")

Связанные разделы