[OSM-talk] Turn restrictions
Jon Bright
jon at siliconcircus.com
Thu Aug 16 08:18:11 BST 2007
Steve Coast wrote:
>
> Given a road direction, and roads 'Baker Street' and 'Marylebone
> Road' you tag the way 'Baker Street' with
>
> no_turn_left:'Marylebone Road'
As an alternative, what about instead splitting the ways appropriately
for making turning restrictions? So if I have
| /
C E
|/
v
----A--->+----A--->+----A--->+----A--->
^ ^ ^\
| | | \
B D F G
| | | \
Then I could split way A into four parts, A1, A2, A3 and A4 (left to
right). Assuming no turns at all from A into the side roads are
allowed, I could then mark
A1: no_right_turn
A2: no_right_turn, no_left_turn
A3: no_right_turn
This covers travel in the direction of A's segments. Assuming A is
two-way and no turns are allowed from A to the side roads in the other
direction either, you could additionally add
A4: opposite:no_left_turn
A3: opposite:no_left_turn, opposite:no_right_turn
A2: opposite:no_left_turn
The only problem remaining is how to represent the case that it's
permitted to turn into C but not into E (ditto F/G). But I've no idea
how this would be represented in street signs either. Does anyone have
an example of C/E or F/G-like things with turning restrictions?
The advantages:
- No chance of misspelling (or becoming out of date when someone
changes/corrects a name)
- No changes to JOSM needed.
- A route planner doesn't need to make an additional query in order to
work out which way it may not turn into. (I have a working route finder
- as yet without descriptive capabilities - based directly on the OSM DB
- the number of queries is already quite enough :-)
--
Jon Bright
Silicon Circus Ltd.
http://www.siliconcircus.com
More information about the talk
mailing list