78
OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

  • Upload
    lekhue

  • View
    280

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

OpenStreetMap Daten in Oracle Spatial

DOAG, SIG Oracle Spatial Potsdam, 15. März 2011

Markus Lindner, CISS TDI

Page 2: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• OpenStreetMap• Modellierung• Verwendung in Oracle

Gliederung

Page 3: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• CISS ist Partner von Navteq und Tele Atlas• Gestiegenes Kunden-Interesse an

OpenStreetMap• Erste konkrete Anfrage:

OpenStreetMap -> GDF• Viele Projekte mit Navteq und Tele Atlas Daten

Warum überhaupt überhaupt OpenStreetMapOpenStreetMap ??

OpenStreetMap

Page 4: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Open Source Projekt- OpenStreetMap hat das Ziel, freie

geographische Daten über Straßen, Eisenbahnen, Flüsse, Wälder, Häuser und alles andere, was gemeinhin auf Karten zu sehen ist, zu erfassen. Diese Daten stehen allen Benutzern lizenzkostenfrei zur Verfügung, um daraus zum Beispiel Straßen-, Wander- oder Fahrradkarten, Routenplaner oder andere wissenswerte Informationen zu erstellen.

Was ist OpenStreetMap ?

OpenStreetMap

Page 5: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Was ist OpenStreetMap ?

OpenStreetMap

Page 6: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Verfügbarkeit- Visualisierung (Dienst) - Routing (Dienst) beta!- Export-Datei (XML-Format)

- Vorgefertigte Datenbestände tagesaktuell verfügbar

- Tools für den eigenen Export

OpenStreetMap

Was ist OpenStreetMap ?

Page 7: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Export Format OSM Dateien (XML)- 3 unterschiedliche Features - Jedes Feature hat Attribute (id,timestamp,

user, bei nodes: lon, lat) - Ways bestehen aus Verweisen auf nodes- Relations bestehen aus member mit

unterschiedlichen Rollen (roles)- Zu jedem Feature können Tags weitere

Informationen enthalten

OpenStreetMap

Was ist OpenStreetMap ?

Page 8: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Export Format OSM Dateien (XML)- Nodes (Koordinaten)

- Tags (Informationen zur Art des Knoten)

- Ways- Nodes (Verweise auf die Nodes)- Tags (Informationen zur Art der Way)

- Relations- Member (Way, Node, Relation)- Role - Tags (Informationen zur Art der Relation)

OpenStreetMap

Was ist OpenStreetMap ?

Page 9: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

<node id="26372994" lat="50.7242657"lon="7.0639045" user="dachefte" uid="133419"visible="true" version="6" changeset="1896824"timestamp="2009-07-21T17:30:41Z"><tag k="highway" v="traffic_signals"/>

</node>

Node

OpenStreetMap

Page 10: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

<way id="5942943" user="dahlberg" uid="17848" visible=" true" version="3"changeset="3176699" timestamp="2009-11-21T15:06:23Z" >

<nd ref="38942096"/><nd ref="48912671"/><nd ref="567916837"/><nd ref="48912664"/><nd ref="48912676"/><nd ref="567916829"/><nd ref="48912678"/><nd ref="31497769"/><tag k="highway" v="residential"/><tag k="name" v="Von-Weichs-Straße"/>

</way>

Ways

OpenStreetMap

Page 11: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

<relation id="401701" user="EvanE" uid="184969"visible="true" version="1" changeset="3793978"timestamp="2010-02-04T21:57:14Z">

<member type="way" ref="15241577" role="outer"/><member type="way" ref="49530953" role="inner"/><tag k="type" v="multipolygon"/>

</relation>

Relations

OpenStreetMap

Page 12: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

<tag k="type" v="multipolygon"/><tag k="highway" v="residential"/><tag k="name" v="Von-Weichs-Straße"/><tag k="footway:right.sloped_curb.end" v="0.03"/>

Tags

OpenStreetMap

Page 13: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Highway example• Railway• Waterway• Landuse• Amenity• Leisure• Natural• Type• Name• ... (>20.000)

Tags

OpenStreetMap

Page 14: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• OpenStreetMap• Modellierung• Verwendung in Oracle

Gliederung

Page 15: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Warum Modellierung ?

• Import von XML in Oracle Spatial• Verschiedene Philosophien und Techniken

der Darstellung- OSM Renderer vs. MapViewer

