[OSM-talk] Advanced relationships

Nic Roets nroets at gmail.com
Thu Jun 14 00:01:09 BST 2007


On 6/14/07, Frederik Ramm <frederik at remote.org> wrote:
>  > We can also introduce a tag for ways like
> > "forward_may_turn_right_at_intersections=no" and
> > "backward_may_turn_right_at_intersections=no".
>
> directions are switched; secondly, not every intersection has the
> options "left", "right", and "straight on".

In which case the fallback would be dual carriageway with "abuse" of
the data model to make the routing work.

> In general, any kind of turn restriction is not a function of the node,
> but a function of the node and the "incoming" segment.

In which case the fallback would be dual carriageway with "abuse" of
the data model to make the routing work.

I've been thinking how to implement autorouting with turn restrictions
on bidirectional ways. The autorouter will have records (x, d, t, b)
stating that the car can reach segment x with the car traveling in
direction d (forward or backward) in time t with a "back" pointer b,
i.e. t = b->t + time it takes to travel b->x. (x, d) is a key field
for the records.

If everything is dual carriage and oneway, then the records are just
(n, t, b) with (n) being a key field (n is a node). So dual carriage
and oneway has a simplicity to it like lisp or forth.




More information about the talk mailing list