Add Subtype (Data Management)


Adds a new subtype to the subtypes in the input table.

Learn more about working with subtypes



AddSubtype_management (in_table, subtype_code, subtype_description)
ParameterExplanationData Type

The feature class or table containing the subtype definition to be updated

Table View

A unique integer value for the subtype to be added


A description of the subtype code


Code Sample

Add Subtype example (Python window)

The following Python window script demonstrates how to use the AddSubtype function in Immediate mode.

import arcpy
from arcpy import env
env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetSubtypeField_management("water/fittings", "TYPECODE")
arcpy.AddSubtype_management("water/fittings", "1", "Bend")
Add Subtype example 2 (Stand-alone script)

The following stand-alone script demonstrates how to use the AddSubtype function as part of a workflow to add subtypes to a field.

# Name:
# Purpose: Create a subtype definition
# Author: ESRI

# Import system modules
import arcpy
from arcpy import env
    # Set the workspace (to avoid having to type in the full path to the data every time)
    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 suptype 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")
except Exception, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message


Related Topics

Licensing Information

ArcView: Yes
ArcEditor: Yes
ArcInfo: Yes