• Unterschiedliche Nutzungen der Daten- Netzwerk Datenmodell- Schöne Karte

Page 16: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Was wollen wir erreichen ?

• Befüllen des Oracle Netzwerk Datenmodells

• Datengrundlage für eine schöne Karte• Import aller Informationen• Harmonisierung der Daten

Page 17: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

NDM - Was wird benötigt ?

• Straßen (klassifiziert)• Kreuzungen• Knoten – Kanten – Modell• Richtung von Strassen• Partitionen

Page 18: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Karte – was wird benötigt ?

• Verschiedene Ebenen mit Flächen• Verschiedene Ebenen mit Linien• Verschiedene Ebenen mit Punkten

- MapViewer kann innerhalb einer Ebene unterschiedliche Symbole visualisieren

- GIS Systeme sind etwas beschränkter• Übersichtliche Datenstruktur für jede Ebene

- Verkürzt die Ladezeiten• Sammeltabellen für Tags

- Vollständigkeit

Page 19: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Einfacher (naiver) Ansatz

• Pro OSM Feature ���� Oracle Tabelle• Pro Tag ���� Spalte in Tabelle

3 Tabellen mit > 20.000 Spalten ???

Page 20: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Schnittstelle (Konfiguration)

<?xml version="1.0" encoding="UTF-8"?>

<cfg version="1.0">

<StandardTag name="highway"/>

<SubTag name="oneway"/>

<StandardTag name="railway"/>

<StandardTag name="leisure"/>

<StandardTag name="building"/>

<StandardTag name="type"/>

<StandardTag name="amenity"/>

<StandardTag name="boundary"/>

<StandardTag name="landuse"/>

<StandardTag name="waterway"/>

<StandardTag name="name"/>

</cfg>

Datenmodellierung

Page 21: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

OSM Objekt

<way id="4339305" user="RoToRa" uid="9781" visible="tru e" version="18"changeset="4196252" timestamp="2010-03-21T20:23:13Z" >

<nd ref="26402294"/>

<nd ref="26474356"/>

<nd ref="588385279"/>

<nd ref="588385280"/>

<tag k="highway" v="tertiary"/>

<tag k="lanes" v="2"/>

<tag k="name" v="Graurheindorfer Straße"/>

<tag k="oneway" v="yes"/>

<tag k="created_by" v="Potlatch 0.10f"/>

</way>

Datenmodellierung

Page 22: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

CITRA ObjekteFACDEF = WAY_____001

ATTSEG = WAY_____001

1 ID F(1) :4339305

4 USER C(32) :RoToRa

5 VISIBLE C(5) :true

6 CHANGESET C(32) :4196252

7 TIMESTAMP C(32) :2010-03-21T20:23:13Z

100 highway C(255) :tertiary

101 name C(255) :Graurheindorfer Straße

102 oneway C(255) :yes

77 EDGE_ID F(1) :11

77 EDGE_ID F(1) :12

77 EDGE_ID F(1) :13

PICTURE

LINE = WAY_____001

7.0948316 50.7464279

7.0948848 50.7466028

7.0948989 50.7466487

7.0947607 50.7467545

ENDFAC

FACDEF = WAYTAG__001

ATTSEG = WAYTAG__001

1 WAY_ID F(1) :4339305

2 TAG_NAME C(255) :created_by

3 TAG_VALUE C(255) :Potlatch 0.10f

PICTURE

ENDFAC

FACDEF = WAYTAG__001

ATTSEG = WAYTAG__001

1 WAY_ID F(1) :4339305

2 TAG_NAME C(255) :lanes

3 TAG_VALUE C(255) :2

PICTURE

ENDFAC

Datenmodellierung

Page 23: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• CITRA Schnittstelle• Problem: Ways und Nodes kein echtes Knoten-

Kantenmodell• Lösung: Schnittstelle erzeugt echte Edges für

(highway)-Ways

Schnittstelle

Datenmodellierung

Page 24: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 25: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 26: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 27: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 28: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 29: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Datenmodellierung

Page 30: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

OSM Objekt

<way id="4339305" user="RoToRa" uid="9781" visible="tru e" version="18"changeset="4196252" timestamp="2010-03-21T20:23:13Z" >

<nd ref="26402294"/>

<nd ref="26474356"/>

<nd ref="588385279"/>

<nd ref="588385280"/>

<tag k="highway" v="tertiary"/>

<tag k="lanes" v="2"/>

<tag k="name" v="Graurheindorfer Straße"/>

<tag k="oneway" v="yes"/>

<tag k="created_by" v="Potlatch 0.10f"/>

</way>

Datenmodellierung

Page 31: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

CITRA ObjekteFACDEF = WAY_____001

ATTSEG = WAY_____001

1 ID F(1) :4339305

4 USER C(32) :RoToRa

5 VISIBLE C(5) :true

6 CHANGESET C(32) :4196252

7 TIMESTAMP C(32) :2010-03-21T20:23:13Z

100 highway C(255) :tertiary

101 name C(255) :Graurheindorfer Straße

102 oneway C(255) :yes

77 EDGE_ID F(1) :11

77 EDGE_ID F(1) :12

77 EDGE_ID F(1) :13

PICTURE

LINE = WAY_____001

7.0948316 50.7464279

7.0948848 50.7466028

7.0948989 50.7466487

7.0947607 50.7467545

ENDFAC

FACDEF = EDGE____002

ATTSEG = EDGE____002

1 ID F(1) :11

2 WAY_ID F(1) :4339305

3 FROM_NODE F(1) :26402294

4 TO_NODE F(1) :26474356

PICTURE

LINE = EDGE____002

7.0948316 50.7464279

7.0948848 50.7466028

ENDFAC

FACDEF = EDGE____002

ATTSEG = EDGE____002

1 ID F(1) :12

2 WAY_ID F(1) :4339305

3 FROM_NODE F(1) :26474356

4 TO_NODE F(1) :588385279

PICTURE

LINE = EDGE____002

7.0948848 50.7466028

7.0948989 50.7466487

ENDFAC

Datenmodellierung

Page 32: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• CITRA Schnittstelle• Kann OSM Exporte in Größenordnung 3-3,5 GB

(Berlin: 180 MB, England: 3.1 GB)• Variiert in Abhängigkeit Anzahl Nodes• Begrenzt durch Java VM und Hauptspeicher

• CITRA Namen sind momentan fix• Weitere Konfigurationsmöglichkeiten denkbar

Schnittstelle

Datenmodellierung

Page 33: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Die Konvertierung in 3 Schritten

CITRA

Modellierungswerkzeuge

Syntaktische Konvertierungund Klassifikation von Daten

Syntaktische Konvertierungund Konsistenzprüfung

Basierend auf dem CITRA-Format

Page 34: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Die Implementierung

CITRA

Quelle

Test

Analyse

Report Report

Ziel

Report Report

Geometrische Operationen

Modifizierung von Attributen

Aufwertung der Topologie

...

Page 35: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie ...... z.B. Bearbeitung von Flächen

• Modifikation von Objekten

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA®- Modellierungswerkzeuge

CITRA Konzept

Page 36: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

Uferstr. 15a

Uferstr.

15

a

CITRA®- Modellierungswerkzeuge

Page 37: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 38: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 39: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 40: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

NAYY 3x25 1987NAYY 3x25 2003

CITRA®- Modellierungswerkzeuge

Page 41: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 42: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 43: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 44: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Alphanumerische Daten

• Geometrie

• Modifikation von Objekten

• Bearbeitung von Flächen

• Bildung von Relationen

• Bildung von Topologien

• Analyse der CITRA-Datensätze

• Das offene CITRA-Format ermöglicht den Aufbau und d ie Integration individueller Lösungen

• Plausibilitätsprüfung

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 45: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Sachdaten- Umbenennung von Feldern- Aufbereitung von Inhalten- Generierung von Defaultwerten- Abbildung auf zulässige Werte- Aufteilen, Zusammenfügen von

Sachdaten - Umlautkonvertierung

• Geometrie- Umwandlung von graphischen Primitiven - Umrechnung von Referenzpunkten - Nachbildung von Zeichenmethoden - Erzeugung von Präsentationsgraphik

Uferstr. 15a

Uferstr.

15

a

Text A9f1..y Text

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 46: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Flächenbearbeitung- Überführung verschiedener Flächendatenmodelle - Flächenbildung unter verschiedenen

Voraussetzungen - Zuordnen von Repräsentanten- Zuordnung von Zentroiden zu den zugehörigen Flächen- Umsetzung von verschiedenen Repräsentationen von Inseln und Exklaven

• Herstellen von Beziehungen- Zusammenführen von Geometrie und Sachdaten eines Objekts - Beziehungen zwischen Objekten- Einfangen von Texten- Identifizieren von Textblöcken

NAYY 3x25 1987NAYY 3x25 2003

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 47: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Erzeugung von Topologie- Suche nach Overshoots- Finden von fehlenden Knoten- Generierung von Knoten- Herleitung von Knotentypen aus dem toplogischen Zusammenhang- Prüfen auf Konsistenz zu topologischen Regeln- Zusammensetzen von Liniensegmenten entsprechend topologischer Regeln

• Objekte modifizieren- Trennen- Verschmelzen- Vervielfältigen- Löschen- Umbenennen

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 48: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Analyse von CITRA -Dateien- Statistik- Generierung von Konfigurationsdateien- Visualisierung mit dem SVG-Viewer

• Plausibilitätsprüfungen- Wichtiger Beitrag zur Qualitätssicherung- Funktionalität zur automatischen Fehlerkorrektur

• Offenes Format ermöglicht Erstellung und Einbau von Individuallösungen

CITRA Konzept

CITRA®- Modellierungswerkzeuge

Page 49: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Beispiel CITRA Format

CITRA Konzept

FACDEF = BUILDING3507483.870 5397436.0103507483.870 5397436.010

ATTSEG = PUBLIC_BLDG1 TYPE C(3) :0152 BUILT_IN C(4) :186711 STR_CODE C(5) : 524912 NUMBER C(4) : 1416 ADDRESS C(33) :14, Mildenhall Road

PICTURELINE = BLDG_AREA

3507479.540 5397436.6903507481,220 5397437.0503507480.780 5397439.4603507489.590 5397441.1703507491.280 5397432.1003507480.690 5397430.0603507479.540 5397436.690

SYMB = CENTROIDANGLE = 281

3507483.870 5397436.010FTEXT = NUMBER

ANGLE = 281FLDID = 12

3507483.870 5397436.010TEXT = DESCRIPTION

3507487.230 5397434.050'Town Hall'ENDFAC

Page 50: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Nodes werden einfach modelliert• Die Schnittstelle unterscheidet zwischen Nodes

ohne <Tag> und Nodes mit <Tag>• Nodes mit Tag sind POI• POI werden je nach Bedeutung des <Tag>

umbenannt• Nodes ohne Tag sind nur für NDM wichtig

Nodes

CITRA

Page 51: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Ways können mehrere <Tags> haben• Beispiel: highway und railway• ���� Verdoppeln der Geometrie notwendig

Ways

CITRA

<way id="4365197" user="mike67" uid="49785" visible="tr ue" version="6"changeset="4044699" timestamp="2010-03-05T21:14:14Z" >

<nd ref="26402290"/> ....

<tag k="highway" v="secondary"/>

<tag k="name" v="Kölnstraße"/>

<tag k="oneway" v="yes"/>

<tag k="railway" v="tram"/>

<tag k="ref" v="L 300"/>

</way>

Page 52: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Ways bilden Polylinien und Polygone • Bei Enklaven/Exklaven gibt es eine Relation mit

dem type multipolygon

<relation id="22522" user="DaBear" uid="31059" visible ="true"version="1" changeset="600786" timestamp="2008-07-26T 12:00:41Z">

<member type="way" ref="15241876" role="outer"/><member type="way" ref="25778555" role="inner"/><tag k="type" v="multipolygon"/>

</relation>

Ways

CITRA

Page 53: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Zusammenfassen der Ways eines Multipolygons zu einem Objekt

• Aber: einzelne Ways eines Multipolygons können unterschiedliche Bedeutungen haben

• Der Typ des äußeren Rings gibt den Typ des gesamten Polygons vor

• Wenn ein innerer Ring einen anderen Typ hat, wird dieser dupliziert

Ways

CITRA

Page 54: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Ways (Fehler)

CITRA

Page 55: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Ways

CITRA

Page 56: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Ways (korrekt)

CITRA

Page 57: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Modellieren Beziehungen zwischen Objekten, aber auch Objekte selbst

• Für Darstellung wichtige Relationen (Multipolygone)

• Informative Relationen (Route für S -Bahn-Linien)• Manöver (Abbiege-Verbote etc...)

Relationen

CITRA

Page 58: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• >20000 unterschiedliche <Tags>• „ungültige Namen“

<tag k="footway:right.incline" v="1.0%"/>

• Einheitlichkeit ? <tag k=„amenity" v=„school"/><tag k=„school" v=„yes"/>

Attribute

CITRA

