SetParameterAsText

Summary

Sets a specified parameter property by index or parameter name using a string value. This function is used to pass values from a script to a script tool. If you need to pass an object, such as a SpatialReference object, use the SetParameter function.

Syntax

SetParameterAsText (index, text)
ParameterExplanationData Type
index

The specified parameter's index position or parameter name.

Integer
text

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

String

Code sample

SetParameterAsText example

Pass a string to a specified tool parameter by index.

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 example

Pass a string to a specified tool parameter by parameter name.

The tool has four parameters, one input and three output. The parameter names are in_features, is_polygon, is_line, and 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")

Related topics