Can Open Street Map and Qgis show where it’s ok to cycle against traffic

23 September 2014

[Update here] - The Italian cities Milan, Bologna and Turin would like to allow cyclists to ride against traffic on some oneway streets. This would help promote environment-friendly modes of transport and it would bring Italian cities in line with many European cities, where this is already allowed. For example, Brussels allows cycling contromano on 85% of oneway streets, they argue.

I was intrigued by that percentage, and curious what the percentage for Amsterdam might be. My first hunch was that it might well be similar, because you sort of expect that cycling in both directions is normally allowed here. Then I realised that the exceptions to this rule include canals, where the streets usually are oneway for cyclists as well. That might cost us percentage points.

I reckoned it should be possible to find out more using Open Street Map, where streets have oneway and oneway:bicycle labels. Unfortunately, the oneway:bicycle information is often missing (dotted lines on the map). This includes streets along canals that are oneway for cyclists, but also streets in neighbourhoods such as the Oosterparkbuurt where cycling in both directions is allowed.

Of course, Open Street Map is a volunteer project, so if information appears to be missing, I guess that’s my responsibility as much as anyone else’s. So here’s my to-do list:

At the very least, it will be a good opportunity to learn something about Open Street Map.

Incidentally, the Italian cities saw their request turned down by minister Maurizio Lupi. Cycling against traffic may work elsewhere, but «we’re in Italy, not Germany», he argues.


Not only am I basically new to OSM; I also don’t have much experience with Qgis, so this was a bit of a trial and error thing. First I tried to define specific types of roads based on this overview of types of oneway roads with cycle lanes. However, trying to create new attributes in Qgis based on these descriptions all but crashed my computer (for some reason using conditions containing AND in the field calculator seems to be problematic). Further, almost no roads in Amsterdam appear to meet these specific criteria.

So instead I took a more basic approach, looking for oneway=yes in combination with different values for oneway:bicycle. Out of more than 11,500 polylines with oneway=yes, 267 had oneway:bicycle=no and five oneway:bicycle=yes (Halvemaansbrug, a nearby bit of Kloveniersburgwal and three unnamed polylines).

Data based on a rectangle comprising the city of Amsterdam, downloaded on 20 September 2014.

23 September 2014 | Categories: amsterdam, cycling, data, openstreetmap, qgis