openstreetmap / merkaartor

Home of Merkaartor, an openstreetmap mapping program.
http://merkaartor.be/
Other
298 stars 78 forks source link

Not possible to disconnect merged nodes #158

Open martenjj opened 6 years ago

martenjj commented 6 years ago

It does not seem to be possible to break apart nodes in a way (road) that are merged, whether this is the result of merging two existing ways or splitting an existing one. I've had plenty of experience with the iD online editor, but it is possible that Merkaartor works a different way and my understanding of how the operation should work is wrong, but hopefully the examples will illustrate it.

Starting with a single way with a node in the middle:

screenshot_20180925_102130

Select the middle node, the "Split" and "Break" actions become available:

screenshot_20180925_102211

Do the "Split" action. The way becomes two with the joining nodes merged, exactly as would be expected. However, there now appears to be no way to separate the joined nodes so that the two ways can be moved apart (in iD this action is called "Disconnect"). The logical way to do this would seen to be "Break", but even if the joined node is explictly reselected that action is disabled:

screenshot_20180925_102259

Similarly, starting with two separate ways:

screenshot_20180925_103741

and moving one end node on to of the other prompts "Do you want to merge all nodes at the drop position?". Answering "yes" to this - the logical thing to do - connects the two ways with a merged junction node:

screenshot_20180925_103903

However, there is no way to break apart the two ways again (apart from "Undo"ing the last action). Neither the "Split" nor the "Break" actions are available when the junction node is selected:

screenshot_20180925_103937

Allowing the "Break" action when a merged node is selected would work in both of these cases.

joernheissler commented 6 years ago

If you have one way consisting of three nodes (your first image), you can click the node and say "break apart". Then you'll have two ways with two nodes each. No common nodes, i.e. the ways are not connected.

If you have two ways that share the middle node, i.e. your last image, you can select both ways and say "break apart".

Krakonos commented 4 years ago

Hi! @joernheissler is almost correct. The thing is (just tested), that when you have two ways sharing a node, the break action is disabled. To work properly, it needs to have the node and BOTH ways selected (otherwise, it doesn't know which nodes need to be disconnected).

Selecting just the node and running "break" works, as long as it is on a continuous way. In that case, it splits the way into two and breaks those ways.

It is somewhat non-intuitive, but prevents people breaking features that are not to be broken (nodes with many ways connected to it).

I can see the following update:

1) Selecting a node and a single way would break off that selected way by duplicating selected node if necessary. 2) Adding more documentation to the "Break" action so the behavior is well documented.

I think that would be enough, but I'd appreciate other proposals.