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
```

On 29.10.22 20:59, Minh Nguyen wrote:
Vào lúc 01:07 2022-10-29, Tobias Knerr đã viết:
On 29.10.22 07:13 easbar.m...@posteo.net wrote:
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.

Yes, this is something that would require a proposal to introduce, it's not established practice at this point. The reason I mention it in this discussion is indeed that it would be one example where restriction and restriction:vehicle on the same relation could meaningfully coexist. So I wonder if a wording could be used that would leave this door open for the future, e.g. by discouraging "different types of restriction on the same relation" (or some better wording to the same effect).

I'm still wondering: Do we ever need different restriction values for different vehicles, or for different conditions, for the same relation?

No, with the exception of the "unrestricted" concept I mentioned, this should never be necessary. Even if there is an obscure real-world situation with different restrictions on the same turn (same from-via-to) for different vehicles, it could be modelled with separate relations.

For context, this question came up the other day in the iD bug tracker. [1] It was unclear how an editor should depict a mixed-restriction relation. If it's unclear for editors, it's certainly unclear for routers.

In a sense, this is actually a common phenomenon: trucks must exit to a weigh station but cars may not. Or cyclists must turn right from a bike lane to a bike path but cars may not. However, these restrictions are already represented by access restrictions on the ways themselves -- no need for relations. Normally, way-based restriction tagging breaks down when the restriction depends on the direction of approach, but that would require separate relations anyhow.

One potential issue with relying on separate relations is that there's no way to indicate an order of precedence explicitly. For example, at one of San Francisco's most prominent intersections, an "except Muni" sign modifies a no left turn sign, exempting one bus operator that comes from the west, but not AC Transit. [2] At the same intersection, "no right turn except Muni and SamTrans" exempts both bus operators that routinely come from the south. [3]

Most of the bus routes in this part of town follow strict paths, so I just coined an obscure except:network=* tag and called it a day. [4] But this experience leads me to suspect there may be places where the real-world restrictions turn our usual access key hierarchy [5] on its head. Unfortunately, there's nothing to say that one relation takes precedence over another relation with the same members. (Incidentally, this is why I've shied away from proposing that we use relations to track overlapping parking lane restrictions.)

[1] https://github.com/openstreetmap/iD/issues/9337#issuecomment-1283492156
[2] https://commons.wikimedia.org/wiki/File:City_of_San_Francisco_(Unsplash).jpg
[3] https://www.mapillary.com/app/?pKey=4265238293573050
[4] https://www.openstreetmap.org/relation/10650926
[5] https://wiki.openstreetmap.org/wiki/Key:access#Land-based_transportation


_______________________________________________
Tagging mailing list
Tagging@openstreetmap.org
https://lists.openstreetmap.org/listinfo/tagging

Reply via email to