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.

  • This tool can also be used to clear the subtype field if a subtype field is no longer needed.

Parameters

LabelExplanationData Type
Input Table

The input table or feature class that contains the field to set as a subtype field.

Table View
Field Name
(Optional)

The integer field that will store the subtype codes.

Field
Clear Value
(Optional)

Specifies whether to clear the subtype field.

  • Checked—The subtype field will be cleared (set to null).
  • Unchecked—The subtype field will not be cleared. This is the default.
Boolean

Derived Output

LabelExplanationData Type
Updated Input Table

The updated table or feature class.

Table View

arcpy.management.SetSubtypeField(in_table, {field}, {clear_value})
NameExplanationData 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

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

Related topics