Krakonos / merkaartor-oldbugs

0 stars 0 forks source link

Highlight "nodes on the same spot" (redmine import 1313, Nybbler, created ) #110

Open Krakonos opened 9 years ago

Krakonos commented 9 years ago

Often nodes are on the same spot (errors easily introduced by potlatch users). By highlighting nodes which are at the exact same position or very close to each other could help to find and solve at lot of errors.

The same could be helpful for streets. Some inexperienced users double streets or this error is introduced by potlatch (even possible with Merkaator I think), so highlighting could help a lot.

One further idea: highlight streets which cross eachother but don't share a point. This is often ok (bridges) but also very often an error (crossings).

Krakonos commented 9 years ago

I suggest to add Maplint as background image provider.It highlights common mistakes pretty well.

Krakonos commented 9 years ago

I think adding Maplint is a good idea. But I have found many nodes-on-the-same-spot errors which where not detected by Maplint, maybe because they where not exactly on the same spot, but very close. The only way to detect them was looking at the rendered tile at z17 searching edgy looking connections. Or by looking really hard in Merkaartor, cause due to the opacity things get darker if they lay on top of each other.

Krakonos commented 9 years ago

Another suggestion to avoid "duplicate node" situations: When I correct roads that are not connected on the map, I remove nodes from the road or move end points onto other nodes to establish a connection. When I drop one node onto another node, I'd wish for Merkaartor to ask me whether I want to merge both nodes. Right now I need to know that and then go select both nodes by area (two or more nodes are then in the selection list) and use the menu command "Nodes, Merge".

Krakonos commented 9 years ago

This is the implementation of my comment to this bug. When you movenodes, they snap to other existing nodes, which is a comfortable thingif you want to connect roads at existing nodes. Currently, when you dothis, you end up keeping both nodes at the same position and no realconnection between the roads.

This patch comes into action when you are done moving a single node. Itscans the document for other visible* nodes at the same position. Ifthere are any, it shows a message box asking whether the nodes shall bemerged. If you say yes, all nodes found at that exact position aremerged into the first node that was found that has already been there.Usually this is one node and you're merging two nodes then. (But ifthere have already been multiple nodes, it will be corrected silently.)The merging is adapted from the existing Merge Nodes command and getsits own undo item.

*) It only checks for visible nodes. So for the check to work, you needto have the relevant layers enabled. I assume this is always the case asyou won't be editing the map blindly. OTOH it will ignore GPX nodes ifthat layer is hidden. The snapping code also only takes visible nodes,and so does my patch. (Code adapted from there.)