[Tagging] Using restriction and restriction:vehicle for the same restriction relation should be discouraged

Minh Nguyen minh at nguyen.cincinnati.oh.us
Tue Nov 1 18:03:42 UTC 2022


Vào lúc 00:02 2022-11-01, 
easbar.mail at posteo.net đã viết:
> Thanks, Minh. Yes, there is no way to indicate an order of precedence 
> between relations. But I also do not understand yet why this should be 
> needed. It would be sufficient to have one relation per 'turn', i.e. for 
> any combination of members with role from/via/to there would be one 
> relation. And for a given transportation mode we could check the 
> restriction value for this transportation mode for each turn. An order 
> of precedence would only be needed if there were multiple (restriction) 
> relations using the same from/via/to members, but I don't see why this 
> would be necessary?
> 
> Of course there could still be contradicting relations, like an 
> 'only_left_turn' relation paired with an 'only_right_turn' relation (and 
> different to-members according to these directions). But that has 
> nothing to do with the transportation modes.
> 
> So do you think there should or there should not be mixed restriction 
> relations?
> 
> Regarding https://www.openstreetmap.org/relation/10650926:
> 
> ```
> restriction=no_right_turn
> except=bus;bicycle
> except:network=Q1140138;Q7407040
> ```
> 
> This would be a 'conditional except' and for it seems like another 
> indication that the 'except' tag should be replaced by the conditional 
> restriction tag? This would be more in line with what we do for 
> 'access', maybe something like:
> 
> ```
> restriction=no_right_turn
> restriction:bus=unrestricted
> restriction:bicycle=unrestricted
> restriction:conditional=unrestricted @ network=Q1140138;Q7407040
> ```

I do like this idea for its elegance. I goofed up above, intending to 
add both except:network and except:network:wikidata, but you get the 
gist. Perhaps "unrestricted" could be simplified to just "none" for 
consistency with maxweight:*=none, which has been suggested for 
representing some weight restriction exceptions signposted in the U.S. [1]

This restriction:*=unrestricted idea would probably need to be paired 
with except=* usage for some time, just in case. Turn restrictions are 
so critical to routing that we should be very careful about introducing 
a new representation for exceptions. Back when 2013 when the 
type=restriction:* and day/hour_on/off syntaxes were deprecated, there 
wasn't any appreciable usage of turn restrictions for routing yet, but 
now there are a lot of users who rely on turn restrictions, especially 
in complex environments like the ones we're discussing.

[1] 
https://wiki.openstreetmap.org/wiki/Special:PermanentLink/2428787#United_States

-- 
minh at nguyen.cincinnati.oh.us





More information about the Tagging mailing list