SlideShare ist ein Scribd-Unternehmen logo
1 von 15
München/HQ Bamberg Berlin Boswil Dresden Grenoble Hamburg Köln Leipzig Nürnberg Prag
OpenStreetMap, Java Topology Suite und Solr
Java für zweidimensionale Geodaten
Dr. Christian Winkler <christian.winkler@mgm-tp.com>
mgm technology partners GmbH
16.06.2016
2
Inhalt
16.06.2016
1. Datenlieferant: OpenStreetMap
2. Darstellung: Datenformate für (zweidimensionale) Geodaten
3. Verarbeitung der Geodaten: Java Topology Suite und Datenstrukturen
4. Suche und Aggregation von Geodaten: Apache Solr
5. Anwendungsbeispiele
6. Zusammenfassung
3
Großes Community-Projekt
 Viele Freiwillige (2,3 Millionen)
 Hohe Datenqualität (ständige Aktualisierung!)
 Koordinaten: WGS-84 (wie GPS)
Einige Kennzahlen
 3.027.449.018 Nodes (Punkte)
 307.744.408 Ways (Straßen, Leitungen etc.)
 Viele Gigabyte (44 GB xml.bz2, 29 GB ProtoBuf)
 Detaillierung bis auf Häuserkonturen
Verwendungsbeispiele
 Karten auf Handys (Freizeit, Geocaching)
 Karten für Navigationssysteme
 Günstiger als kommerzielle Anbieter
 Datenqualifizierung und Statistik
OpenStreetMap – Basisdaten
16.06.2016
4
Punkte (nulldimensional)
 Restaurants, Ärzte, Supermärkte
 Geschäfte und Toiletten
 Aber auch Hydranten (!)
Linien (eindimensional)
 Straßen
 Stromleitungen
Gebiete (zweidimensional)
 Gewässer, Grüngebiete, Wälder etc.
 „Unsichtbare“ Gebiete
wie Stadtgrenzen usw.
OpenStreetMap – weitere enthaltene Daten
16.06.2016
5
Well-known text (WKT)
 Punkte, Linien
 Polygone, Multipolygone
 Umlaufsinn (Löcher!)
OpenStreetMap
 Spezielle interne Darstellung der Daten
 Nodes und Referenzen auf Nodes
Transformation erforderlich
 Nicht ganz einfach wegen Datenvolumen
 Key-Value-Datenbank wie RocksDB
 Node  Way  Relation
Datenformate für (zweidimensionale) Geodaten
16.06.2016
POINT, LINESTRING POLYGON MULTIPOLYGON
6
API für zweidimensionale Geometrie
 Schnell, reines Java, Open Source (LGPL)
 Standardkonform
Koordinaten
 WGS-84 (Standard-Ellipsoid)
 Berechnung von Winkeln auf der Erde
 Umwandlung aus WKT
Relationen
 Enthält
 Schneidet
Operationen
 Schnitt- und Vereinigungsmenge
 (Symmetrische) Differenz
Java Topology Suite – Einführung
16.06.2016
7
Eigenschaften von Objekten
 Zentrum, Bounding Box, konvexe Hülle
 Abstände zwischen Geometrien
Beispiel für Fragestellungen/Operationen
 Verläuft eine Straße durch den Wald?
 Überschneidung von Stadtvierteln mit Zoo
 Fährt ein Fahrzeug auf einer Straße
Auswertungen und Veränderungen
 Vereinfachung (Douglas-Peucker)
 Voronoi ( Flughäfen)
Aber: Wie finde ich die entsprechenden Objekte aus OSM?
Java Topology Suite - Anwendungen
16.06.2016
8
Was ist Apache Solr?
 Suchmaschine mit Schema
 Oft für Volltextsuche,
aber auch sehr gut für analytische Suchen geeignet
 Integration von zweidimensionalen Geometrien
zur Indizierung und Suche
 Facettierung
Wie werden OSM-Daten in Apache Solr übernommen?
 Definition eines schema.xml
 Indizierung der Nodes
 Indizierung von Wegen und Gebieten
 Indizierung von Relationen
