Attribute domains are used to regulate the values permitted in any particular attribute field for a table, feature class, or subtype. Domains are stored in a geodatabase and can be applied to multiple feature classes and tables within the geodatabase.
Depending on your requirements, attribute domains are either applied as range domains or coded value domains. Range domains define a field's minimum and maximum values. They can be used in short, long, float, double, and date attribute fields. Coded value domains specify a valid set of values for an attribute, giving both the allowed actual value and a more easily interpreted description of what the code represents.
The following geoprocessing tools allow you to create and manage attribute domains:
- Add Coded Value To Domain
- Assign Domain To Field
- Calculate Field
- Create Domain
- Delete Coded Value From Domain
- Delete Domain
- Domain To Table
- Remove Domain From Field
- Set Value For Range Domain
- Table To Domain
Why is it important to know if attribute domains are present?
The domain assigned to a field in a feature class or table is in many cases still relevant after the feature class or table has been processed. Whenever the output of a tool is not a geodatabase format (such as a shapefile), the fields will not have domains assigned to them.
Determining if you have attribute domains
For a list of attribute domains in a geodatabase:
- In ArcCatalog, right-click the geodatabase.
- Click Properties.
- Click the Domains tab.
All domains in the geodatabase are listed by name with descriptions and properties.
To see if a domain has been applied to an attribute field:
- In ArcCatalog, right-click the feature class or table.
- Click Properties.
- Click the Fields tab.
- Click the attribute field in question and examine the field properties.
Domains are only supported in geodatabase tables and feature classes. If the tools below are used in a geodatabase on data with a domain, the output that is generated also has the domain. A conversion to any format other than geodatabase (such as shapefiles and coverages) will succeed, though the output will obviously not have domains.
The following tools support domains when processing features between geodatabases:
When the output is written to a different geodatabase than the input, the domain is copied over into the output geodatabase.
In the circumstance that there is a preexistent domain in the output geodatabase with the same name but different properties, the copied domain will be renamed by appending _<n> (where n is a unique number such as 1).