[OSM-talk] Roundabouts - why is a separate segment required?

Tom Pfeifer t.pfeifer at computer.org
Thu Feb 15 08:52:19 UTC 2018


On 14.02.2018 17:39, Dave F wrote:
> https://www.openstreetmap.org/node/5408566797

It appears that you already engage in an edit war, although half a dozen people here tell you, from 
a variety of perspectives, that you are wrong.
https://www.openstreetmap.org/changeset/56352276

On 14.02.2018 18:27, Dave F wrote:
 > I'm glad you mentioned mkgmap as I suspect this is where this mapping instruction originated. From
 > previous conversations on their forum it's clear some try to fudge OSM as they lack the skill to
 > program mkgmap correctly.

It would help to maintain objectivity to leave out any rants about particular programmers of 
particular software. I have seen other routing engines fail when the situation occurs that you have 
created.

On 14.02.2018 18:27, Dave F wrote:
 > This would only occur if there was no check to see if it's a roundabout first:
 >   * Enter
 >   * Check if roundabout
 >   * (While still on the same node) Start counting entrances/exits

In which routing engine did you implement this? From which experience do you speak?
Or is it just pseudocode that fell off your sleeve without being tested in an implementation?

On 14.02.2018 21:44, Mark Wagner wrote:
> In the general case, a router only needs to consider the ways that a
> route actually passes over when creating directions.  By mapping a
> roundabout entrance and exit sharing a single node, you've
> introduced a special case: the router now needs to check all ways
> connected to that node to see if any of them is part of a roundabout.

Yes and to reiterate, to separate roundabouts from non-roundabouts, you would need to check that 
special case not only at roundabouts, you would need to check its absence at _any_ node connecting 
_any_ two road segments, even if these are not junctions. You would need to check if there starts a 
roundabout segment or not, and if all segments of such roundabout loop back to the original node.

As the check you propose is against the basics of graph theory which is behind routing algorithms, 
it would create an immense performance burden on the algorithms. That would make you mourn about the 
skills of the programmers, again.

May we ask you to undo your revert in CS 56352276? You still have not explained how the two node 
solution "fudge OSM".

tom



More information about the talk mailing list