One of the questions we got from customers is how to let editors make changes to attributes but prevent them from moving or modifying the geometry of features? E.g. You want parcel fabric points that are marked as fixed to stay fixed. This is now possible with Attribute Rules in Pro 2.5 & ArcGIS Enterprise 10.8.
In this short blog, we explain how you can achieve that with Attribute Rules! You will need ArcGIS Pro 2.5 because you will be using a new Arcade global called $originalFeature
The file geodatabase with sample data and attribute rules for this blog can be download here.
$originalFeature
The $originalFeature is a new Arcade global that presents the state of the feature before the edit giving the script author flexibility to compare the current values $feature
with the original values of the feature. You can read more about this new Arcade global in my other blog.
Prevent geometry updates
You will now write a constraint attribute rule that will prevent geometry updates but will allow attributes to be changed. Follow these steps
- Using ArcGIS Pro 2.5 create a new map project
- Create a new point feature class on the project file geodatabase
- Make sure to add your fields and the globalId
- Add a constraint attribute rule that triggers on update to your class with the following script
//if the geometry has changed prevent the edit
if (!Equals(Geometry($feature), Geometry($originalFeature)))
return false;
return true
Finally save your attribute rule and test, you can see that you can edit attributes on features but not the geometry.
You could also allow geometry updates on certain features but not others by adding another field and add the necessary logic to your Arcade script. File Geodatabase with this sample can be downloaded here.
You can add this attribute rules to any feature class, publish it as a feature service and have your rule being respected across all clients (web, collector, Pro etc.)