Difference between revisions of "Anleitung für Routing (Pgrouting) und UMN MapServer mit den Freien Geodaten aus Osnabrück (Frida)"
Line 63: | Line 63: | ||
Die Daten der Tabelle „fridastreets“ haben folgende Struktur: | Die Daten der Tabelle „fridastreets“ haben folgende Struktur: | ||
Abbildung 6: Ursprüngliche Struktur der Frida-Daten | Abbildung 6: Ursprüngliche Struktur der Frida-Daten | ||
+ | |||
+ | So weit so gut. | ||
+ | Die Datenbank ist zu diesem Zeitpunkt allerdings noch nicht in der Lage Routen zu | ||
+ | berechnen. Das wollen wir ändern. | ||
+ | Dafür führen wir folgende Befehle aus: | ||
+ | psql -U postgres -f C:\Programme\PostgreSQL\8.2\share\contrib\routing.sql routingdb | ||
+ | sowie anschließend: | ||
+ | psql -U postgres -f C:\Programme\PostgreSQL\8.2\share\contrib\routing_postgis.sql | ||
+ | routingdb | ||
+ | Abbildung 7: Routingfunktionen werden in Datenbank gebracht |
Revision as of 06:55, 27 August 2007
Einführung
Mittels dieser Anleitung soll Ihnen etwas Hilfestellung beim Thema pgRouting und UMN MapServer gegeben werden. Die Anleitung basiert im Wesentlichen auf Know-how, welches auf der Homepage http://pgrouting.postlbs.org vermittelt wird.
Weitere hilfreiche Quellen:
Mailinglist von umn-mapserver.de: http://freegis.org/pipermail/mapserver-de/2006-August/002433.html (mit 14 Antworten)
Englischsprachige Mailinglist des UMN MapServers: http://lists.umn.edu/cgi-bin/wa?A2=ind0612&L=mapserver-users&T=0&F=&S=&P=30653 (mit 8 Antworten)
Forum auf umn-mapserver-community.de: http://www.selbstverwaltungbundesweit.de/mapserver/modules.php?name=Forums&file=viewtopic&t=331
Diese Anleitung ist für Windows XP geschrieben, funktioniert (mit den entsprechenden Änderungen) natürlich auch auf Linux-Systemen. Für diese Anwendung sollten Sie Grundkenntnisse im Umgang mit dem UMN MapServer, PostgreSQL/PostGIS sowie PHP/Mapscript besitzen.
Folgende Umgebung wurde installiert:
Das ms4w-Paket (2.2.3) PostgreSQL 8.2.4 mit PostGIS-Aufsatz 1.1
Wie gehen wir nun vor? Zunächst einmal laden Sie von der Seite http://pgrouting.postlbs.org den pgRouting 1.0.0a-win32-installer herunter. Anschließen ein Doppelklick auf das Paket. Die Installation läuft quasi von alleine.
Installieren Sie pgrouting am Besten in das Verzeichnis C:\Programme\PostgreSQL\8.2 (siehe Abbildung 1). Abbildung 1: Installation von PgRouting
Daten
Anschließend brauchen wir natürlich Geodaten. Wir verwenden dafür die Freien Geodaten aus dem von der Intevation GmbH initiierten Projekt „Frida“ (http://frida.intevation.org/) (siehe Abbildung 2). Laden Sie sich hier folgende Daten herunter: frida-1.0.1-shp-joined.tar.gz und entpacken Sie diese. Im ersten Schritt brauchen wir die „strassen-joined.shp“-Daten. Diese Daten benötigen wir allerdings im SQL-Format um diese in die anzulegende PostgreSQL/PostGIS-Datenbank zu lesen. Also geben wir auf der Kommandozeile z.B. folgendes ein (siehe auch Abbildung 3): Shp2pgsql D:\frida\strassen-joined.shp fridastreets routingdb > D:\frida\strassen-joined.sql Abbildung 3: Shape in SQL-Format umwandeln
Datenbank anlegen
Anschließend legen wir eine Datenbank mit PostGIS-Unterstützung an (z.B. mit dem Tool pgAdmin III). Diese Datenbank nennen wir hier mal „routingdb“ (Abbildung 4).
Anschließend dann muss die Datei strassen-joined.sql in die Datenbank eingelesen werden. Gegen Sie also auf Kommandozeile folgendes ein: psql -U postgres -f D:/frida/strassen-joined.sql routingdb Abbildung 5: Befehl zum Einlesen der SQL-Datei in die Datenbank
Die Daten der Tabelle „fridastreets“ haben folgende Struktur: Abbildung 6: Ursprüngliche Struktur der Frida-Daten
So weit so gut. Die Datenbank ist zu diesem Zeitpunkt allerdings noch nicht in der Lage Routen zu berechnen. Das wollen wir ändern. Dafür führen wir folgende Befehle aus: psql -U postgres -f C:\Programme\PostgreSQL\8.2\share\contrib\routing.sql routingdb sowie anschließend: psql -U postgres -f C:\Programme\PostgreSQL\8.2\share\contrib\routing_postgis.sql routingdb Abbildung 7: Routingfunktionen werden in Datenbank gebracht