OSM History Analysis Using Big Data Technology

Motivation

evaluation of OSM data quality

by generating statistics about OSM's data over time

efficient data processing → tight feedback loop

Data Quality

Aspects like completeness, accuracy, consistency, …

Depends on use case → fitness for purpose

Intrinsic Data Quality Measures

Requirements

existing methods

oshdb

System Design:
Map-Reduce

System Design:
Data Partitioning & Format

System Design:
Usage

code examples


oshdb = new OSHDB_Ignite();
result = OSMEntitySnapshotMapper.using(oshdb)
  .timestamps(…)
  .boundingBox(…)
  .osmTypes(OSMType.WAY)
  .filterByTagKey("highway")
  .sumAggregateByTimestamp(entitySnapshot ->
    lengthOf(entitySnapshot.getGeometry())
  );
  

oshdb = new OSHDB_Ignite();
result = OSMContributionMapper.using(oshdb)
  .timestamps(…)
  .boundingBox(…)
  .osmTypes(OSMType.WAY)
  .filterByTagKey("highway")
  .sumAggregateByTimestamp(contrib ->
    contrib.getContributionTypes().contains(DELETION)
      ? lengthOf(contrib.getGeometryBefore()) : 0.0
  );
  

Analyzing of history OSM data

Examples

[email protected]


core funded by