After simplifying ~98% of all 1-member multipolygons in the Netherlands to closed ways (largest changeset for reference), I am now proposing to do something similar on a global scale. My idea is to start simple with multipolygons with only type=multipolygon and one other tag. I have developed a workflow to make this change for all objects with the same tags at once.
Multipolygons of which the ways also have tags will either be verified and adjusted in the QA phase before I make any big changes or they will be completely omitted from the edit. There won’t be any loss of data, just a large scale replacement of 1-member MPs by closed ways.
Let me know what you think about this idea and if you want an explanation of my workflow.
Add rule: If nodes in way are greater than 1899 cut way in 2. (which of course makes it a 2 member MP). I’ve come across specimens that are borderline between 1900 and 2000 and even bigger. Or, you could exclude these and revisit them to divide manually in appropriate place.
That’s a good suggestion. I’m currently discussing a way to query MPs of which the ways have no tags on Discord. If you have ideas, please share them, because that will simplify my work in JOSM.
Edit: I figured out a way to omit relations of which the members have ways in JOSM.
This might be a bit more complex, but it might also be an idea to extend this to small MP’s (In size and with nodes < 1900) with multiple outers and no inners. Because in my opinion having multiple outers when its not needed only creates headaches while editing.
Multiple outers requires much more consideration to know if the ways can be merged. The case of MPs with a single untagged member is easy to handle, let’s worry about that.
As per my message on Discord, ways may be part of multiple relations, so merging ways without caution may foul up these other relations that have the ways as their members. So this is much more complex than it seems.
Yeah, that looks a lot like the query I’m using. Note that relations of which the ways have tags will be omitted. That will look more like the following query, although I will be doing this step in JOSM:
way({{bbox}})(if: count_tags() == 0);
rel(bw)(if: count_members() == 1)["type"="multipolygon"];
out center;
This finds multipolygon relations with one outer member that does not have any tags and where the multipolygon is not itself part of any other relations.