I am looking to see if anybody has any suggestions as to how to most effortlessly solve the problem I have at hand. It is fairly specific, but I think that its applications are of a more general nature.
What I have are the following closed paths:
Path A: A lake
Path B: A forested area (multipolygon)
Path C: A wetland area
They are in the current configuration:
C is a subset of B
All share a common boundary with common nodes
What I would like is to separate B from (a part of) the shared boundary, setting back the boundary B, but leaving the boundary between A and C (with common nodes) as it were before.
As I understand it, the underlying model is that the multipoligon’s outer boundary is just a closed way, that is a sequence of nodes. What I need to do is thus just to replace a sub-sequence of that way (the outer boundary) with another sub-sequence, leaving the rest intact.
I have now drawn a new way to mark the new inset of the forested area (Let’s call it “D”). D shares begin and end nodes with A, B and C. D serves no other purpose than to mark the new (inset) boundary of B, so it is all right if it does not survive the process as a separate entity. It should be merged into B as such.
I know that in order for the multipolygon to still make semantically sense as an area, it needs to be the case that its outer boundary makes the transition from one closed way to another in “one go”, since any intermittend step would leave the data model unsound.
I realize that I could go through all the shared nodes and split them using G and then move the boundary of B back, but depending on the number of nodes that is a rather tedious process. Also, that will split all the intermittent nodes that A and C share, which would then need to be merged anew, creating an even larger change set to no avail.
My intuition tells me that regardless of whether you consider this a set operation on spatial areas or a mutation of a list of nodes, this should be possible. Just draw D, select B and D and then … ???
Is there a smart way to accomplish this in JOSM ? I am running v.12921.