OSM QA tiles: historic snapshots

Historic snapshots contain OSM data as it was on a specific date in the osm-qa-tile format.

They are powerful datasets for comparing what OSM looked like at different points in time:

OSM features present in London in 2007 compared to 2019.

Quarterly Snapshots

Previous research has used historic snapshots taken quarterly (April 1, July 1, October 1, and January 1 of each year). to show changes in object density over time. For example, this comparison of the OSM building density in New York between Q3 and Q4 of 2013.

Historic quarterly snapshots are available for part of 2017 and 2018, but were no longer generated past 2019/01/01. Instead, see the instructions below to generate your own from the full planet history. These files are made available by the University of Colorado Boulder.

First Quarter Second Quarter Third Quarter Fourth Quarter
2017 2017/10/01, 30.4 GB 2018/01/01 31.7 GB
2018 2018/04/01, 30.0 GB 2018/07/01, 30.1 GB 2018/10/01, 32.1 GB 2019/01/01 33.2 GB

How to generate your own historic snapshots of OSM data:

First, create a snapshot of OSM at a specific time from the full planet history using the osmium tool

osmium time-filter --verbose --overwrite -o 2010-Q1.osm.pbf planet-history.osm.pbf 2010-04-01T00:00:00Z

Next, use osmium-export to convert the osm.pbf into GeoJSON. Use the osm-qa-tile.osmiumconfig to ensure that the features match the osm-qa-tiles.

osmium export -c osm-qa-tile.osmiumconfig -f geojsonseq -o features.geojsonseq --progress 2010-Q1.osm.pbf

Finally, use tippecanoe to create the mbtiles file:

tippecanoe -Pf -pf -pk -ps -Z12 -z12 -d20 --no-tile-stats -b0 -l osm -o 2010-Q1-qa-tile.mbtiles features.geojsonseq

The flags ensure the following (from the tippecanoe documentation):

-Z12 -z12 -d20 Only generate zoom 12, with the maximum detail available at that resolution.

-pf -pk -ps Don't limit tiles by size or feature count; don't simplify lines.

-b0 No buffer on the tile edges from which to duplicate next-door features.

--no-tile-statsDon't generate statistics for object attributes (since these are not for rendering).

-l osmName the layer "osm".