
Data quality is not a feature you turn on. It’s a discipline you build into every edit, every rule, and every record.
Introduction
For this tutorial, you help the City of White Rock improve the quality of its streetlight inspection data in ArcGIS Pro. Each pole has four inspection tests: hammer, pole, wiring, and panel. Each test is scored from 0 to 5, and the “Inspection Test Results” field should be the average. However, many records are incomplete or miscalculated.
By the end of the course, you will have learned how to build and apply attribute rules that enforce data integrity, automate calculations, and identify errors. The dataset becomes consistent and reliable, and the city can use accurate inspection data for planning, maintenance, and reporting.
The following pages include screenshots I captured while completing the tutorial. They show each step, from enabling Global IDs to configuring rules and validating results, demonstrating how ArcGIS Pro can automate data quality and support better field operations.

Preparing the Geodatabase
You begin by enabling Global IDs and Editor Tracking to prepare the geodatabase. These are important in a multi-user or enterprise GIS setup, where several editors might work on the same data. Attribute rules rely on these identifiers to track edits and maintain consistency across the geodatabase.
Before adding attribute rules, I enabled Global IDs and Editor Tracking in the feature class.
- Global IDs ensure each record has a unique identifier.
- Editor Tracking records who made each change and when.
This setup is important for multi-user editing environments and ensures accountability in shared municipal data systems.

Creating the Attribute Rules
Then you create three attribute rules using the Arcade scripting language. Arcade is Esri’s expression language used to perform on-the-fly calculations, automate edits, and validate data inside ArcGIS. It supports logic-based functions such as IsEmpty() (used to check if a field is blank) and Mean() (used to calculate an average), both essential to this exercise.
1. Constraint Rule prevents saving a record if any test value is missing.
This rule enforces completeness during data entry. It can also be configured with specific error messages and severity levels, allowing editors to understand exactly why a record failed.
if (IsEmpty($feature.HammerTest) || IsEmpty($feature.PoleCond) ||
IsEmpty($feature.WiringCond) || IsEmpty($feature.PanelCond)) {
return false
}
return true
This ensures that every inspection entry includes all four test results.

2. Immediate Calculation Rule automatically computes the average score when edits are made.
This removes manual calculation errors and speeds up workflows. The execution type here is “immediate,” meaning the rule runs the moment a feature is added or updated.
Mean($feature.HammerTest, $feature.PoleCond,
$feature.WiringCond, $feature.PanelCond)
This removes the possibility of manual errors and ensures uniform calculations across all records.

3. Validation Rule identifies poles that failed inspection with an average score below 2.
You then use the Error Inspector to find and review these records. In a real-world workflow, city staff could generate a report of failed streetlights or schedule a follow-up inspection based on these validation results.
if ($feature.Inspection_Results < 2) {
return false
}
return true
The Error Inspector tool was then used to find and review these records. This made it easy to identify streetlights requiring maintenance.

Results and Verification
After applying all three rules, the data became consistent and easy to maintain.
- Incomplete entries could no longer be saved.
- Average scores updated instantly after edits.
- Failed inspections were flagged automatically for review.
The city can now depend on accurate data for its streetlight maintenance program, saving time and reducing the risk of reporting errors.

Reflection
By the end of the tutorial, I learned how to create and apply attribute rules to enforce data quality in ArcGIS Pro. Automating calculations and enforcing completeness through these rules significantly improves efficiency and reliability in GIS workflows.
For city operations like White Rock’s, such improvements directly translate to faster planning, better maintenance decisions, and improved public service outcomes.
The screenshots throughout this post are from my own work while completing the tutorial. They show each stage of the process, from enabling tracking to validating the dataset—and confirm the successful implementation of each rule.
Conclusion
This lab reinforced the importance of automation and validation in GIS data management. Attribute rules are not just a technical feature; they represent a discipline of accuracy and accountability. Whether in municipal infrastructure or environmental monitoring, data quality begins at the schema level.