Set Default Subtype (Data Management)


Sets the default value or code for the input table's subtype.



SetDefaultSubtype_management (in_table, subtype_code)
ParameterExplanationData Type

The input table or feature class whose subtype default value will be set.

Table View

The unique default value for a subtype.


Code Sample

Set Default Subtype Example (Python Window)

The following Python window script demonstrates how to use the SetDefaultSubtype function in immediate mode.

import arcpy
from arcpy import env
env.workspace = "C:/data/Montgomery.gdb"
arcpy.SetDefaultSubtype_management("water/fittings", 5)
Set Default Subtype Example 2 (Stand-alone Script)

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

# 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