Motivated by the excellent Washington Post Wonkblog I mapped Vancouver’s bike infrastructure. Looks good at first, but when you take out the ‘fake’ “Local Street” bikeways more in line with Wonkblog’s methodology it’s looking pretty bleak in large portions of the city.
Of course the devil is in the details and infrastructure cannot just be judged by how it’s labeled. If one were to look for 8-80 infrastructure, then the separated lanes would make the cut. Some of the bike lanes would be marginal, but most would probably make the cut. Although I can’t say that I would be particularly keen to let an 8yo cycle on some of them.
Vancouver’s “Shared Lanes” are not for the faint of heart. They have 50 speed limits on multi-lane roadways and feature sharrows to make it a little easier for cyclists to ‘take the lane’. In some cases cyclists share a lane with the buses, which is a little better.
The local streets are mostly car tunnels like the ‘Off-Broadway’ and won’t qualify as 8-80, but there are some exceptions like the local street portion of Pt. Grey Rd, where cycling is rather pleasant.
Methodology is simple, it’s just the city’s bike path data from their open data catalogue. The data comes with two fields, ‘name’ and ‘type’. The ‘type’ was used for the checkboxes at the bottom to selectively turn different bike lane types on or off and the ‘name’ will be displayed on hover.
Update
Some more Canadian cities:
Calgary on street, Calgary pathways, Calgary trails, Victoria, Montreal, Toronto Portland NYC Amsterdam Taipei
A word of caution. I have done zero data cleaning or verification. Some of these maps are missing some type of infrastructure. I am familiar with cycling conditions in Calgary, and their the extensive network along the river and other areas are missing in their main file. I added two more separate maps for their trails and pathways, but was too lazy to merge them. For Taipei, I noticed that the off-street paths along streets are missing, for example the one on Dunhua Bei Lu that I was using a lot a year ago. Not sure if or where these are available. So some more ground truth is needed for proper interpretation. But fun anyway.
Want to map another city’s data? No problem, just read on.
- Locate the city’s bikeway data and download it.
- Convert the data to geojson, with coordinates in latitude and longitude.
- Put the geojson file online somewhere, e.g. your public dropbox folder.
- Optionally look at the geojson file for a bikeway type descriptor and bikeway name, if available.
- Build a url for your map by using [http://doodles.mountainmath.ca/html/bike_paths.html] as a base url and add query strings
dataUrl=<url to your geojson>
city=<city name>
- optionally
type=<bikeway type property>
- optionally
name=<bikeway name property>
- optionally
zoom=true
if you want to be able to zoom and pan on the map
For example, to map Calgary’s bike network you need to got to their open data website and download the Tranportation Bikeways shapefiles (SHP). To convert them go geojson using ogr2ogr
ogr2ogr -f GeoJSON -simplify 1 -s_srs CALGIS_TRAN_BIKEWAY.prj -t_srs "EPSG:4326" CALGIS_TRAN_BIKEWAY.geojson CALGIS_TRAN_BIKEWAY.shp
from the GDAL package.
I uploaded the geojson to https://doodles.mountainmath.ca/data/CALGIS_TRAN_BIKEWAY.geojson
, so that will be the value of the dataUrl
query string.
Looking at the resulting geojson file you will see that the data does not include bikeway names, but it does include types and the property is called BICYCLE_CL
.
The rather lengthy link to the map would then be https://doodles.mountainmath.ca/html/bike_paths.html?city=Calgary&type=BICYCLE_CL&dataUrl=http://doodles.mountainmath.ca/data/CALGIS_TRAN_BIKEWAY.geojson
Or if you want to zoom into Calgary’s sprawling suburbs, you could also enable zooming (using double-click) and panning https://doodles.mountainmath.ca/html/bike_paths.html?city=Calgary&type=BICYCLE_CL&zoom=true&dataUrl=http://doodles.mountainmath.ca/data/CALGIS_TRAN_BIKEWAY.geojson
Happy Mapping!
Reuse
Citation
@misc{bike-paths.2015,
author = {{von Bergmann}, Jens},
title = {Vancouver {Bike} {Paths}},
date = {2015-04-01},
url = {https://doodles.mountainmath.ca/posts/2015-04-01-bike-paths/},
langid = {en}
}