3.2 Subtypes and Feature Class Schema Design

Key Takeaways

  • Subtypes allow you to logically group features within a single feature class based on a categorical attribute, improving performance and organization.
  • Subtypes must be based on a Short Integer or Long Integer field; text fields cannot be used to define subtypes.
  • Each subtype can have its own unique default values and assigned attribute domains, providing highly granular data entry control.
  • Using subtypes is generally more efficient than creating dozens of separate feature classes for closely related features with identical schemas.
  • When designing schemas, consider that subtypes share the same fields; if subsets of data require vastly different attributes, separate feature classes may be necessary.
Last updated: July 2026

Subtypes and Feature Class Schema Design

Quick Answer: Subtypes categorize features within a single feature class into logical sub-groups using an integer field. They allow you to apply different default values and domains to each sub-group without maintaining multiple feature classes, streamlining database design and editing workflows.

While attribute domains enforce rules at the field level, subtypes provide a way to enforce rules and behaviors at the feature level. Subtypes allow you to divide the features in a feature class (or rows in a table) into logical groupings based on a specific characteristic. This categorization is a fundamental aspect of efficient geodatabase schema design.

What are Subtypes?

Subtypes represent a classification of data within a feature class that shares the same attributes but has different default values or domain restrictions.

For example, consider a feature class representing "Streets". Instead of treating all streets identically, you can create subtypes for "Local", "Arterial", and "Highway". While all these streets share fields like "Name", "Speed Limit", and "Paved", the acceptable values and defaults will differ based on the subtype.

The Subtype Field Requirement

A critical requirement in ArcGIS Pro is that subtypes can only be based on a Short Integer or Long Integer field. You cannot use a Text field (e.g., storing the word "Highway") to define a subtype. Instead, the integer field stores a code (e.g., 1, 2, 3), and the geodatabase maps this code to the subtype description.

When setting up subtypes, you designate one specific integer field as the "Subtype Field". Once designated, the values in this field determine which subtype rules apply to the feature.

Capabilities of Subtypes

The primary advantage of using subtypes is the ability to assign different properties to each category while keeping them in the same feature class.

1. Subtype-Specific Default Values

You can specify different default values for fields based on the subtype. When an editor creates a new feature, they first select the subtype they are creating. The fields are then automatically populated with the defaults for that specific subtype.

Example in a "Streets" feature class:

  • Subtype 1 (Local): Default Speed Limit = 25
  • Subtype 2 (Arterial): Default Speed Limit = 45
  • Subtype 3 (Highway): Default Speed Limit = 65

2. Subtype-Specific Domains

You can apply different attribute domains to the same field depending on the subtype. This ensures that the drop-down list of choices is entirely relevant to the specific type of feature being edited.

Example in a "Pipes" feature class, for the "Material" field:

  • Subtype 1 (Water Main): Domain applied = dom_MainMaterials (Ductile Iron, PVC, Concrete)
  • Subtype 2 (Service Line): Domain applied = dom_ServiceMaterials (Copper, PEX, Lead)

In this scenario, if an editor is modifying a Service Line, they will only see Copper, PEX, and Lead as options. They physically cannot accidentally assign "Concrete" to a service line.

3. Display and Symbology

ArcGIS Pro automatically recognizes subtypes when adding a feature class to a map. It will instantly symbolize the layer using unique values based on the subtype field, and the Create Features pane will list each subtype as a separate template, making editing intuitive.

Subtypes vs. Separate Feature Classes

A common dilemma in schema design is deciding whether to use subtypes or create entirely separate feature classes.

When to Use Subtypes:

  • Identical Schemas: The features share the exact same set of attribute fields (e.g., all roads have a Name, Length, and Surface Type).
  • Performance: Rendering and querying one feature class with 10,000 records and 5 subtypes is generally faster and more efficient for the geodatabase than handling 5 separate feature classes with 2,000 records each.
  • Network Datasets and Topology: Features that participate heavily with each other in utility networks or topologies are often better kept in a single feature class using subtypes.
  • Simplified Editing: Editors only need to turn on one layer to see and edit all related features.

When to Use Separate Feature Classes:

  • Different Schemas: If the different categories require vastly different attribute fields, use separate feature classes. For instance, "Wells" and "Pipes" both relate to water, but a Well needs fields for "Depth" and "Pump Type", while a Pipe needs "Diameter" and "Pressure Rating". Forcing them into one feature class with many empty/null fields is poor design.
  • Security/Access Control: If you need to restrict edit access so that Group A can only edit Local Streets and Group B can only edit Highways, it is much easier to manage permissions at the feature class level rather than the subtype level.
  • Different Geometry Types: Subtypes must share the same geometry (all points, or all lines). If one category is a point and another is a polygon, they must be separate feature classes.

Managing Subtypes in ArcGIS Pro

Subtypes are managed using the Subtypes View, accessible from the Data tab when a feature layer is selected.

  1. Set the Subtype Field: Choose the integer field that will store the subtype codes.
  2. Define Subtypes: Add new rows for each subtype, assigning a unique code and a clear description.
  3. Set Default Subtype: Determine which subtype is selected by default if a new feature is created programmatically without a specified type.
  4. Configure Domains and Defaults: The Subtypes View presents a matrix where you can assign specific default values and domains to every field for every subtype.

Properly implemented subtypes drastically reduce data entry errors and simplify the overarching structure of your geodatabase schema.

Test Your Knowledge

Which of the following field types MUST be used as the Subtype Field in an ArcGIS Pro geodatabase?

A
B
C
D
Test Your Knowledge

In schema design, when is it generally recommended to create separate feature classes instead of utilizing subtypes?

A
B
C
D
Test Your Knowledge

Which of the following is a capability of using subtypes?

A
B
C
D