Data design

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.

Data modeling tools allow you to do the following:

  • Set up user or system defined rules
  • Automate data processes
  • Clean your data through comprehensive checks

Using these tools can enhance the editing experience and promote attribute and spatial integrity of your data to help reduce the potential for data inconsistency and ensure you always have quality, accurate data.

For example, you can use a Campus Editing solution to work with the basic building blocks of data modeling—fields, domains, and subtypes—in ArcGIS Pro and review advanced data modeling functionality such as contingent values and attribute rules.


You can open the data design views by right-clicking a layer or table in the Contents pane or a feature class or table in the Catalog pane, choosing Data Design from the context menu, and clicking one of the following: Domains, Fields, Subtypes, Attribute Rules, or Contingent Values.


In the following screenshot, 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 or attributes of that layer. For example, the Buildings 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.

Learn more about fields

Fields view for the Building layer


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 following screenshot shows the creation of a new domain called Access Type. This domain is 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

Learn more about attribute domains


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.

The following screenshot shows subtypes for 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 is determined by the subtype you choose.

Creating new subtypes on the BLDGTYPE field for the Building layer

Learn more about subtypes

Contingent values

Contingent values allow you to set up dependencies of values among fields with domains. A field with a domain forces an editor to select from a valid list of values, but with contingent values, you can go a step further to limit the list of values based on other fields. Several fields are linked together in a field group and combinations of contingent values are defined within the field group. When editing, instead of seeing the entire list of domain values, you only see the contingent values.

Learn more about contingent values

Attribute rules

Attribute rules are advanced data design capabilities that enhance the editing experience and improve data integrity. They are user-defined rules that can automatically populate fields, prevent invalid edits, and perform quality data review of existing features.

Learn more about attribute rules