HeiGIT OpenStreetMap History DB
High-performance data analysis platform for OpenStreetMap full-history data.
The OSHDB offers a distributed data base that splits storage and computation load. It is then possible to use the map-reduce programming model to analyse the data in parallel. A central idea behind the OSHDB is to bring the code to the data.
OSHDBDatabase oshdb = /*…*/; Integer numberOfUsersEditingHighways = OSMContributionView.on(oshdb) .timestamps("2007-10-07", "2009-04-09") .where("highway") .map(contribution -> contribution.getContributorUserId()) .countUniq(); System.out.println(numberOfUsersEditingHighways);
OpenStreetMap History Data
OpenStreetMap contains a large variety of geographic data, for example differing in scale (ranging from single points of interests to whole country borders), or feature type (from concrete things like buildings up to more abstract concepts such as turn restrictions) and offers a lot of metadata (about individual contributors, modifications, etc.) that can be analyzed in a multitude of ways. At the same time, possibilities of working with this data are limited because of the large amount of needed resources and the lack of an easy-to-use analysis software. The huge information treasure in OSM for researchers, journalists, community members and other interested people is thereby kept hidden. A central goal of the OSHDB is to make this treasure available for a larger public.
- (close to osm data structures)
- (no lossy transformations/compressions)
- (partially resolved references, to speed up typical operations like "geometry building")
- (split into cells)
- (rest-based api for common queries)
- (oshdb-api: flexible, simple, map-reudce pattern, works on actual geometries)
- (raw-data api: direct access to underlying raw osm data)
(install instructions: maven, link to separate developer instructions)
(few examples with screenshots and links code)