Suche in OpenStreetMap mit Apache Solr
16.06.2016
DDD
DDD
Typ
OSM
einlesen
Node Way
Rela-
tion
Solr-
Eingabedokumente
9
Anwendungsbeispiel: Qualifizierung von Immobilien
16.06.2016
Grüngebiete
Autobahnen
Autobahn-
auffahrten
9 Ärzte
3 Schulen
15 Restaurants
italienisch
chinesisch
3 Supermärkte Öffnungszeiten
10
Ausgangspunkt: Geolokalisierte Meldungen von Verkehrsschildern
 Mit Fehlern und Ungenauigkeiten
 Entfernung und Geschwindigkeit
 Rückrechnung der Position
 Indizierung in Solr
 Aggregation
(unüberwachtes Lernen)
 Fahrtrichtung berücksichtigen
Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten
Schritt 1: Persistierung und Clustering
16.06.2016
11
Qualifizierung der Clusterinformationen
 Mit Schild und Richtung
 Suche in OSM-Solr
 Kandidaten für Links
Mapmatching gelernter Positionen
 Straße in Umgebung suchen (JTS)
 Buffering, Richtung, Fahrtrichtung
 Noch besser: Trace
Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten
Schritt 2: Mapmatching
16.06.2016
12
Integration in Karte
 Vorwärts- und Rückwärts-propagation
 Domänenwissen: Verkehrsregeln
Iteration
 Weitere Schilder
 Wissen aufbauen
 Möglicherweise müssen Links
aufgeteilt werden
(pro Link nur ein Limit)
Ergebnis
 Verbesserte Kartenqualität
Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten
Schritt 3: Propagation und Ergebnis
16.06.2016
13
OpenStreetMap liefert Open Data für geografische Informationen
 Vielseitig verwendbar
 Sehr aktuell
 Sehr genau
Indizierung mit Apache Solr für globale Suche
 Identifikation von Georegionen
 Viele Operationen möglich
 Schnell, auch für andere Geodaten
Nutzung der Java Topology Suite
 Für schwierige, lokale Fragestellungen
 Unterschiedliche Algorithmen
 MapMatching, Krümmungsradien etc.
Starkes Gespann: OpenStreetMap, Apache Solr und Java Topology Suite
16.06.2016
14
 OpenStreetMap: http://openstreetmap.org
 WKT: https://en.wikipedia.org/wiki/Well-known_text
 JTS: http://www.vividsolutions.com/jts/JTSHome.htm
 WGS-84: https://de.wikipedia.org/wiki/World_Geodetic_System_1984
 Douglas-Peucker:
https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm
 Voronoi-Diagramm für Flughäfen: https://www.jasondavies.com/maps/voronoi/airports/
 Apache Solr: http://lucene.apache.org/solr/
 Sensordaten und Optimierung von Straßenkarten: http://www.bitkom-bigdata.de/programm/2015-
02-25/exploration-von-geospatialen-automotive-daten
 Genauere technische Erklärungen zur Transformation von OSM in Apache Solr:
http://blog.mgm-tp.com/2013/08/solr-openstreetmap/
Referenzen
16.06.2016
15
Innovation Implemented.
16.06.2016
mgm technology partners GmbH
Frankfurter Ring 105a
80807 München
Tel.: +49 (89) 35 86 80-0
Fax: +49 (89) 35 86 80-288
http://www.mgm-tp.com
PragMünchen Berlin Hamburg Köln NürnbergGrenoble LeipzigDresdenBamberg Boswil

Weitere ähnliche Inhalte

Ähnlich wie OpenStreetMap, Java Topology Suite und Solr - Java für zweidimensionale Geodaten

Floating Bicycle Data
Floating Bicycle DataFloating Bicycle Data
Floating Bicycle DataMartin L
 
2008 11 21 Gis Wien At Barrierefrei Opt
2008 11 21 Gis Wien At Barrierefrei Opt2008 11 21 Gis Wien At Barrierefrei Opt
2008 11 21 Gis Wien At Barrierefrei OptThomas Jöchler
 
OpenStreetMap: Nutzung & Integration
OpenStreetMap: Nutzung & IntegrationOpenStreetMap: Nutzung & Integration
OpenStreetMap: Nutzung & IntegrationDaniel Koller
 
OKLab Leipzig - Schwerpunkt Mobilität
OKLab Leipzig - Schwerpunkt MobilitätOKLab Leipzig - Schwerpunkt Mobilität
OKLab Leipzig - Schwerpunkt Mobilitätjoergreichert
 

Ähnlich wie OpenStreetMap, Java Topology Suite und Solr - Java für zweidimensionale Geodaten (6)

GISANALYSE_KF_UNI
GISANALYSE_KF_UNIGISANALYSE_KF_UNI
GISANALYSE_KF_UNI
 
Openstreetmap im Tourismus
Openstreetmap im TourismusOpenstreetmap im Tourismus
Openstreetmap im Tourismus
 
Floating Bicycle Data
Floating Bicycle DataFloating Bicycle Data
Floating Bicycle Data
 
2008 11 21 Gis Wien At Barrierefrei Opt
2008 11 21 Gis Wien At Barrierefrei Opt2008 11 21 Gis Wien At Barrierefrei Opt
2008 11 21 Gis Wien At Barrierefrei Opt
 
OpenStreetMap: Nutzung & Integration
OpenStreetMap: Nutzung & IntegrationOpenStreetMap: Nutzung & Integration
OpenStreetMap: Nutzung & Integration
 
OKLab Leipzig - Schwerpunkt Mobilität
OKLab Leipzig - Schwerpunkt MobilitätOKLab Leipzig - Schwerpunkt Mobilität
OKLab Leipzig - Schwerpunkt Mobilität
 

OpenStreetMap, Java Topology Suite und Solr - Java für zweidimensionale Geodaten

  • 1. München/HQ Bamberg Berlin Boswil Dresden Grenoble Hamburg Köln Leipzig Nürnberg Prag OpenStreetMap, Java Topology Suite und Solr Java für zweidimensionale Geodaten Dr. Christian Winkler <christian.winkler@mgm-tp.com> mgm technology partners GmbH 16.06.2016
  • 2. 2 Inhalt 16.06.2016 1. Datenlieferant: OpenStreetMap 2. Darstellung: Datenformate für (zweidimensionale) Geodaten 3. Verarbeitung der Geodaten: Java Topology Suite und Datenstrukturen 4. Suche und Aggregation von Geodaten: Apache Solr 5. Anwendungsbeispiele 6. Zusammenfassung
  • 3. 3 Großes Community-Projekt  Viele Freiwillige (2,3 Millionen)  Hohe Datenqualität (ständige Aktualisierung!)  Koordinaten: WGS-84 (wie GPS) Einige Kennzahlen  3.027.449.018 Nodes (Punkte)  307.744.408 Ways (Straßen, Leitungen etc.)  Viele Gigabyte (44 GB xml.bz2, 29 GB ProtoBuf)  Detaillierung bis auf Häuserkonturen Verwendungsbeispiele  Karten auf Handys (Freizeit, Geocaching)  Karten für Navigationssysteme  Günstiger als kommerzielle Anbieter  Datenqualifizierung und Statistik OpenStreetMap – Basisdaten 16.06.2016
  • 4. 4 Punkte (nulldimensional)  Restaurants, Ärzte, Supermärkte  Geschäfte und Toiletten  Aber auch Hydranten (!) Linien (eindimensional)  Straßen  Stromleitungen Gebiete (zweidimensional)  Gewässer, Grüngebiete, Wälder etc.  „Unsichtbare“ Gebiete wie Stadtgrenzen usw. OpenStreetMap – weitere enthaltene Daten 16.06.2016
  • 5. 5 Well-known text (WKT)  Punkte, Linien  Polygone, Multipolygone  Umlaufsinn (Löcher!) OpenStreetMap  Spezielle interne Darstellung der Daten  Nodes und Referenzen auf Nodes Transformation erforderlich  Nicht ganz einfach wegen Datenvolumen  Key-Value-Datenbank wie RocksDB  Node  Way  Relation Datenformate für (zweidimensionale) Geodaten 16.06.2016 POINT, LINESTRING POLYGON MULTIPOLYGON
  • 6. 6 API für zweidimensionale Geometrie  Schnell, reines Java, Open Source (LGPL)  Standardkonform Koordinaten  WGS-84 (Standard-Ellipsoid)  Berechnung von Winkeln auf der Erde  Umwandlung aus WKT Relationen  Enthält  Schneidet Operationen  Schnitt- und Vereinigungsmenge  (Symmetrische) Differenz Java Topology Suite – Einführung 16.06.2016
  • 7. 7 Eigenschaften von Objekten  Zentrum, Bounding Box, konvexe Hülle  Abstände zwischen Geometrien Beispiel für Fragestellungen/Operationen  Verläuft eine Straße durch den Wald?  Überschneidung von Stadtvierteln mit Zoo  Fährt ein Fahrzeug auf einer Straße Auswertungen und Veränderungen  Vereinfachung (Douglas-Peucker)  Voronoi ( Flughäfen) Aber: Wie finde ich die entsprechenden Objekte aus OSM? Java Topology Suite - Anwendungen 16.06.2016
  • 8. 8 Was ist Apache Solr?  Suchmaschine mit Schema  Oft für Volltextsuche, aber auch sehr gut für analytische Suchen geeignet  Integration von zweidimensionalen Geometrien zur Indizierung und Suche  Facettierung Wie werden OSM-Daten in Apache Solr übernommen?  Definition eines schema.xml  Indizierung der Nodes  Indizierung von Wegen und Gebieten  Indizierung von Relationen Suche in OpenStreetMap mit Apache Solr 16.06.2016 DDD DDD Typ OSM einlesen Node Way Rela- tion Solr- Eingabedokumente
  • 9. 9 Anwendungsbeispiel: Qualifizierung von Immobilien 16.06.2016 Grüngebiete Autobahnen Autobahn- auffahrten 9 Ärzte 3 Schulen 15 Restaurants italienisch chinesisch 3 Supermärkte Öffnungszeiten
  • 10. 10 Ausgangspunkt: Geolokalisierte Meldungen von Verkehrsschildern  Mit Fehlern und Ungenauigkeiten  Entfernung und Geschwindigkeit  Rückrechnung der Position  Indizierung in Solr  Aggregation (unüberwachtes Lernen)  Fahrtrichtung berücksichtigen Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten Schritt 1: Persistierung und Clustering 16.06.2016
  • 11. 11 Qualifizierung der Clusterinformationen  Mit Schild und Richtung  Suche in OSM-Solr  Kandidaten für Links Mapmatching gelernter Positionen  Straße in Umgebung suchen (JTS)  Buffering, Richtung, Fahrtrichtung  Noch besser: Trace Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten Schritt 2: Mapmatching 16.06.2016
  • 12. 12 Integration in Karte  Vorwärts- und Rückwärts-propagation  Domänenwissen: Verkehrsregeln Iteration  Weitere Schilder  Wissen aufbauen  Möglicherweise müssen Links aufgeteilt werden (pro Link nur ein Limit) Ergebnis  Verbesserte Kartenqualität Anwendungsbeispiel: Crowdsourcing für bessere Straßenkarten Schritt 3: Propagation und Ergebnis 16.06.2016
  • 13. 13 OpenStreetMap liefert Open Data für geografische Informationen  Vielseitig verwendbar  Sehr aktuell  Sehr genau Indizierung mit Apache Solr für globale Suche  Identifikation von Georegionen  Viele Operationen möglich  Schnell, auch für andere Geodaten Nutzung der Java Topology Suite  Für schwierige, lokale Fragestellungen  Unterschiedliche Algorithmen  MapMatching, Krümmungsradien etc. Starkes Gespann: OpenStreetMap, Apache Solr und Java Topology Suite 16.06.2016
  • 14. 14  OpenStreetMap: http://openstreetmap.org  WKT: https://en.wikipedia.org/wiki/Well-known_text  JTS: http://www.vividsolutions.com/jts/JTSHome.htm  WGS-84: https://de.wikipedia.org/wiki/World_Geodetic_System_1984  Douglas-Peucker: https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm  Voronoi-Diagramm für Flughäfen: https://www.jasondavies.com/maps/voronoi/airports/  Apache Solr: http://lucene.apache.org/solr/  Sensordaten und Optimierung von Straßenkarten: http://www.bitkom-bigdata.de/programm/2015- 02-25/exploration-von-geospatialen-automotive-daten  Genauere technische Erklärungen zur Transformation von OSM in Apache Solr: http://blog.mgm-tp.com/2013/08/solr-openstreetmap/ Referenzen 16.06.2016
  • 15. 15 Innovation Implemented. 16.06.2016 mgm technology partners GmbH Frankfurter Ring 105a 80807 München Tel.: +49 (89) 35 86 80-0 Fax: +49 (89) 35 86 80-288 http://www.mgm-tp.com PragMünchen Berlin Hamburg Köln NürnbergGrenoble LeipzigDresdenBamberg Boswil