Set Subtype Field (Data Management)

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})
ParameterExplanationData 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.

  • CLEAR_SUBTYPE_FIELDThe subtype field will be cleared (set to null).
  • DO_NOT_CLEARThe subtype field will not be cleared. This is the default.
Boolean

Derived Output

NameExplanationData Type
out_table

The updated table or feature class.

Table View

Code sample

SetSubtypeField example (Python window)

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")
SetSubtypeField example 2 stand-alone script)

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", "")
SetSubtypeField example 3 (Python window)

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")

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics