Proposal:One-way for pedestrians
One-way for pedestrians | |
---|---|
Proposal status: | Proposed (under way) |
Proposed by: | Osmuser63783 |
Tagging: | oneway:foot=* |
Statistics: |
|
Draft started: | 2024-08-23 |
RFC start: | 2024-09-01 |
Proposal
- Formalise the existing key oneway:foot=* (on ways ), to be used for indicating that a way is one-way for pedestrians.
- The existing tagging convention is that the key oneway=* on streets (e.g. highway=service, highway=residential, highway=pedestrian), on cycleways (highway=cycleway), and on paths (highway=path) does not apply to pedestrians. No change to this is proposed.
- In the rare case that such a way is (also) one-way for pedestrians, it should (additionally) be tagged oneway:foot=yes.
- On highway=footway, do not use the key oneway=* by itself: it is ambiguous. Use more specific keys instead or in addition (see Tagging section below for concrete tagging suggestions). In particular, if it's one-way for pedestrians, use oneway:foot=yes, in addition to or instead of oneway=yes.
Rationale
Mappers are currently using three different keys for expressing that a highway=footway is one-way for pedestrians: some use oneway=*, others use oneway:foot=*, and yet others use foot:backward=*. Especially the use of the key oneway=* for this purpose is problematic because it can create ambiguity. After a long discussion in the community forum, this proposal presents a compromise between the different tagging schemes.
Issues with using oneway=* on highway=footway
The key oneway=* is most commonly used on streets (e.g. highway=residential, highway=service) where it means that vehicles can only use the street in one direction. It of course does not apply to pedestrians: they can walk against the direction of the way. This is how the tag works in the vast majority of cases it is used (over 98% of cases) and this proposal will not change this.
However, the key has also occasionally been used in situations where the mapper who put the tag meant pedestrians. This happens for example on highway=via_ferrata, on highway=steps, on highway=footway. Examples of this include hiking paths that can only be used in one direction (1, 2), entrances to zoos, amusement parks and tourist attractions (1, 2) and public transport (1, 2).
However, sometimes a footway can be used both by pedestrians and by some form of vehicle (usually bicycles). In such cases, the one-way restriction typically only applies to vehicles. A common example of this is a sidewalk on each side of a road (1, 2).
This introduces ambiguity: did the mapper who put the oneway=* tag on a highway=footway mean pedestrians or only vehicles? It's often possible for an experienced mapper to tell by looking at the other tags on the way and the context: If it's a hiking path in the mountains, the mapper probably meant hikers. If it's a sidewalk, pedestrians can probably walk both ways and the mapper who put the tag only meant cyclists. But having to look at other tags to understand how to interpret oneway=* is far from ideal, and even then there are situations where it is unclear.
There has been a lot of discussion on the community forum on the best way forward. Some people argue that the tag oneway=* only ever applies to vehicles, even on a footway. This would mean that a hiking path tagged oneway=yes has simply been tagged incorrectly and needs to be corrected, whereas using oneway=yes to mean one-way for bicycles is completely fine. Others argue that a footway tagged oneway=yes to mean one-way for pedestrians is completely fine, at least in situations where vehicles are not allowed. These two positions are the exact opposite of each other. This is an issue for pedestrian routing, because a data consumer cannot see which philosophy the mapper was following.
Therefore, this proposal represents a compromise between both positions: let's stop using oneway=yes on highway=footway by itself, and use less ambiguous tags instead or in addition.
Unambiguous alternatives
Over the years, two unambiguous alternatives for pedestrian one-ways have emerged: oneway:foot=yes and foot:backward=no. It's time to decide which one is preferable. At the time of writing, oneway:foot=* is vastly more popular among mappers (7810 vs. 505 uses; 81% vs 19% of votes in a community forum poll).
This proposal doesn't deprecate foot:backward=*. It's a valid combination of the foot=* access tag and the :backward suffix that has already been approved in a previous proposal. Data consumers should continue to support it. But it's time for the community to express a preference. This provides clarity for the developers of editor presets which tag we want to be supported.
What about highway=path?
Sometimes hiking trails are one-way, often for safety reasons. Mappers sometimes tag these as highway=path oneway=yes: examples 1, 2, 3, 4, 5. But overall this concerns a relatively small number of paths, compared with the many paths that have the oneway=* tag where the mapper only meant cyclists. Therefore, this proposal maintains that oneway=* on highway=path means vehicles, and oneway:foot=* should be used when pedestrians are meant.
Tagging
If the proposal is accepted, there is no change to the definition of oneway:foot=* or foot:backward=*.
The proposal adopts the following tagging recommendations.
- Whenever a way (path, footway, street..) is one-way for pedestrians, use oneway:foot=yes.
- If a street (e.g. highway=residential, highway=pedestrian) or a path (highway=path) is one-way for vehicles, but not one-way for pedestrians, use oneway=yes. No need to tag oneway:foot=no explicitly.
- If a highway=footway is one-way for vehicles (e.g. bicycles), but not for pedestrians, either tag it with vehicle-specific one-way tags, e.g. oneway:bicycle=yes, oneway:foot=no, or tag it with a generic oneway=yes, and add a foot-specific oneway:foot=no.
Mappers will be discouraged from using oneway=yes on highway=footway without also using more specific tags that clarify its meaning. This can be achieved, for example, by expressing a clear recommendation on relevant Wiki pages and by implementing validator warnings that alert mappers that the tag, by itself, is ambiguous. Editor presets could stop offering oneway=yes and offer less ambiguous alternatives instead. Until the tag is widely adopted, data consumers will unfortunately still need to guess what the mapper meant (e.g. in a pededtrian router, ignoring oneway=* will lead to mistakes, and taking it into account will likewise lead to mistakes).
The oneway:foot=* key can be used with the same values as oneway=*, with the same definitions: yes
, no
and -1
, but also alternating
and reversible
, if this situation exists somewhere.
Examples
Current usage
Some examples of oneway=* on highway=footway and highway=path were given above. More can be found with the help of Overpass Ultra: footway, path. This is helpful to get an impression of how inconsistently the tag is used. I highly recommend looking at different regions around the world. When I looked at examples of highway=footway with oneway=yes in Germany, almost all were shared-use sidewalks and the mapper probably only meant bicycles. Elsewhere - in the UK, US, and South America - the majority were in shopping centres, zoos, airports, museums, and the mapper probably meant pedestrians.
Proposed usage
Picture | Description | Proposed one-way tagging |
---|---|---|
One-way hiking trail | highway=path and oneway:foot=yes | |
One-way footway | highway=footway and oneway:foot=yes | |
Footways that allows bicycles, but only in one direction | These are commonly tagged highway=footway, bicycle=yes.
To indicate that the footway is one-way for bicycles, but not for pedestrians, use oneway:bicycle=yes and oneway:foot=no. Alternatively, use oneway=yes and oneway:foot=no. | |
Designated shared-use paths, where pedestrians and bicycles have equal rights, but bicycles are only allowed in one direction. | Assuming that the way is tagged as highway=path, foot=designated, bicycle=designated:
To indicate that the path is one-way for bicycles, but not for pedestrians, use either oneway:bicycle=yes or oneway=yes. No need to add oneway:foot=no, as the oneway=yes is considered to apply to vehicles only. | |
One-way streets | Tagged with the appropriate highway classification e.g. highway=residential, plus oneway=*. It is clear that the oneway=* tag does not apply to pedestrians e.g. on the sidewalk (no change). |
Rendering and routing
Pedestrian routers need clarity whether tags are supposed to apply to pedestrians or not. Hiking and pedestrian-oriented maps may want to show which ways are one-way for pedestrians, while cycling maps will want to show which ways are one-way for cyclists. This proposal provides clarity to all data consumers, instead of having to guess what the mapper probably meant based on the context:
Anyone who wants to know if a way is one-way for pedestrians, only needs to look at the oneway:foot=* tag. They can ignore the oneway=* tag.
Features/Pages affected
External discussions
- Effect of oneway on pedestrians? community forum discussion that led to this proposal, Jan 2023-Aug 2024
- Which one is the better tag to say that a way is oneway for pedestrians?, community forum poll that led to the decision to promote oneway:foot=* over foot:backward=* in this proposal, Aug 2024
- How to map one way Cycle & Foot Path where only the cycleway is one way, community forum discussion, Feb 2024
- footway mit one-way=yes, previous discussion in German, Oct 2021
- Foot ignores one-way information, discussion on GraphHopper issue tracker, July 2024
- Misinterpretation of highway=pedestrian, oneway=yes discussion on Valhalla issue tracker, March 2023
- Footways where pedestrians may only walk in one direction: oneway:foot=yes or foot:backward=no? discussion on tagging mailing list, Apr 2020 (no clear consensus, just different opinions)
- How to tag oneway restriction applying to pedestrians? discussion on tagging mailing list, Jan 2020 (no clear consensus, just different opinions)
Comments
Please comment on the discussion page or in the community forum.