osm2pgsql

Im vorherigen Kapitel sahen wir wie man PostgreSQL zusammen mit PostGIS in Windows aufsetzt und eine Datenbank aufsetzt und diese mit Shapefile Daten lädt. Um OpenStreetMap Daten in eine Datenbank zu bekommen, kann man die Daten im Shapefile Format bekommen und den Shapefile Loader verwenden, aber es kann passieren, dass die gewünschten Daten fehlen. In diesem Kapitel lernen wir, wie man osm2pgsql verwendet, ein Kommandozeilen Programm, um rohe OSM Daten in eine PostGIS Datenbank zu laden.

Wir führen durch die Schritte um osm2pgsql unter Windows aufzusetzen, die Schritte unter anderen Betriebssystemen sollten ähnlich sein, wir nehmen an, dass die PostGIS Datenbank(en) korrekt aufgesetzt wurden.

An osm2pgsql gelangen

Die Windows Version von osm2pgsql kann im Browser heruntergeladen werden unter http://wiki.openstreetmap.org/wiki/Osm2pgsql#Windows.

windows binary

unzip it

system path

edit variables

env variables

find path

edit path

C:\osm2pgsql\Win32

cmd

osm2pgsql

osm2pgsql test

An OSM Rohdaten gelangen

Bevor man osm2pgdql startet braucht man OSM Rohdaten, um diese in eine Datenbank importieren zu können. Falls man noch keine .osm Datei hat, kann man eine Datei herunterladen von https://mapzen.com/data/metro-extracts/. Diese Seite bietet viele OSM Extrakte für verschiedene Städte an. Man findet eine Stadt zum Importieren und lädt die PBF Datei dafür herunter. PBF Dateinen sind komprimierte Versionen der .osm Dateien. Man kann beliebige Dienste für OSM Extrakte aus der Liste von getting data nutzen, falls man andere Rohdaten für andere Gebiete möchte.

An Style Dateien gelangen

**osm2pgsql benötigt Custom Style Dateien zur Definition von Tags, welche beim Import in die Datenbank verwendet werden. Man kann die Standard Style Datei hier herunterladen.

Daten importieren

Man öffnet PgAdmin III und erstellt eine neue Datenbank mit Namen osm, wie man es bereits im vorherigen Kapitel getan hat. Um die Daten zu importieren, führt man das Programm osm2pgsql auf der Kommandozeile aus.

command prompt

Wir werden die Anwendung osm2pgsql mit verschiedenen Optionen ausführen. Wir müssen mindestens angeben:

Wir haben unsere OSM Datei unter C:\ abgelegt, um es einfacher zu haben.

osm2pgsql output

Man testet es

Wir können prüfen, ob der Import erfolgreich war und die Daten in unserer Datenbank mit QGIS anschauen.

connection settings

postgis layers

osm in qgis

Schaut man die Attributtabellen der Layer an, sieht man, dass die Attribute auf OSM Tags gemappt sind. Die entsprechenden Tags, die importiert wurde, wurden definiert während des osm2pgsql Importprozesses. Um spezifische Tags, welche nicht standardmäßig enthalten sind, hinzuzufügen, kann man die Style Datei bearbeiten, die osm2pgsql verwendet, um das Datenschema zu definieren.

Zusammenfassung

Wenn man OpenStreetMap Daten in die eigene Datenbank importieren möchte, ist osm2pgsql ein großartiges Werkzeug, Es ist sehr nützlich, wenn man aktuellste OSM Daten benötigt und Attribute anpassen muss oder wenn man an komplexeren Projekten arbeitet.

In jüngster Zeit wurden ein anderes Importwerkzeug entwickelt, es heißt imposm, und bietet Verbesserung besonders in der Geschwindigkeit gegenüber osm2pgsql, obwohl aktuell andere Schlüsselfunktionen fehlen, welche für Version 3 von imposm vorgesehen sind.

Für weitere Informationen zu osm2pgsql findet man im OSM Wiki - http://wiki.openstreetmap.org/wiki/Osm2pgsql.