[Openstreetmap] Re: key values to represent restricted turns

Immanuel Scholz immanuel.scholz at gmx.de
Thu Jan 26 09:38:24 GMT 2006


> On Mon, Jan 23, 2006 at 08:27:54PM +0000, Tom Carden wrote:
>> How about something like a property on a node like
>> no-turn=a.b,c.e,e.d; where a/b/c/d/e are segment ids for segments
>> connected to that node, and order matters?  All other combinations are
>> fair game for routing.
>
> Can we have that on segments too?

I would do it only at segments as example as "not_allowed" tag, specifying
the ids of the segments you may not drive to.

oneway - streets would have an implicit "not_allowed" to all segments
connected at their starting node.

> E.g. there are some junctions (in Austria, at least) where you can drive
> from
> A to B but not from C to B:
>
> 	    |
> 	    C
> 	    |
>      --D--+--B--
> 	    |
> 	    A
> 	    |

So in my suggestion, C has "not_allowed=<id of B>". The rest is allowed.


I cannot think of a constellation, where this will not sufficient.

However, this approach failes if B is replaced by some other segment by
the user without the client programm making an updated to C.


Ciao, Imi.

PS: The last problem can be solved afterwards by a script:
- for each broken "not_allowed" do:
  - let x[] = all segments going from both ends of the broken segment
  - look in history of the broken segment (you have its id) back until you
    find it connected to the broken segment itself.
  - look in x whether you find a match where the former, deleted segment
    connect to the same nodes
  - replace the not_allowed - id with the found id in x.

This algorithm will fix some simple issues with forgetting to update
not_allowed. ;)






More information about the talk mailing list