Streets and Routes

Two global datasets derived from OpenStreetMap, one for route relations and the other for major streets. These are intended to improve the rendering of OSM labels for middle zooms, approximately 15 and below. Each dataset is a generalized set of lines derived from OSM, at five spherical mercator zoom levels.

OSM’s excellent global coverage is best adapted for direct rendering at the highest zoom levels, but shows some labeling and data problems at lower zooms. Repeated labels on dual carriageways are the most obvious issue, along with ways cut at the boundaries between surface streets, tunnels and bridges.

Download global GeoJSON data for routes and streets, generated March 5 2014:

Watch for the zoomlevel attribute in each dataset, which indicates the intended zoom level for that feature. Also, the routes dataset is missing some important routes due to problems that I’ve fixed in code and will need to re-generate.

Creation of this dataset generously made possible by Smart Chicago Collaborative.


Cartographic generalization is a method for simplifying and editing map data for display at a particular scale. For example, the three maps of the Nyon District below each show an identical area, but are meant to be printed at three different sizes corresponding to web zoom 15, 13, and 11.

This data has been generalized using my Skeletron and StreetNames tools, using a polygon buffer and voronoi diagram as described in a 1996 paper by Alnoor Ladak and Roberto B. Martinez. It required approximately 2,300 normalized instance hours on Elastic Mapreduce, Amazon’s Hadoop product.

Generated by Michal Migurski, Thanks Matt Biddulph for an explanation of Hadoop streaming carefully adapted for the meanest understanding.

Sample Views

In actual use, you wouldn’t render the blue and pink lines below.

Generated in QGis.