Attribute Rules were introduced to the GIS community in January 2019 with the release of ArcGIS Pro 2.3 and ArcGIS Enterprise 10.7. The focus was and still is improving data quality and reducing erroneous data entry. While Geodatabase Domains do this through pick lists and validation through range domains, there is nothing stopping an editor from picking the wrong value. Also, many DOT's attach information onto their asset inventory such as the county, District, Maintenance Region, and other administrative boundaries. Many DOT's even do this through post-processing.
What if there was a way to do this in real-time while an Editor is creating a new feature or even moving an existing feature or updating its attributes. I present to you Attribute Rules. The Attribute rules are designed to support 3 types of workflows.
- Automatic population of attributes.
- Perform QA checks on existing features.
- Constrain Invalid Edits.
They are applied to your data residing in an Enterprise Geodatabase and are just another complex behavior like domains and subtypes. They support two workflows which include evaluation at edit operations using immediate calculations to populate an attribute dynamically or they can be used as a constraint to specify permissible values. The second workflow they support is evaluation of data by a validation service allowing the user to apply them to a batch calculation to populate attributes and validation to validate existing data.
Attribute Rules allow you to make the data smart, so the editor doesn't have to necessarily know where they are when they are editing a bridge. As long as they create the bridge point, Attribute Rules can, for example, intersect the bridge point with a county and pull out the county name and insert it into the county name field on the bridge layer. So as long as you know what the authoritative data sources using arcade expressions you can make your data smart.
The best part in all of this is that wherever you make edits, in Pro, Web App Builder, Event Editor, Survey123, Collector or any other app that supports editing, the database will always honor your attribute rules and apply them no matter the client making the edit.
Here is a video I put together to illustrate how it works. Over the next few months, I'll update this blog with videos on Constraints and Validation Rules. To sweeten the pot I've also attached all of the arcade expressions I used in the video to give you a head start on your own efforts to implement Attribute Rules. Also here is a nice article in the help and a deeper dive video than mine on Attribute Rules from the 2019 Developer Summit.