Subtypes are a subset of features in a feature class, or objects in a table, that share the same attributes. They are used as a method to categorize your data. For example, the streets in a city streets feature class could be categorized into three subtypes: local streets, collector streets, and arterial streets.
Subtypes allow you to do the following:
- Set default values on fields in each of the subtypes that will
automatically apply when creating new features.
In the above example, the local streets subtype could have the default value for a speed limit attribute set to 25 miles per hour, while the default value for the arterial streets subtype could be 35 miles per hour. Whenever a local street is added to the streets feature class, its speed limit attribute will automatically be set to 25 miles per hour. Whenever an arterial street is added, the speed limit will automatically be set to the default of 35 miles per hour.
Apply coded or ranged domains to the fields of a subtype, enabling you to constrain input information to a valid set of values.
For example, in a feature class for water mains, a range domain for water pressure can be implemented. The subtype representing transmission water mains can have a pressure between 40 and 100 psi, while the subtype for distribution water mains can have a pressure between 50 and 75 psi.
- Each subtype may have different connectivity, relationship, or topology rules associated with it.
- Increase the performance of the geodatabase by representing a variety of real-world objects as a subset of features in a given feature class instead of creating new feature classes for each object.
- Create customized rules between features using written code.
You can view and manage subtypes in the Subtypes view, which can be opened by clicking the Subtypes button in the Data Design group on the Feature Layer or Standalone Table tab, or by clicking the Subtypes button on the Fields view tab.
In the Subtypes view, you can view the subtypes associated with a layer, make edits to the properties of those subtypes, apply domains and default values to the fields of a subtype, or create subtypes in a layer.
In the example below, subtypes are being created in the Building layer. These subtypes are applied to the BLDGTYPE field and represent various types of buildings, such as Development, Utility, Marketing, and Security. Now when creating buildings, the type of building will be determined by choosing one of these subtypes.
Domains and default values can also be applied to the fields on each of the subtypes. Using the AccessType domain that was created in the Data design topic, access permissions can be added to each building by applying the appropriate domain and default value on a subtype. Now when creating a Development building, for example, it will automatically be given the AccessType value of Employees, restricting entrance permissions on that building to employees only, whereas new Utility buildings will automatically be given the AccessType value of Maintenance.
This example shows how you can use subtypes to subcategorize layers, and apply behavior to those subtypes.