In an Arcade attribute rule:
Is there a way to compare a feature's geometry before the edit was made...
vs.
...the edited geometry?
Example:
If the pre-edit geometry is different from the edited geometry, then do x to the geometry.
Else, do nothing.
Related: Attribute Rules: Update only on geometry change
I was hoping I'd be able to use $feature.shape as to get the pre-edit geometry. But that failed. Which is weird, because I can use $feature.shape_length without issue.
Equals(geometey($feature),geometry($originalfeature))
Not sure you NEED the geometry functions but it doesn't hurt.
Not near a comouter, but i think you can use IsEmpty to determine if the feature existed before it was edited (i.e reshaped, moved, or added)
For my records, here's where the $originalfeature global variable can be found in the docs:
Attribute Rule Calculation
Globals
Variable Name Type Description
$datastore FeatureSetCollection A collection of layers in the same feature service or database as the$featureexecuting the script. $editcontext.editType Text Indicates whether the edit event isINSERT,UPDATE,DELETE, or NA(not applicable). $feature Feature The feature being calculated. $originalFeature Feature The previous state of the feature being calculated. $featureSet FeatureSet A collection of features in the same table as the$featureevaluating the expression.
Related:
- Identify whether a specific attribute value has changed
- Arcade: Editing M-values not treated as change to geometry