UMN MapServer Anwenderkonferenz 2005/SVG
Interaktive SVG Karten auf Basis von Postgis, PHP und UMN MapServer[Bearbeiten | Quelltext bearbeiten]
Präsentation an der UMN MapServer Anwenderkonferenz 05, Universität Hannover[Bearbeiten | Quelltext bearbeiten]
Andreas Neumann
Institut für Kartographie
ETH Hönggerberg
CH-8093 Zürich
neumann@karto.baug.ethz.ch
SVG ist ein XML-basierter W3C Web-Standard zur Beschreibung und Integration von Vektorgraphik, Rastergraphik und Text. SVG Graphiken können mit Hilfe von Ereignissen, Scripting und DOM (Document Object Model) mit Interaktivität versehen werden und in Zusammenarbeit mit SMIL oder Scripting animiert werden. Das SVG Format bietet reichhaltige Gestaltungsmöglichkeiten wie etwa Farbverläufe, Transparenzen, Muster, Symbole, Filter, Transformationen, Clipping und Masking. Sämtliche graphischen Variablen lassen sich auch animieren oder via Script verändern. Punkto Textgestaltung bietet SVG fast alle Gestaltungsmöglichkeiten die auch moderne Desktop Publishing Programme zur Verfügung stellen. Texte können an Pfaden angelegt werden und es gibt die Möglichkeit, Schriften in die Graphik einzubetten. Texte können wie alle anderen Graphik-Elemente mit komplexen Füllungen und Strichen versehen werden und können geclippt und abmaskiert werden oder als Clipping-Pfad oder Maske dienen. SVG bietet alle Möglichkeiten zur Internationalisierung, wie Text von rechts nach links, bidirektionaler Text oder Text von oben nach unten. Es können auch mehrere Sprachversionen in der gleichen Datei ausgeliefert werden.
Der Umstand, dass SVG text- resp. XML basiert ist, erleichtert die Generierung von SVG Dateien. SVG Graphiken können sehr einfach mit beliebigen Programmier- oder Scriptingsprachen generiert werden, auch ohne spezielle Bibliotheken dafür verwenden zu müssen. SVG eignet sich daher speziell zum automatischen Erstellen von Berichten und Karten aus Datenbanken oder Webservices. Das OGC empfiehlt die Verwendung von SVG als Ausgabeformat von WMS Diensten. Es eignet sich auch sehr gut als Präsentationsmedium für GML-Daten, da dafür Standard XML-Transformationsmechanismen zum Einsatz kommen können.
In der Präsentation werden interaktive thematische und topographische Karten- und Online-GIS Anwendungen gezeigt und dabei teilweise der Workflow/die Generierung der Kartenprojekte erläutert. Bei kleineren SVG-Anwendungen kann man mit statischen Dateien arbeiten. Bei mittleren bis grösseren Datensätzen empfiehlt sich die Anbindung einer räumlichen Datenbank (etwa Postgis) zur Auslieferung von SVG-Daten und die Nutzung des UMN Mapservers oder anderen WMS Servern zur Auslieferung von Rasterdaten. Postgis bietet die Möglichkeit Geometrien ins SVG Pfad-Format zu konvertieren. Zur Datenreduktion bietet Postgis die Funktionen Simplify() und Intersection() an. Ebenso kann bei der Ausgabe der Geometrien nach SVG, die Genauigkeit (Anzahl Kommastellen) kontrolliert werden.
Ein von Hansruedi Bär (Mitarbeiter des Instituts für Kartographie, ETH Zürich) geschriebenes CGI-Tool kann aus hierarchisch organisierten Geländemodelldaten beliebige Ausschnitte und Auflösungen generieren. Diese Daten können in der SVG Applikation zur Anzeige von Höhenwerten, Hangneigung, Exposition und zur Generierung von interaktiven Höhenprofilen verwendet werden. Eine Anwendung zeigt auch, dass es mit Hilfe von SVG und Postgis möglich ist, im Webbrowser Daten zu digitalisieren und zu editieren. Die Daten die dezentral online erfasst wurden können später auch in Standard Desktop GIS Systemen weiter verarbeitet werden. Viele der Beispielanwendungen können unter http://www.carto.net/papers/svg/samples/ öffentlich eingesehen werden.
Im Rahmen des Vortrages wird auch auf die aktuellen Probleme bei der Entwicklung von SVG Applikationen eingegangen und auf den aktuellen Entwicklungsstand der SVG Clients (Plugins, Webbrowser und Standalone Viewer). Ebenso wird kurz auf den offenen Entwicklungsprozess der SVG Spezifikation eingegangen, sowie auf die Chancen und Möglichkeiten der Einflussnahme die sich daraus ergeben.