ngageoint / hootenanny

Hootenanny conflates multiple maps into a single seamless map.
GNU General Public License v3.0
359 stars 74 forks source link

Crop operation: Fix multilinestring relations #5717

Closed bmarchant closed 1 year ago

bmarchant commented 1 year ago

Previously when a way spanned both sides of a cookie cut operation the resulting ways were put in a multilinestring relation with the tags on the relation and no tags on the ways. Both ways had new IDs also. This finds the way with the largest number of nodes left and reuses the old ID. All tags are preserved on the ways and not on the relation. This makes them render better in JOSM and work better in other workflows. The RemoveInvalidMultilineStringMembersVisitor used to look for multilinestring relations with tags whose members didn't have tags as invalid, moved the tags to the ways and removed the relation. Now it finds multilinestring relations with no tags that have tags on the member ways and marks them for deletion.