hootenanny
hootenanny copied to clipboard
Add a filtered delete for the Cut & Replace (changeset replacement) workflow
In the scenario where a road network is being cut & replaced, other relations often have dependencies on these features. In the scenario where two input datasets are both filtered to only include roads, Hoot doesn't know anything about these "external" relation dependencies in order to update them (by removing or replacing the member reference). This leads to failed changeset uploads because of conflict the remaining relation references still exist.
It's proposed that these conflicts can be avoided if all the reference data for an AOI is pulled, but in the cut phase, only the filtered features would be removed. Then Hoot would have the awareness to clean up any relation references to the deleted features.
I have a branch https://github.com/ngageoint/hootenanny/tree/5339_filtered_cut_replace where I've added incomplete parents (mostly relations) to the reference pull. This should make them available to hoot for removing the member ref when the "cut" features are deleted. but currently the derive changeset logic seems to delete incomplete relations entirely from the reference data.
We will have to consider the impact of just removing the deleted member ref instead I think.
@bmarchant @mschicker Can we put our :brain: together and see if the incomplete relation behavior can be changed?
@mattjdnv you too