[Routing] [motorway_link] description of direction

Nic Roets nroets at gmail.com
Mon Jun 16 18:48:12 BST 2008


I agree that a routing system may wish to simplify and optimize nodes out
(just like gosmore replaces node and way IDs with internal references). But
it's up to the software designer to translate OSM XML into his own internal
format before he optimizes (or live with the shortcoming).

On Mon, Jun 16, 2008 at 4:38 PM, Jon Bright <jon at siliconcircus.com> wrote:
>        from=orange, to=yellow, via=B

The routing software knows about the gray way even if it only knows about
B,C and the other two nodes. So it can generate an internal sentence like
"Orange, A, Orange, B, Gray, C, Magenta, D, Yellow". Then it can do simple
pattern matching and e.g. detect a relation that states that "Orange, A,
Orange" should trigger "Keep Left towards South-town". Similarly "Gray, C,
Magenta" triggers "In the roundabout, exit where you see a sign marked
Yellow-town".

For the shorter path, the internal sentence is "Orange, A, Blue, D, Yellow"

> Right - tricky case.  I don't think "via" helps that case, no matter
> whether "via" is a node or a way?  Taking on your suggestion of
> specifying left and right: possibly as a new "direction" tag in the
> suggestion from my previous mail?

What's even more trickier is a simple 4 way crossing (2 bidirectional ways,
4 segments and 5 nodes) where the start and finish can be on any of the
segments. Now from="NorthSouthWay" to="EastWestWay" via="CentreNode" can
mean any of 4 things. One (clumsy) solution will then be to replace
direction with 2 tags : fromDir=Forwards|Backwards toDir=Forwards|Backwards.

A very elegant solution is to express signposting relations in the form :
from=node1
via=node2
to=node3
<instructions>

and we require that there must be a single segment between node1 and node2
and another single segment between node2 and node3.




More information about the Routing mailing list