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.m...@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@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging
_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging