From OpenStreetMap Wiki
Jump to navigation Jump to search


So who decided that oneway:bicycly=no is suddenly bad tagging? It's been an established way to tag roads that allow cyclists in both directions for many years now. If anything, cycleway=opposite has to die out, since it doesn't allow different categories to drive in both directions, like mopeds. -- Eimai (talk) 23:42, 14 February 2017 (UTC)

I agree: we should rewrite this page. cycleway=opposite is only a possibility to mark a one-way street as being open to cyclists in the opposite direction. Routers will understand it and OpenCycleMap will show a green arrow. But oneway:bicycle=no and its variants for mopeds should be preferred. Additionally, cycleway=opposite_lane or cycleway=opposite_track can be advised to indicate which type of infrastructure is on the ground. In other words, once you have oneway:bicycle=no on a street, cycleway=opposite has no added value and should be removed entirely. Bxl-forever (talk) 10:31, 1 August 2019 (UTC)
Agree. I would prefer to tag cycleway=no or cycleway:both=no to indicate that there is no explicit/marked cycleway infrastructure (random pic from Category:Contra-flow_cycling):
Picture Tags
Nové Město, Jeruzalémská, z Opletalovy.jpg



--Supaplex030 (talk) 19:25, 19 January 2020 (UTC)
This is actually an example why cycleway=opposite is more explicit than just cycleway:both=no. The latter says that there are no separate cycleways, while cycleway=opposite explicitly means that cyclists use the carriageway to drive against the oneway. This is exactly what the bottom sign in this example indicates. It even shows a virtual cycleway lane on the right side of the carriageway. With a line marking on the road, that would be cycleway=opposite_lane, but without the marking it's just cycleway=opposite. Of course, your implicit tagging is also fine, as the lack of separate cycleways implies that cyclists have to use the carriageway. --Fkv (talk) 04:18, 20 July 2020 (UTC)
Openstreetmap does not map virtual cycleway lanes. The problem with cycleway=opposite is that it sounds like there is bicycle infrastructure (you have to look at the description this is not actually meant) and that is clearly not this case in this picture. Just like a sign telling it is forbidden to enter a road, this sign is an access sign saying access is not allowed from this direction, so therefore oneway=no. The exception for cyclists is also about access, so oneway:bicycle=no. --- Emvee (talk) 06:49, 20 July 2020 (UTC)
Meanwhile the page has been edited multiple times, but it is still misleading. cycleway=opposite obviously implies oneway:bicycle=no, so the page should explicitly mention that. But apart from that, the oneway:bicycle=* and cycleway=* keys have different purposes: oneway=* and oneway:bicycle=* in particular are about permissions (who is allowed to go against the oneway), while cycleway=* is about the separation of lanes. You may use any of the two keys with our without the other, just as you may or may not use surface=* or width=* etc. in combination. The latest change to the page, claiming that cycleway=opposite "should accompany oneway:bicycle=no" is just ridiculous, because we could as well claim that surface=* or width=* should accompany oneway:bicycly=no. Any additional information is fine, but the wiki shouldn't make it look compulsory when it isn't. --Fkv (talk) 04:18, 20 July 2020 (UTC)
Like you write "cycleway=* is about the separation of lanes". Exactly because of that I think cycleway=opposite does not make sense if there is no seperate cycle lane and therefore oneway:bicycle=no is enough, no double tags if not needed. --- Emvee (talk) 06:49, 20 July 2020 (UTC)
cycleway=opposite does make sense in the way that it specifies that no separate cycle lane is present on the oneway road. oneway:bicycle=no does not provide that information. Of course we can argue about how useful it is to specify the non-existance of a feature when applications can assume the non-existence as the default. But as long as people tag roads with cycleway=no or sidewalk=no or oneway=no, they have just as much a right to use the cycleway=opposite tag. --Fkv (talk) 12:01, 16 August 2020 (UTC)

cycleway=opposite versus oneway:bicycle=no

I got here a suggestion to rewrite this article to mention it as old tag (if its usage or usage share is declining) but let me start with a list of reasons I think of on why oneway:bicycle=no is better than cycleway=opposite.

  1. cycleway=opposite sounds like there is some bicycle infrastructure but there is not, that is the case for cycleway=opposite_lane
  2. oneway=* it's some kind of access key so to alter/detail that you do not need an infrastructure key like cycleway=*
  3. Just like with access=no + bus=*, general access (no) with a specific (narrower) exception, the combi of oneway=yes + oneway:bicycle=no makes more sense than oneway=yes + cycleway=opposite
  4. How to specify that access against the oneway is allowed for bicycles and mofa's but not for mopeds? oneway:bicycle=no + oneway:mofa=no and maybe oneway:moped=yes. Not possible with cycleway=opposite
  5. For places where, in most cases, bicycles have oneway access, it can be handy for mappers to map that it is not the case for a particular road (oneway: bicycle=yes). That way it is easy to check if a road has been checked/categorised (oneway:bicycle=no/yes) or not (no oneway:bicycle tag)
  6. When a bidirectional roads with on one side of the road an seperated oneway cycleway while the cyclist going the other way should take the road, the road can be tagged with oneway:bicycle=yes typically in combination with cycleway:right=lane
  7. oneway:bicycle=yes is also used on cycleways instead of oneway=yes. Not a good idea because typically a cyclepath can also be used by mofa=*'s and sometimes moped=*'s.
  8. Combining cycleway=opposite with oneway:bicycle=no is I think not good idea, double tagging without additional clarity. There are no bicycle routers anymore that do not recognize oneway:bicycle=no

That wasn't actually a suggestion to rewrite this article. He wrote "maybe".
Yes, cycleway=opposite is an old tag, and if we would invent the cycleway=* key today (with oneway:*=* already available), we would not create a cycleway=opposite tag. But OSM is full of old tags that we would love to redesign if we could. You could mention everywhere that those tags are old, but this can often be misinterpreted as a suggestion to use newer tags instead or even to replace existing data. That's particularly evil when the new tags mean something different or don't provide the same amount of information. E.g. many type=* tags on trees were replaced with leave_type=*, losing the information whether they are palms. You have to think thrice before declaring a tag as "old" or "deprecated" in the wiki. --Fkv (talk) 12:33, 16 August 2020 (UTC)
Thanks, good to know where you are coming from and your warning on how things can be misinterpreted. Hopefully not too many people read this Talk page ;-). I still think a change such as I made on oneway=* should pass your precautionary principle -- Emvee (talk) 18:57, 16 August 2020 (UTC)

I just came across this tag (it is not widely used in my area), and got confused. Happy to see I am not the only one thinking this way. I just want to support the position that

  • tagging something with "cycleway" to explicitely state that there is NO cycleway is not logical, in contrary, it is misleading;
  • it bears no additional information compared to "oneway:bicycle=no" + " cycleway=no". --Antissimo (talk) 08:54, 7 May 2021 (UTC)


From onwards 2014, oneway:bicycle is used more than cycleway=opposite
The usage share of cycleway=opposite is for sure declining, the absolute usage is (Aug 2020) plateauing.

oneway:bicycle versus cycleway=opposite based on data from retrieved on 20200816

Source: ohsome dashboard

Raw data from taginfo 20200816:

  • cycleway=opposite --> 54466, +oneway:bicycle --> 20118. cycleway=opposite without oneway:bicycle = 34348
  • oneway:bicycle --> 118629, oneway:bicycle=no --> 89537
  • So the total number of ways with bicycle access against oneway ("Total") is 89537 + (54466 - 20118) = 123885

Based on this:

  • 37% of ways with cycleway=opposite also have oneway:bicycle=*
  • 72% of Total oneway:bicycle=no versus 44% of Total cycleway=opposite, or 28% of Total cycleway=opposite without oneway:bicycle

I always used cycleway=opposite *with* oneway:bicycle=no, to explicitly note that there is no lane. Mateusz Konieczny (talk) 11:57, 16 August 2020 (UTC)
In that case, you can omit oneway:bicycle=no as it is implied by cycleway=opposite. --Fkv (talk) 12:03, 16 August 2020 (UTC)
I hate such tagging by implications and prefer to use explicit even if verbose tagging Mateusz Konieczny (talk) 13:54, 16 August 2020 (UTC)
I think it is strange to map something that is not there, and that is exactly why I do not like bicycle=opposite as it suggests there is some bicyle infrastructure while there is not -- Emvee (talk) 18:57, 16 August 2020 (UTC)
It is probably ontology/definition issue, but I have no trouble with classifying traffic sign allowing bicycles to do something not allowed for cars (driving in both directions in this case) as a bicycle infrastructure. In fact I am spending noticeable chunk of my life on increasing number of such signs, and I consider it to be work on improving bicycle infrastructure :) Mateusz Konieczny (talk) 22:28, 16 August 2020 (UTC)
If you like to map explicitly that there is no lane, there is a good alternative, cycleway=no. Way clearer and more popular then cycleway=opposite -- Emvee (talk) 08:02, 5 September 2020 (UTC)
"and more popular then cycleway=opposite" - you are comparing usage of all cycleway=no, including usage on two way road and oneway roads where bicycles can go only in one direction with tag used solely on one-way roads that are two way for cyclists. Actually cycleway=no is used just 473 times with oneway:bicycle=no, while cycleway=opposite is used 20091 times. Similarly, I am disputing that it is supposed to be clearer. Mateusz Konieczny (talk) 09:21, 5 September 2020 (UTC)
Are you serious that cycleway=opposite is more clear than cycleway=no telling there is not bicyle infrastructure?
Indeed, while cycleway=no is more than four times used than cycleway=opposite (and two time more than oneway:bicycle=no) is not used often in combination with oneway:bicycle=no. Why that is I do not know but I am sure that also holds for other key-value combinations. -- Emvee (talk) 21:13, 5 September 2020 (UTC)
This graphic is interesting, because it shows an apparently exponential growth till 2017, and then it switched to linear growth. It also shows that about one forth of the oneway:bicycle tags have always had a value other than "no". In taginfo, we can see that the other value is mainly "yes". Why would anybody set a oneway:bicycle=yes tag? This looks very much like the result of an editor template where users can choose between "yes" and "no" values. That doesn't indicate that they conciously preferred it over cycleway=opposite. --Fkv (talk) 13:04, 16 August 2020 (UTC)
"Why would anybody set a oneway:bicycle=yes tag?" - I created Tag:oneway:bicycle=yes listing some rare cases where it actually may be useful including some where I actually used it. But probably most uses match neither. Mateusz Konieczny (talk) 13:54, 16 August 2020 (UTC)
I think the shape is not that important but if we go that way and look at the cycleway=opposite curve I see a kind of linear curve till 2015 and then another linear curve with a less steep slope till now. Both slopes are lower than bicyle=no from 2017 onward. Checked the usage of oneway:bicycle=yes and added point 6 an 7. and see >90% is covered by points 5, 6 and 7. If you still think it is the result of an editor template, please give some prove for that. -- Emvee (talk) 18:57, 16 August 2020 (UTC)
The deprecation and replacement for the Netherlands has been completed. See also chronology of usage for this tag and oneway:bicyle=no. I hope other countries will follow. Multichill (talk) 11:45, 26 March 2022 (UTC)

Update March 2022

With cycleway=opposite replaced by oneway=bicycle=no (+oneway:mofa=no/oneway:moped=no) for the Netherlands (Dutch forum post) I thought it was time to update the stats.

This time I plotted oneway:bicycle=no versus cycleway=opposite but also oneway:bicycle=no + cycleway=opposite, so ways that are tagged double. I did subtract these number from both the oneway:bicycle=no and cycleway=opposite numbers so things are not counted twice.

oneway:bicycle versus cycleway=opposite based on data from retrieved on 20220326

The linear curve for oneway:bicycle from 2017 to mid 2020 changed again in exponential growth... -- Emvee (talk) 17:14, 26 March 2022 (UTC)