Page 59: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Open Street Map• Modellierung• Verwendung in Oracle

Gliederung

Page 60: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• AREAAMENITY• AREALANDUSE• AREALEISURE• AREAWATER• BUILDING• AREANATURE• TRAFFIC• OTHER_OBJECTS

Oracle Tabellen mit Ways(Areas)

Datenmodell

Page 61: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• STREETS• RAILWAY• BOUNDARY

Oracle Tabellen mit Ways(Polylines)

Datenmodell

Page 62: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• POI_RAILWAY• POI_TRAFFIC• POI_RESTRNT• POI_AMENITY• POI_PARKING• POI_WATER• POI_PETROL• POI_BANK• POI_NATURE• POI_LANDUSE• POI_LEISURE

Oracle Tabellen mit Nodes (Points)

Datenmodell

Page 63: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• RELATIONS• RESTRICTIONS• WAYTAGS• NODETAGS• RELTAGS

Oracle Tabellen ohne Geometrie

Datenmodell

Page 64: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• OSM_NODE$• OSM_LINK$• OSM_PATH$• OSM_PLINK$

Oracle Tabellen für Netzwerk-Datenmodell

Datenmodell

Page 65: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Netzwerk Datenmodell

• Spatial Netzwerk ohne LRS SDO_GEOMETRY• Spatial Netzwerk mit LRS SDO_GEOMETRY• Spatial Netzwerk mit SDO_TOPO_GEOMETRY• Logisches Netzwerk ohne Geometrie

Oracle

Page 66: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Netzwerk Datenmodell

• Benutzer/Schema anlegen• Anlegen der Datenstrukturen• Daten importieren• Metadaten erzeugen• Testen/Validieren

Oracle

Page 67: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

• Partitionieren !• Objekte auf der Grenze

- Nodes Ok (Constraint)- Ways Ok (Edge Ids konfigurierbar)

• Directed oder Not-Directed

Netzwerk Datenmodell

Oracle

Page 68: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Anlegen der Datenstrukturen

• Verwendung von Oracle Funktionen zum erzeugen der Tabellen

• Erzeugen der Tabellen durch eigene Scripte

Oracle

Page 69: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Anlegen der Datenstrukturen

SDO_NET.CREATE_SDO_NETWORK(<name>,<Hierachie-Level>,<Directed>,<node with cost> );

--- anlegen der Netzwerk - TabellenEXEC SDO_NET.CREATE_SDO_NETWORK('OSM',9,True,FALSE) ;

--- eigene Spalten für ID aus OpenStreetMapALTER TABLE OSM_NODE$ ADD (OSM_ID NUMBER);ALTER TABLE OSM_LINK$ ADD (OSM_ID NUMBER);

--- Sequenz wird con CITRA verwendetcreate sequence LINK_SEQ;

Oracle

Page 70: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Daten importieren

• CITRA

Oracle

Page 71: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Metadaten

insert into USER_SDO_GEOM_METADATAvalues('OSM_NODE$', 'GEOMETRY',MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT( 'X', -360, 360, 0.000001 ),MDSYS.SDO_DIM_ELEMENT( 'Y', -360, 360, 0.000001 ) ) ,4326 );

... OSM_LINK$, OSM_PATH$

Oracle

Page 72: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Validieren

SDO_NET.VALIDATE_NETWORK(<name>,<check_data>)

--- Validieren des Netzwerkesselect SDO_NET.VALIDATE_NETWORK('OSM','True') from dua l;

Oracle

Page 73: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Oracle

Page 74: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Karte

• Benutzer anlegen• Anlegen der Tabellen• Daten importieren• Metadaten erzeugen

Oracle

Page 75: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Anlegen der Tabellen

Oracle

Page 76: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Daten importieren

Oracle

Page 77: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Oracle

Das war‘s!

Page 78: OpenStreetMap Daten in Oracle Spatial - doag.org · OpenStreetMap Daten in Oracle Spatial DOAG, SIG Oracle Spatial Potsdam, 15. März 2011 Markus Lindner, CISS TDI

Haben Sie Fragen?

CISS TDI GmbHBarbarossastraße 36 •••• 53489 Sinzig

Tel.: +49 2642 97 80 [email protected] •••• www.ciss.de

Die abgebildeten Daten wurden mit freundlicher Genehmigung von der KDZ Westfalen-Süd und den

Landesvermessungen NRW, RP zur Verfügung gestellt.