Opened 10 years ago

Last modified 10 years ago

#1313 new enhancement

Highlight "nodes on the same spot"

Reported by: Nybbler Owned by: cbro@…
Priority: minor Milestone:
Component: merkaartor Version:
Keywords: Cc:

Description

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).

Attachments (1)

MoveTrackPointInteraction.cpp.diff (2.7 KB) - added by LonelyPixel 10 years ago.
Patch of my proposed implementation

Download all attachments as: .zip

Change History (5)

comment:1 Changed 10 years ago by koying

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

comment:2 Changed 10 years ago by Nybbler

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.

comment:3 Changed 10 years ago by LonelyPixel

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".

comment:4 Changed 10 years ago by LonelyPixel

This is the implementation of my comment to this bug. When you move
nodes, they snap to other existing nodes, which is a comfortable thing
if you want to connect roads at existing nodes. Currently, when you do
this, you end up keeping both nodes at the same position and no real
connection between the roads.

This patch comes into action when you are done moving a single node. It
scans the document for other visible* nodes at the same position. If
there are any, it shows a message box asking whether the nodes shall be
merged. If you say yes, all nodes found at that exact position are
merged 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 if
there have already been multiple nodes, it will be corrected silently.)
The merging is adapted from the existing Merge Nodes command and gets
its own undo item.

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

Changed 10 years ago by LonelyPixel

Patch of my proposed implementation

Note: See TracTickets for help on using tickets.