Zum Einsatz kam letztendlich der OpenSVGMapserver 1.01 von carto.net.
In dieser ersten Version wurde nur der im ArcView-Shape-Format vorliegende Straßengraph von Niederösterreich implementiert. Die unter der GNU GPL stehenden Scripts wurden hinsichtlich Darstellung und UI leicht modifiziert. In erster Linie galt es die Struktur des Servers aufzuarbeiten und seine Funktionen zu identifizieren.Wie sich schon in der ersten SVG-Testreihe mit dem Straßengraphen zeigte, handelt es sich hier um eine äußerst große Datenmenge (Anzahl der darzustellenden Features/Vektoren) und es ist aus Performancegründen kaum möglich, alle Elemente auf einmal als SVG in einem Webbrowser darzustellen. Den Hauptanteil an der Datenmenge macht das Feature “Landesstrasse” aus. Der OpenSVGMapserver bietet die Möglichkeit Features in Abhängigkeit des Maßstabs (min. und max. Scale) anzeigen zu lassen. Diese Option wurde genutzt um die Landesstrassen erst ab einem Maßstab von 1:500000 einzublenden und nur jene Elemente aus der Datenbank zu laden die zu diesem Zeitpunkt im Koordinatenbereich des Kartenausschnitts sichtbar sind.
Momentan implementierte Funktionen:
Zoom, Pan (nicht von SVG-Viewer)
Maßstabsanzeige (fehlerhaft)
Ebenen ein-/ausblenden
Anzeigen von Labels in der Karte
Anzeigen von Informationen/Attributen zu Elementen der Karte
Die Basis der Datenbank bilden folgende Tabelle:
Project: Generelle Informationen zur Karte wie Ausgangsmaßstab, Breite, Höhe, Umsetzungsfaktor, Projektitle.
Layers: Informationen zu den einzelnen Ebenen wie Shape (Punkt, Linie oder Polygon), Farbe, Strichstärke, min/max Maßstab, Attribute, Labels.
Features: Geometrie- und Attributinformationen der Kartenelemente
Session/Log: Dokumentation der KartenbenutzeraktivitätenErzeugt wird die Karte durch auslesen und parsen der entsprechenden Information aus der Datenbank.Der Datenbankzugriff vom Webbrowser und ein erster Teil der HTML- bzw. SVG-Tags erfolgt über die serverseitige Skriptsprache PHP. Geometrie- und Darstellungsinformationen werden von PHP an JavaScript weitergereicht und das SVG wird per JavaScript erzeugt.
Ein wesentlicher Teil zur engültigen Darstellung von Unfallinformationen besteht darin, die Unfallpunkte sinnvoll zu aggregieren und den entsprechenden Strassen in der Karte zuzuordnen, sodass letztendlich die Unfallpunkte tatsächlich auf der Straße verortet sind und auch vom Kartenbenutzer interpretiert/gelesen werden können.
Dieses Problem erfordert schon in der Desktop-GIS-Version der Elektronischen Unfallsteckkarte ein sehr großes Potential an Rechenaufwand bzw. Rechnerleistung. In einer Onlinevariante, die die gleiche Information über Webbrowser und Plugins darstellt, erhöht sich eben dieser Rechenaufwand. Dr. Dieter Süss fand für die Desktop-GIS-Version Algorythmen, die die Perfomance der Elektronischen Unfallsteckkarte erheblich verbesserten.
Geometrische “Nearest Neighborhood”-Berechnungen werden (z.Zt. in Arbeit) durch Gesetze und Methoden der technischen Physik ersetzt:
Auf Basis der Arbeit “Algorithms for Fast Vector Quantization” konnte die Performance zur Aggregation der “Unfallpunkthaufen” zu Unfallpunkten um die Ordnung N^2 verbessert werden. Ein weiterer Ansatz zur Aggregation der Unfallpunkte mit Hilfe der Gravitationstheorie ist angedacht.
Die Zuordnung der Unfallpunkte erfolgt durch Einsatz von sog. “Suchbäumen”.
“Harmonisch” Platziert (Erzeugung einer lesbaren Karte) werden die Unfallpunkte basierend auf der sog. Monte Carlo Methode.
Developing an interactive Road Accident Information System using SVG
Diplomarbeit von / Master thesis of
Christian Spanring
(E630 – Raumplanung und Raumordnung) betreut von / attended by
Ao.Univ.Prof. Mag. Dr. Georg Gartner
(Institut für Geoinformation und Kartographie, TU-Wien)
Erste Präsentation
Abstract
Example application(without database functionality)
Source code