[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