[Tagging] Using restriction and restriction:vehicle for the same restriction relation should be discouraged
easbar.mail at posteo.net
easbar.mail at posteo.net
Sat Oct 29 05:13:02 UTC 2022
Yes, maybe one problem is that it isn't clear if restriction:vehicle
overrules restriction+except. I like your idea of not using the except
tag but rather something like restriction:value=unrestricted. Actually
that would be the first useful combination of restriction and
restriction:vehicle that I have heard of. But unfortunately this is
neither mentioned in the wiki nor does it seem to be used that way.
All the other cases where I saw a combination of restriction and
restriction:vehicle were either redundant like
restriction=no_left_turn
restriction:hgv=no_left_turn
or they used the except list to resemble the restriction:vehicle tag to
satisfy routers that do not understand restriction:vehicle like this
(often in addition to the restriction:vehicle tag):
restriction=no_left_turn
except=motorcar;moped;bicycle;schoolbus;etc;
restriction:hgv=no_left_turn
And since it isn't clear from the wiki how a 'complete' list of except
values is supposed to look like this doesn't seem to be ideal, either.
There are even cases where some kind of except is used with a condition:
https://www.openstreetmap.org/relation/8117243
restriction=only_straight_on
restriction:conditional=only_straight_on @ (length>10 m)
except=bicycle;moped;motorcar
except:conditional=vehicle @ (length <= 10 m)
but could just be:
restriction:conditional=only_straight on @ (length>10)
I'm still wondering: Do we ever need different restriction values for
different vehicles, or for different conditions, for the same relation?
I mean it's already clear that we need some way to express that a
restriction is only valid for certain vehicles, but beyond that I don't
think multiple restriction values should be used by the same relation.
For example something like this:
restriction=no_right_turn
restriction:vehicle=no_left_turn
seems problematic, because we only ever have one set of from/via/to-role
members per restriction relation, which are never vehicle-specific, or
depend on a condition.
By the way, the wiki mentions another 'global' tag: `implicit`. Just
like `except` it is not clear to me if this is meant to modify only the
general restriction tag, or also the more specific ones like
restriction:vehicle, or maybe both/all? And what if one wants to
resemble a situation where a restriction is implicit for one but not the
other vehicles?
On 28.10.22 23:59, Tobias Knerr wrote:
> On 28.10.22 22:06 easbar.mail at posteo.net wrote:
>> Quite obviously this isn't ideal and as far as I can tell this is the
>> exact reason we have the two approaches (one for excluding vehicles
>> and another for including them).
>
> Historically, I'd say the reason we have two approaches is that the
> "except" key is older than conditional restrictions, and is a special
> solution that only exists for restriction relations.
>
> If you want to make this more organized, then I think the approach that
> is most consistent with other tags would be to deprecate except=* in
> favour of an "unrestricted" value. This could then be used as
>
> restriction = no_left_turn
> restriction:bicycle = unrestricted
>
> This neatly mirrors what is commonly done with other tags:
>
> access = no
> [access:]bicycle = yes
>
> _______________________________________________
> Tagging mailing list
> Tagging at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/tagging
More information about the Tagging
mailing list