Effect of oneway on pedestrians?

As has more or less already been said here before, I believe the interpretation of “oneway=* exclusively applies to vehicles in all cases” that is prevailing in this thread stems from an overly strict interpretation of the wiki that does not actually reflect actual usage.
The examples that have been shown demonstrate that the tag is actually being used for pedestrians as well.

There is some ambiguity about the meaning of oneway=* on highway=footway/cycleway/path that could use some clarification.

With that being said, I don’t think it’s a good idea to promote two different methods of indicating that a oneway=* also applies to pedestrians. We already have a perfectly well established way of specifying which methods of transportation a oneway=* applies to with oneway:*=*. I see no reason to deviate from that for oneway:foot=*.

oneway=* can also be used to describe other situations than cannot simply be replaced by foot:backward=no.

3 Likes

So, it would seem to me that generally:

  • some countries mostly use oneway to apply only to vehicles
  • some countries mostly use oneway to apply both to vehicles and pedestrians
  • some countries are even more ambiguous, sometimes meaning for oneway to apply only to vehicles, and sometimes meaning applying to both vehicles and pedestrians.

So, give assumption above, what should we do about oneway=* ambiguity? (Discourse poll instructions AFAIUT: 1 is your most preferred choice, 2 second most preferred, etc. Abstain for those you don’t want at all.)


  • Appeal to the users and editor writers (on the wiki, issue trackers, forum, etc) to always (also) use unambiguous oneway:foot=yes or foot:backward=no when oneway=yes would apply to pedestrians
  • Do mechanical edit (in clear-cut countries only!) to (also) add unambiguous oneway:foot=yes or foot:backward=no everwhere where it has oneway=yes (probably with helpful source:oneway:foot=assumed from oneway=* in $COUNTRYNAME)
  • Create a “what oneway=* probably means in each country” wiki (ala Default access restrictions) and hope data consumers (as well as all editors) know it and use it.
  • Propose tag like oneway_includes_pedestrians=yes/no (actual name TBD) and put that country administrative polygons, and instruct data consumers that what oneway=* actually means in some country is dependant on processing that first.
  • Deprecate oneway=* and suggest replacement oneway:vehicle=* and oneway:foot=* (and others more detailed like oneway:bicycle etc. as needed) tags.
  • Put our wishes about “what oneway=* should mean” in the wiki, and hope for the Genie to notice it and fulfill our wishes worldwide by some magic
  • Ignore the issue; let those router-writing developers earn their pay! It was hard to map the data, so it should be hard to use it too!
  • None of the above (write your own suggestion)
0 voters

With that being said, I don’t think it’s a good idea to promote two different methods of indicating that a oneway=* also applies to pedestrians.

Indeed, we have a rule that oneway=* never applies to pedestrians, and we should discourage tags that try to introduce exceptions to it.
We also have established semantics for involving the direction of travel along a way, forward and backward. No need to invent anything.

3 Likes

You mean oneway=reversible and oneway=alternating? Can you find a pedestrian oneway that is reversible or alternating on the map? And if so, those could also be described by a conditional access restriction, no?

It seems to me that differences between countries are mainly due to differences in access tagging (which in turn reflects real world access differences), not the use of oneway itself. Germany has a lot of shared use footways so most oneway tags mean vehicle (bicycle) only. Some countries have hardly any instances of shared use footway, so fewer oneway tags on footway overall, but those that exist refer to pedestrians.

That’s what I saw in Ireland: shared footways are infrequent, but where they occur (tagged as bicycle=yes), oneway consistently refers to bicycles. While for normal footways it consistently refers to pedestrians. So no actual ambiguity, at least for highway=footway.

For that reason I’m not sure it makes sense to give much importance to countries, mentioned several times in your list. Regardless of the chosen approach, it seems documentation should focus on mapping specific situations, more than countries. (I note the highway=footway wiki makes no reference to how a oneway footway might be mapped: none of the possible oneway tags is listed as a “useful combination”) .

4 Likes

This is missing “remove claim that oneway= always and solely applies to vehicles from OSM Wiki, document that it applies to pedestrian on ways without other traffic modes being specified, encourage using oneway:foot=* where it is unclear” option - or similar - from what I see.

foot:backward=no foot:forward are abominations that are basically impossible to remember.

