Summary
Defines the field in the input table or feature class that stores the subtype codes.
Usage
A feature class or table can have only one subtype field.
After a subtype field is set, subtype codes can be added to the feature class or table using the Add Subtype tool.
-
You can also view and manage subtypes in Subtypes view which can be opened by clicking the Subtypes button found in the Design section of the Data ribbon, or the by clicking the Subtypes button on the Fields view ribbon.
This tool can also be used to clear the subtype field if a subtype field is no longer needed.
Syntax
arcpy.management.SetSubtypeField(in_table, {field}, {clear_value})
Parameter | Explanation | Data Type |
in_table | The input table or feature class that contains the field to set as a subtype field. | Table View |
field (Optional) | The integer field that will store the subtype codes. | Field |
clear_value (Optional) | Specifies whether to clear the subtype field.
| Boolean |
Derived Output
Name | Explanation | Data Type |
out_table | The updated table or feature class. | Table View |
Code sample
The following Python window script demonstrates how to use the SetSubtypeField function in immediate mode.
import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("water/fittings", "TYPECODE")
The following stand-alone script demonstrates how to use the SetSubtypeField function as part of a workflow to add subtypes to a field.
# Name: ManageSubtypes.py
# Purpose: Create a subtype definition
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every
# time)
arcpy.env.workspace = "C:/data/Montgomery.gdb"
# Set local parameters
inFeatures = "water/fittings"
# Process: Set Subtype Field...
arcpy.SetSubtypeField_management(inFeatures, "TYPECODE")
# Process: Add Subtypes...
# Store all the subtype values in a dictionary with the subtype code as the
# "key" and the subtype description as the "value" (stypeDict[code])
stypeDict = {"0": "Unknown", "1": "Bend", "2": "Cap", "3": "Cross",
"4": "Coupling", "5": "Expansion joint", "6": "Offset", "7":"Plug",
"8": "Reducer", "9": "Saddle", "10": "Sleeve", "11": "Tap",
"12": "Tee", "13": "Weld", "14": "Riser"}
# Use a for loop to cycle through the dictionary
for code in stypeDict:
arcpy.AddSubtype_management(inFeatures, code, stypeDict[code])
# Process: Set Default Subtype...
arcpy.SetDefaultSubtype_management(inFeatures, "4", "")
The following Python window script demonstrates how to use the SetSubtypeField function in immediate mode to clear the subtype field.
import arcpy
arcpy.env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("water/fittings", "", "TRUE")
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes