Skip to content
Tile-reduce based metadata counter / aggregator for location-based analysis of OSM tags.
Jupyter Notebook JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Histogram Analysis.ipynb

Metadata Aggregator

Using osm-qa-tiles and tile-reduce, this is a basic aggregation of OSM metadata (such as object tags)

It's like, but matches on any key/value and shows where / when (to the best of it's ability)

What Is Counted?

Because this uses osm-qa-tiles, an object is counted if the latest (most-recent) edit to a currently visible object contains the username of someone on the following lists. What is then not represented:

  • Edits to any previous version of an object
  • Deletions
  • Edits to nodes w/o tags (i.e. moving a node in a way and not editing the way itself)
  • Turn restrictions & relations with abstract geometry representations

To this end, this visualization is not an exact record of all editing activity, but a decent approximation of relative editing activity.


npm install
node index.js

This creates the following output files:

  • tileSummaries.geojsonseq: Each GeoJSON object that matched a term


The Low-Zoom-Aggregation.ipynb notebook reads in all of the tile summaries in tileSummaries.geojsonseq and creates lower zoom aggregations to fit all the data into vector tiles.


The Jupyter notebook, Analysis.ipynb reads in summary-totals.csv for plotting / analysis and creating the timelines required for the interactive map.

Making the Map

The docs folder contains everything for the interactive heatmap. This is built on d3 and Mapbox-GL.

Running the script will create an mbtiles file for visualizing the data.

You can’t perform that action at this time.