This “rule” is result of wikifiddling not based on actual tagging practice, and is not really followed despite attempts to push as “rule” for quite long time. Maybe give up on claiming this?

3 Likes

I have only looked at highway=footway so far (and only a few dozen examples). Maybe we should also look at =path and =pedestrian before making decisions?

There’s also oneway= on steps where it seems safe to assume that mappers meant pedestrians.

2 Likes

no, this is the essential rule which is present since the first version of the page in 2007: Key:oneway - OpenStreetMap Wiki
It says “drive” not “walk”.

We are talking about something like 15000 cases out of tens of millions, IMHO we should just declare these errors and fix them rather than change the definition of the tag and make life more complex forever and for no good reason

2 Likes

Yes. Using that for e.g. narrow sections of a path where you have to wait for people coming the other way to exit first because it’s impossible or dangerous to pass each other is perfectly valid.
I’m curious how you would map that using conditional access restrictions? (And why this should be considered a special case when we already have an existing tagging scheme for it.)


You are trying to stylize a single word in the shorthand description blurb in the sidebar as “the essential rule” while the actual description on the page itself never makes that claim.

The oneway tag is used to indicate the access restriction on the way. This means that this tag should be used when this way can only be used in one direction.

Take a look on the access=* page to add more detailed restrictions.

If that’s the line of argument, then I raise you the current sidebar description.

Linear features that users can only go one direction in. Used in highways, zip lines, and other features.

I dare you to drive a car onto a zip line.

And if we really want to dig into the history of oneway=* (which I don’t think is productive) then there’s this from the very first version of the Key:access page: Key:access - OpenStreetMap Wiki

Routing restrictions:
<tag k="oneway" v="To Be Determined"/> The value for this key defines the direction of one-way travel along a line segment or way. See Notes below.


Even when oneway:foot=no is the default (a.k.a. ‘only applies to vehicles’) there’s absolutely no reason why that could not be overridden with an explicit oneway:foot=yes. That’s how all the access-like tags work.

Maybe *:backward=* / *:forward=* should be the normal tagging scheme for oneways (including vehicles) instead of oneway=*, but that’s not the world we live in.

1 Like

To be clear, the word “drive” only occurs in the sentence “Oneway streets are streets where you are only allowed to drive in one direction” which is the wiki page description (since changed to not use the word “drive”). The rest of the wiki page from 2007 doesn’t address “oneway for some modes and not others” or “whether for some reason some modes are excluded from oneway altogether” (so logically, in 2007 they weren’t).

Even when oneway:foot=no is the default (a.k.a. ‘only applies to vehicles’) there’s absolutely no reason why that could not be overridden with an explicit oneway:foot=yes. That’s how all the access-like tags work.

sure, like in vehicle=no vehicle:foot=yes, that’s how access works, right?
The 2006 access page states for oneway: “ One-Way streets: Format of “value” to be determined, but likely to be established by reference to the node id’s or adjacent segment id’s.”
this was adjusted in 2007 and ever since prevailed. I bet I could show you more 2006 documentation that was changed in the following few years, this is not an argument to take seriously if the claim wasn’t persistent

To be clear, the word “drive” only occurs in the sentence “Oneway streets are streets where you are only allowed to drive in one direction” which is the wiki page description (since changed to not use the word “drive”).

the word drive has been moved from the short definition in the template to the definition in the page content.

Again, I acknowledge that the tag oneway may have been used to apply to pedestrians in conflict with the definition that it is only relevant for vehicles, but there are also cases where oneway on footways is meant for vehicles only as defined in the wiki, so the solution is to either acknowledge that the former is an error that should be corrected, or embrace this tagging and introduce more complexity while at the same time tolerate the new errors this will create where the tag was intended according to the definition and after the changed definition will falsely restrict pedestrian movement as well.

From Any tags you like on Wiki:

However, this does not mean “feel free to ignore existing tagging schemes and start marking pharmacies with unicorn=parking_lot”.

We may reasonably disagree if e.g. amenity=pharmacy or healthcare=pharmacy is better, but as long as data consumers recognize both as valid tags for the same thing, no harm done. However, we may not reasonably disagree about the scope of oneway tag, since that introduces ambiguity and routers cannot discern with certainty what the mapper meant.

For the sake of argument, let’s assume the common example of shared sidewalk with one-way bicycle lane:

highway=footway
oneway=yes
bicycle=yes

…and, at some point, authorities decide to close it for cycle traffic entirely and put a sign to that effect. An unsuspecting mapper then only changes

bicycle=no

…and hey, changing that one tag suddenly means that oneway refers to pedestrians! Sorry, but that’s… beyond weird. It borders on trolltaging:

Simply processing highway=cycleway, highway=path, highway=footway and standard access tags (especially bicycle=designated) should be enough to avoid listing fake ones. Data consumer in that situation should not be expected to check for proposed=yes, demolished=yes, construction=yes, completely_fictional=yes, operational_status=closed or end_date=1990.

While Wiki certainly should document how tags are used, it’s just as important to document how tags ought to be used. I’m afraid that some make the “any tags you like” principle into “tag however you are pleased”, which has never been the idea.

P.S. To clear any potential ambiguity: I think that either foot:backward=no (which I find convoluted) or oneway:foot to describe one-way pedestrian traffic is way superior than having oneway=yes context-dependent.

5 Likes

@dieterdreist can you explain once more why using oneway:foot at least for all the ambiguous cases would be a bad idea compared to using foot:backward=no for example? By ambiguous cases I mean those where it is neither clear that oneway=yes does not affect pedestrians, like on highway=residential, nor it is clear that oneway=yes does affect pedestrians (like on aerialways or via_ferrata for example)

I can also see why @Woazboat is suggesting the oneway:foot tag since for example oneway:bicycle/moped/mofa are indeed very frequent (>320k combined). Also if oneway=reversible+alternating cannot be mapped with existing access tags and they are needed for pedestrian traffic (I found around 220 cases for highway=footway/path/pedestrian) would this be another argument for oneway:foot over foot:backward=no?

1 Like

I don’t believe there are cases where it is clear that oneway=yes affects pedestrians, what I acknowledge is that there are cases where it may have been intended to do so (i.e. there are cases where it is unclear whether the oneway=yes was meant to apply to pedestrians).

Regarding oneway:foot, I think the vehicle:foot analogy makes it clear. It just isn’t logical to subtype a tag that doesn’t apply anyway.

1 Like

You aren’t ‘subtyping’ oneway:vehicle=*, you are ‘subtyping’ oneway=*.

oneway=* = oneway:vehicle=* + oneway:foot=?

1 Like

So you would go all the way with the “oneway only applies to vehicles” rule and also discourage using it for aerialway, steps and via_ferrata for example? That also makes sense to me, but I’m not sure it would be possible to deploy such a change? So I wonder if as a first goal we should focus on improving the situation for the trickiest cases where it is actually hard to tell if a oneway was meant to affect pedestrians or not (especially highway=footway, but also path and pedestrian)

Regarding oneway:foot, I think the vehicle:foot analogy makes it clear. It just isn’t logical to subtype a tag that doesn’t apply anyway.

I’m not sure I understand the analogy. Sure, overwriting vehicle=no for foot goes like foot=no, not vehicle:foot=no. Or do you mean this does not ‘overwrite’ anything because foot is not covered by vehicle in the first place?

oneway=yes+oneway:bicycle=no is ok, because oneway includes bicycle, while oneway=yes+oneway:foot=yes is not ok? I see it is different, because foot is not really related to oneway in the first place. But establishing something like foot_oneway or oneway_foot instead of oneway:foot would be very hard when people are already used to oneway:bicycle for example? To me it seems logical to use foot:backward=no for these reasons, but some do not agree.

1 Like

It would be if we didn’t already have an established tagging scheme for indicating that a way can only be used in one direction. Creating a special case for foot is inconsistent.

Like I already said, <transportation_method>:backward=no probably should have been the normal scheme for oneways instead of using the oneway=* tag, but that’s not what we have right now.

1 Like

Regardless of where it is, the word “drive” implies the tag only applies to motor vehicles. So if you are using that sentence as a reason for oneway=yes being wrong on footways, you would also have to say it is wrong when used to indicate that a cycleway is one way for cyclists, as cyclists don’t drive.

1 Like

also on highway=via_ferrata ?

and say Way: ‪Orla Perć‬ (‪95132011‬) | OpenStreetMap ?

1 Like