Attribute domains are used to regulate the values permitted in a 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 in the geodatabase.
Depending on your requirements, attribute domains are applied as either 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, providing 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 it's important to know whether 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. When the output of a tool is not a geodatabase format (such as a shapefile), the fields will not have domains assigned to them.
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 not have domains.
The following tools support domains when processing features between geodatabases:
When the output is written to a geodatabase other than the input, the domain is copied into the output geodatabase.
When 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> (in which n is a unique number such as 1).