Skip to content
Thomas Schwotzer edited this page Feb 23, 2015 · 43 revisions

Links

Algorithmus

Initialer Import / Update

Achtung: Das ist ein Skizze des Algorithmus - wir arbeiten dran...

Wir setzen eine Datenbank auf, im folgenden OSM-ImportDB mit folgenden Tabelle:

OSM Import DB Tabellen

Nodes

Name Type Bedeutung
ID PRIMARY KEY primary key
Long Longitude
Lat Latitude
Tags Referenz zu einer Tag-Tabelle oder hstore enthält alle Tags, die im OSM-File gefunden werden.
OHDM-Geom-ID Fremdschlüssel ID der Geometrie (kann nur ein Punkt sein), die in OHDM gespeichert wurde - kann leer sein.
OHDM-Object Fremdschlüssel Verweis auf OHDM Objekte, dass wegen des Imports in OHDM angelegt wurde (kann leer sein).

Ways

Name Type Bedeutung
ID PRIMARY KEY primary key
NodeIDs hstore ? Liste aller Node-ID aus OSM-File, die den Way beschreiben - als hstore beschreiben oder aber weitere Tabelle anlegen, die Zugehörigkeit Nodes zu Ways speichert.
Tags s.o. s.o.
OHDM-Geom-ID Fremdschlüssel ID der Geometrie, die in OHDM gespeichert wurde - kann leer sein.
OHDM-Geom-Type Typ der Geometrie in OHDM (Linestring, Polygone)
OHDM-Object Fremdschlüssel Verweis auf OHDM Objekte, dass wegen des Imports in OHDM angelegt wurde (kann leer sein).

Relations

Name Type Bedeutung
ID PRIMARY KEY primary key
IDs hstore ? Liste aller Node- und Way-IDs aus OSM-File, die die Relation beschreiben - als hstore beschreiben oder aber weitere Tabelle anlegen, die Zugehörigkeit Nodes / Ways zur Relation speichert.
Tags s.o. s.o.
OHDM-Object Fremdschlüssel Verweis auf OHDM Objekte, dass wegen des Imports in OHDM angelegt wurde (kann leer sein).

Initialer Import basierend auf OSM-File

Parsen des OSM - File 1.

  1. Alle Informationen einer Node werden in die Node-ImportDB übertragen.

  2. Alle Informationen eines Way werden in die Ways-ImportDB übertragen.

  3. Alle Informationen eines Relations werden in die Relations-ImportDB übertragen.

  4. Für alle Einträge in Nodes, die Tags enthalten: a) Erzeuge ein Geografisches Objekt in OHDM b) Erzeuge eine Geometrie in OHDM. c) Erzeuge einen Eintrag in -Zeit-Objekt-Tabelle mit aktuellem Datum und unendlichem Endedatum, die Objekt und Geometrie in Relation setzen. d) Speichere alle Tags in Tags-Tabelle und setze Objekt mit den Tags in Relation (via Tag-Zeit-Objekt-Tabelle)

Clone this wiki locally