Fields, domains, and subtypes

A successful GIS is built on a well-designed collection of geographic data that effectively models your world and makes for simple and efficient display, editing, and analysis. To this end, Esri has put together a number of industry solutions for a variety of communities, such as water utilities, public safety, local government, and many others. Each solution contains a data model designed to work with the features and information specific to that community, be it water mains, hydrants, and other features in a water utilities solution, or emergency facilities and city streets in a solution designed for public safety.

This help topic examines the Campus Editing solution to demonstrate how you can work with the components of a data model in ArcGIS Pro. You'll start with the basic building blocks: fields, domains, and subtypes.

View and edit a layer's fields in Fields view

In the following screen capture, a few layers from the Campus Editing data model have been added to a map.

Map of Esri campus

Each of these layers contains a number of fields that describe the properties of that layer. For example, the Building layer represents a collection of campus buildings, and the layer has fields to describe each of the building's properties, such as the name of the building, the type of building it is, the size of the building, and so on. All of this information is stored as fields in a table, the most fundamental of building blocks.

To view the fields for any given layer, you can select the layer in the Contents pane, which enables a contextual section on the ribbon called Feature Layer. The Data tab contains the Design group, which contains the Fields, Subtypes, and Domains buttons. These are tools for working with a data model.


You can also open the Fields, Subtypes, and Domains views by right-clicking a layer or table in the Contents pane or a feature class or table in the Catalog pane, choosing Design from the context menu, and clicking Fields, Subtypes, or Domains.

Fields, Subtypes, and Domains view buttons on the Data ribbon

Clicking Fields opens a new view displaying the layer's fields in a table.

Fields view for the Building layer

From the Fields view, you can create fields, delete fields, and modify existing fields by navigating within the table and typing or using the clipboard functions.

Using the Campus Editing data model, you can perform the following edits to the Buildings layer in the Fields view:

  • Change the name and alias of a field.
  • Delete unnecessary fields.
  • Add a new field called BLDGTYPE to store the type of campus building.
  • Apply a domain to a field.
  • Apply a default value to a field.

Learn more about how to work with fields in Fields view

Example edits done in Fields view

From the Fields tab, you can also access two other useful views when working with a data model: Domains view and Subtypes view.

View and edit domains in the Domains view

Domains are created and edited in their own tabular-style view called Domains view.

Domains allow you to model specific values to be used on the fields in your layers. They offer a way to enforce data integrity in your data model by restricting the input on any particular field to a list or range of valid values. By creating a domain and applying it to a field, you are limiting the choice of values available for that field. This decreases the possibility of entering invalid information while editing, therefore increasing the integrity of your data model overall.

The Domains view is also accessible from the Data tab or from the Fields and Subtypes tabs, which are available with Fields view and Subtypes view. In the Domains view, you can view existing domains and edit their properties and values, and create new domains.

In the following screen capture, some of the domains associated with the Campus Editing data model are shown. These domains can be applied on a layer's fields or on the fields of any subtypes associated with a given layer.

Domains view

The following screen capture shows the creation of a new domain called Access Type. This domain will be used to determine the type of access permissions an employee needs to enter any given building on campus. This domain is given four valid values: Employees, Public, Maintenance, and Security.

Creating a new domain in the Domains view

After filling in the domain's properties and valid values in the Domains view and clicking Save on the tab, that domain can be used on fields in the Fields or Subtypes view.

Learn more about how to view and edit domains in the Domains view

View and edit subtypes in the Subtypes view

Using the Subtypes button on the Data tab, you can open the Subtypes view and see all of the subtypes associated with a given layer.

Subtypes allow you to categorize a layer into a subset of features that share the same attributes. You can then apply domains and default values to the fields of each subtype.

In the Subtypes view, you can view the subtypes associated with a layer, make edits to the properties of those subtypes, or make entirely new subtypes in that layer.

You can also create subtypes on a layer that doesn't yet have any by clicking the Create/Manage Subtypes button on the ribbon, choosing a field to base the subtype on from the Subtype Field drop-down menu, and creating subtype codes and descriptions for that layer.

The following screen capture shows subtypes being created on the Buildings layer. These subtypes are applied to the BLDGTYPE field and represent different types of buildings, such as Development, Utility, Marketing, and Security. Now when creating buildings, the type of building will be determined by the subtype you choose.

Creating new subtypes on the BLDGTYPE field for the Building layer

Domains and default values can also be applied to the fields on each of the subtypes. Using the Access Type domain that was created in the previous section, access permissions can be added to each building by applying the appropriate domain and default value on a subtype. Now when creating a new Development building, for example, it will automatically be given the Access Type value of Employees, restricting entrance permissions on that building to employees only. New Utility buildings, however, will automatically be given the Access Type value of Maintenance.

The following screen capture shows how you can use subtypes to subcategorize your layers and apply behavior to those subtypes.

Applying the Access Type domain and default values to the newly created subtypes

Learn more about how to view and edit subtypes in the Subtypes view

Continue learning about fields, domains, and subtypes views

This topic showed an overview of some of the functionality within the Fields, Domains, and Subtypes views. Using these views together allows you to modify existing data models or build your own.

This topic briefly covered the following:

  • Creating, deleting, and modifying fields in the fields view
  • Creating a domain in the domains view
  • Creating subtypes in the subtypes view
  • Applying domains and default values to subtypes

The following topics in this help section go into more detail on each of the three views. Read on to gather a better understanding of how to use Fields, Domains, and Subtypes views when working with a data model.