OSM-Analytics lets you analyse interactively how specific OpenStreetMap features are mapped in a specific region.
Say, you'd like to know when most of a specific feature type (e.g. buildings) in a specific country or city were added. This tool lets you select the geographical region of interest and shows a graph of the mapping activity in the region. You can even select a specific time interval to get the number of touched features in that period, and the map will highlight the matching features. Alternatively, one can view the distribution of features by their mapper's user experience. The tool also gives a side by side comparison of the map state at different points in time and lets you view which HOT projects may have included the mapping of a region.
See documentation/architecture.md for background information.
The frontend is implemented in React/Redux and based on tj/Frontend Boilerplate.
$ npm install
Run in development mode:
$ npm start
Generate static build:
$ npm run build
deploy.sh script can be useful to publish updates on github-pages.
This user interface supports a custom UI for embedding on 3rd party websites, using an HTML
iframe. It allows generating a
time comparison between two points in time for the same region.
The above visualization can be generated using a specific URL structure:
bbox:110.28050,-7.02687,110.48513,-6.94219), an encoded polyline of a polygon (e.g.
polygon:ifv%7BDndwkBx%60%40aYwQev%40sHkPuf%40ss%40%7BfA_%40uq%40xdCn%7D%40%5E)), or a hot project id (e.g.
hot:4053) or a link to a github gist that contains a
2016) represents the start year of an OpenDRI project
now) represents the end year of an OpenDRI project.
nowcan also be provided to compare with latest OSM data
default) use the
defaultOSM Analytics visual style, or the
The gap detection view can also be used as an embedded map in a very similar way:
The edit recency and user experience views can also be embedded like this:
Here, one can optionally supply a time or user experience selection, which triggers highlights respective features or regions on the map that fall into the given time period or user experience range. Just append the respective query parameter to the embed URL:
/?timeSelection=<timestamp_from>,<timestamp_to> (timestamps are seconds since epoch) or
/?experienceSelection=<experience_from>,<experience_to> (experience values as defined in the respective layer's experience field).