I have created the attribute rules for our road centerline feature class. I would like to know how I can handle if an existing road is split so that both sides keep all fields with the correct data.
That depends how your road centerlines are setup. In our case, each centerline has address ranges for both sides, so splitting one requires manually assigning the address ranges to each of the two new segments. I don't think that's something you could do with attribute rules alone, but ESRI's Address Management solution uses that exact scenario in a promo video I saw. I haven't tried it myself, but it looks enticing.
The easiest way is to set the rule to execute on Insert, and then change the split-policy on the line to delete-insert-insert. This way when you do a split, what will really happen is 3 events
The original long line will be deleted. (if you have a delete AR it will trigger here)
the first segment will be inserted (to the left anchor) and attribute rule will be triggered
the second segment will be inserted (to the right of the split anchor) and attribute rules will be triggered on insert
all attributes are preserved from the original line (essentially duplicated)
you can handle the same thing with the existing split policy (update insert) its just little harder.
you can change the split policy from the properties of the class.
Would it be possible to provide an example of the arcade code that would do these "3 events"?
Thanks
Yes, you simply change the split model from update/insert to, delete insert insert
Great, we will give that a try. Txs
I have a very similar question to this one. In my case, my staff are splitting stormwater lines, and we have an attribute rule that automatically adds a new ID number from a sequence to a new line (feature). We are using the update/insert method. When we split a line, it adds a new ID number to one of the split lines and keeps the existing ID on the other. We've noticed in our testing, that the shorter line segment always gets the new ID and the longer always keeps the existing ID. We'd like to understand why this happens. Will the update/insert rule always give the new ID to the shorter segment? Is that the default behavior that the software has buried somewhere in the code? If it is the default behavior, we just want to know so we understand what will happen. We haven't found any answers to this question in the help documents/pages.
We are using Pro 3.1 with an Enterprise Geodatabase. Thanks for your response!
Good question and yes that is the split contract as we have written it for consistency . The longer piece gets the "update" of the geometry while the shorter one gets to be inserted that is why the shorter one gets the new ID because that is where the logic to generate id lives.