Nominatim Installation zum Suchen von Namen und Adressen in OSM-Daten (Ubuntu 12.04)

Einleitung

Passend zum Tileserver, der kürzlich um Routingfunktionlitäten erweitert wurde, soll nun auch eine Möglichkeit geschaffen werden, Adressen über Straßen- und Ortsnamen finden zu können. Hierzu wird wird die Open Source Lösung Nominatim verwendet.

Installation

Die Installation erfolgt gemäß Anleitung des OSM-Wikis (http://wiki.openstreetmap.org). Ein Großteil der benötigten Pakete ist bereits durch die Vorarbeiten vorhanden. Die Quellen erhalten wir über GitHub.

Nominatim bauen…

Anschließend noch zwei Datenquellen herunterladen.

Der Import der Daten in die Datenbank wird mit dem nachfolgenden Kommando angestoßen. Hier ist wie in den vorherigen Beispielen bei größeren Karten mit langen Verarbeitungszeiten zu rechnen.

 

 

Lokale Open Source Routing Machine (OSRM)

Einleitung

Nachdem bereits ein lokaler Tile-Server (Link zum Tutorial) zur Verfügung steht, soll dieser um Routing-Funktionalitäten erweitert werden. Hierzu soll die Open Source Routing Machine (OSRM) verwendet werden. Weitere Infos:
http://project-osrm.org/
https://github.com/DennisOSRM/Project-OSRM

Installation

Zunächst werden die OSRM-Quellen und einige Ubuntu-Pakete benötigt.

Anschließend wird OSRM aus den Quellen gebaut.

Verarbeitung der Daten

Mit den nachfolgenden Kommandos werden die Daten aufbereitet und schließlich in die Datenbank eingespielt.

Nun muss noch server.ini angepasst werden:

Das Kommando zu Starten:

 Weboberfläche

Die zugehörige Weboberfläche kann über GitHub besorgt werden.

Die Konfiguration erfolgt in OSRM.config.js, dort ist der folgende Teil für das Routing mit der eigenen OSRM zu erweitern/anzupassen:

Zur Darstellung des Kartenmaterial vom eigenen Server ist weiterhin anzupassen:

Aufruf im Browser

Der Aufruf erfolgt dann entsprechend im Browser:

http://<Name oder IP>/Project-OSRM-Web/WebContent/main.html

Have fun!

Eigener Tile-Server zum Ausliefern von OpenStreetMap-Basiertem Kartenmaterial (Ubuntu 12.04 LTS)

Einleitung

OpenStreetMap ist ein Projekt mit großer Community, welches die Zielsetzung hat freies Kartenmaterial zu erstellen und bereitzustellen. Dieses Kartenmaterial steht in verschiedenen Varianten zur Verfügung. Unter Anderem werden „Rohdaten“ bereitgestellt, welche wir im weiteren Verlauf weiterverarbeiten werden. Zunächst werden die Daten strukturiert in einer Datenbank abgelegt um dann bei Bedarf Tiles (deutsch Kacheln) daraus zu erstellen. Diese Kacheln bilden letztendlich die Basis der anzuzeigenden Karte.

Installation

Als Vorbereitung wird zunächst ein Repository eingebunden, von welchem dann die benötigten Pakete bezogen werden.

Import der Daten

Um die Laufzeit gering zu halten und nicht zuletzt meinen Wurzeln geschuldet, werden im Folgenden beispielhaft OSM-Daten für das Saarland (Quelle: http://download.geofabrik.de/) herunter geladen und dann verarbeitet.

Der nachfolgende Aufruf importiert diese Daten schließen in die Datenbank:

Sollt dies aufgrund von Speichermangel bei größeren Karten fehlschlagen, kann zusätzlich der Schalter –slim verwendet werden, somit erfolgt die Verarbeitung der Daten dateibasiert und nicht vollständig im RAM. Abhängig von der Hardware wird die Verarbeitung bei großen Karten ggf. mehrere Stunden oder Tage dauern.

Aufruf

Vor dem Aufruf sollte /var/www/osm/slippymap.html angepasst werden. Einerseits kann der Mittelpunkt der Karte sowie der Zoomlevel beim Aufruf definiert werden.

Sofern auf die Karte nicht nur lokal zugegriffen wird, kann auch noch die IP-Adresse angepasst werden.

Für weitere Anpassungen sei auf die Beispiele und Dokumentation von OpenLayers verwiesen. Nach dem Customizing kann schließlich der Erfolg geprüft werden. Die Karte steht unter http://<IP oder DNS des Tile-Servers>/osm/slippymap.html zur Verfügung, hier das Ergebnis:

Beispiel der Karte auf Basis von OpenStreetMap-Daten und OpenLayers