Login


 
Newsletter
Werbung
Do, 3. Mai 2012, 15:00

Routino

Routenplanung für den eigenen Rechner

Mit Routino und den Daten von OpenStreetMap lassen sich Routen planen, auch solche, die mit anderen Programmen nicht möglich sind.

Kaum ein Gemeinschaftsprojekt hat in kurzer Zeit soviel Zuspruch und Unterstützung erhalten wie OpenStreetMap (OSM). Die weltweite Karte hat in vielen Ländern, darunter auch Deutschland, einen Detailreichtum erlangt, der kommerzielle Kartenanbieter schlecht aussehen lässt. Die Visualisierung dieses Kartenmaterials ist längst üblich, und sei es nur für die Anfahrtskizze auf der eigenen Web-Seite. Ein anderes, zunehmend interessantes Anwendungsgebiet ist die Navigation auf Basis der OSM-Daten. Wie hoch die Qualität der gefundenen Routen ist, hängt stark von der Genauigkeit und Vollständigkeit des Datenmaterials ab. Hier gilt für OSM noch immer: ländliche Gebiete sind oft ungenügend erfasst, Städte und Ballungszentren dagegen so gut, dass selbst geeignete Wege für beispielsweise Rollstuhlfahrer gefunden werden.

Die Daten sind das eine, darüber hinaus ist aber auch passende Software für das Routing notwendig. Im Wiki von OSM werden verschiedene Programme und Web-Seiten vorgestellt. Die Spanne der Funktionen und der Einsatzgebiete ist sehr groß. Dieser Artikel greift ein Programm heraus, das etwas unglücklich im Wiki als »web-based router« bezeichnet wird. Routino verfügt zwar über ein Web-Frontend, ist im Kern aber ein Kommandozeilen-Programm, das auch gänzlich ohne Web-Schnittstelle auskommt und beispielsweise aus Marble heraus verwendet werden kann. Mit Routino und den OSM-Daten ergeben sich Möglichkeiten, die sonst kaum zu finden sind, beispielsweise eine Rollstuhlroute durch den Wuppertaler Zoo.

Mit dem Rollstuhl durch den Wuppertaler Zoo

Uwe Steinmann

Mit dem Rollstuhl durch den Wuppertaler Zoo

Installation

Die Installation von Routino ist besonders einfach unter Debian. In der testing-Distribution ist die aktuelle Version 2.2 enthalten. Konkret findet man zwei Pakete vor: den Router selbst (routino) und eine grafische Oberfläche (routino-www), die schlicht, aber sehr funktional ist. Beides findet man auch in der Download-Datei, die man von der Routino-Homepage herunterladen kann. Die genaue Installation entnehmen Sie bitte der Homepage. Unter Debian muss auch javascript-common installiert sein. Nach der Installation der Debian-Pakete kann die Web-Schnittstelle unter http://localhost/routino eingesehen werden, ein Routing kann aber noch nicht stattfinden. Es fehlt noch eine geeignete Datenbank mit dem Kartenmaterial. Routino nutzt nicht die OSM-Daten direkt, sondern konvertiert die Daten zunächst in ein eigenes optimiertes Format. Die etwa 20 GB unkomprimierten OSM-Daten für Deutschland schrumpfen so auf etwa 800 MB, die sich über vier Dateien verteilen.

Erstellung der Routino-Datenbank

Der Download, das Dekomprimieren der Daten und die Erzeugung der Routino-Datenbank für Deutschland kann durch das folgende Shell-Skript erfolgen. Auf den Seiten von geofabrik finden sich weitere kleinere, aber auch größere Bereiche der Welt.

#!/bin/sh
wget http://download.geofabrik.de/osm/europe/germany.osm.bz2
[ -f germany.osm ] && rm germany.osm
[ -d data ] && rm -f data/*
mkdir -p data
pbzip2 -d germany.osm.bz2
planetsplitter --dir=data --prefix=de germany.osm

pbzip2 ist eine parallele Version von bzip2 und kann als gleichnamiges Paket installiert werden. Oder man ersetzt es durch bzip2.

planetsplitter ist ein Programm aus der Routino-Distribution, das die eigentliche Erzeugung der Datenbank übernimmt. Während das Programm läuft, wird ständig der aktuelle Status ausgegeben. Bei einem Aufruf als Cron-Job ist es daher ratsam, den Parameter --loggable zu verwenden und die Ausgaben in eine Datei zu schreiben. planetsplitter --help listet alle verfügbaren Optionen auf.

Auf einem Server mit einem Intel Xeon 2.4 GHz mit vier Kernen sowie 8 GB RAM dauert die Datenbankerzeugung etwa eine Stunde. Das Ergebnis liegt in dem Verzeichnis data und besteht aus den vier Dateien

de-nodes.mem
de-relations.mem
de-segments.mem
de-ways.mem

Routino unter Debian erwartet diese vier Dateien ohne das Präfix de- in dem Verzeichnis /var/lib/routino/data. Sie sollten also dorthin kopiert werden (dafür sind root-Rechte erforderlich). Damit ist bereits alles für einen ersten Test vorbereitet, der bequem über die Web-Schnittstelle erfolgen kann.

Der erste Test

Das Routino-Web-Frontend ist in eine linke Spalte mit dem Bedien-Panel und eine rechte Spalte mit der Karte aufgeteilt. Zunächst sollte man in der Karte auf Deutschland zoomen, weil das Routing aufgrund der erstellten Datenbank nur dort funktionieren kann. In dem Bedien-Panel befinden sich auf dem Reiter Options alle Einstellmöglichkeiten, allen voran die Festlegung von Start- und Zielpunkt in der Rubrik Waypoints. Ein Klick auf das Symbol mit der 1 befördert es in die Mitte der Karte und setzt die Startposition. Danach lässt es sich beliebig auf der Karte verschieben. Analog setzt man so den Zielpunkt für das Symbol mit der 2. Alle weiteren Einstellungen sind für einen ersten Test irrelevant, sodass ein Klick auf einen der Buttons Shortest oder Quickest am unteren Rand des Bedien-Panels das Routing startet.

Das Ergebnis erscheint daraufhin als grüne oder blaue Linie in der Karte und im Bedien-Panel wurde auf den Reiter Results umgeschaltet. Kürzere Strecken bis zu einigen Kilometern sind in der Regel in weniger als einer Sekunde berechnet. Die Verzögerung liegt eher in der grafischen Darstellung als im eigentlichen Routing.

Kommentare (Insgesamt: 11 || Alle anzeigen || Kommentieren )
Re: deutscher Demoserver (raplin, Di, 3. Juli 2012)
deutscher Demoserver (serverling, Do, 17. Mai 2012)
Re[2]: skalieren (Multithread, Fr, 11. Mai 2012)
Re: skalieren (Na sowas, Mi, 9. Mai 2012)
Re: Installation (Na sowas, Mi, 9. Mai 2012)
Pro-Linux
Frohe Weihnachten Fest!
Neue Nachrichten
Werbung