[OSM-talk] turn restriction relations: via

Tobias Knerr osm at tobias-knerr.de
Sun Mar 29 19:06:09 BST 2009


Nic Roets schrieb:
> Based on this description I can't see why we should require that via ways
> like S should be split into optimal ways, i.e. at D and E. The program will
> run faster, but the mapper is ultimately responsible from spotting
> ambigueties and splitting ways so that they don't occur.

Avoiding ambiguous restrictions is indeed the main reason for the
assumptions I suggested. However, splitting the 'via' ways isn't really
necessary for that purpose. That I thought it was is probably a
consequence of thinking in the box of my own implementation (which
creates ordered "forbidden sequences" to represent restrictions).
Apparently, ignoring order solves any problems associated with that,
though I still have to try whether that works (I guess it will.)
I'm not exactly sure what the semantics of an "only_*" with several via
members would be, though. Should it require that you use at least one
via member or every via member?

Despite via splitting not being necessary for proper relation handling,
I still think that "a relation using via nodes will always contain all
nodes as via nodes one would travel along" is essential. Otherwise,
there would inevitably be some problems:
If, in your example, the via information was represented by via nodes on
S instead of via way(s), that restriction would also forbid turning left
from A onto S, following S without turning into B, then using other
roads to return to the double carriageway and following B back to the
restriction's "to" part. This is obviously not intended.

Tobias Knerr




More information about the talk mailing list