Während der Beschreibung der Funktionen des praktischen Beispiels kamen mir einige Ideen wie einzelne Features eventuell verbessert werden könnten. Ein paar Tests in diese Richtung gaben mir recht und das Beispiel wurde weitgehend adaptiert.
So, nach 2400 Zeilen Sourcecode ist der stabile Punkt, wo ich das Beispiel ruhen lassen kann, endgültig erreicht und mein eigener Ehrgeiz, eine funktionelle kartographische Applikation zu entwickeln, gestillt.
Highlights
- Automatisierte und maßstabsabhängige Generalisierung der Straßen und Bezirke
- Suche und Anzeige von Detailinformationen einzelner Kartenelemente (z.B. Nachbarschaftsfunktion bei Bezirken, Überlappungen bei Bezirken und Straßen)
- Plattformunabhängig und (theoretisch) skalierbar auf jede Bildschirmgröße durch ausschließlicher Verwendung der ASV-Script-Engine und ASV-DOM
- Bei Verwendung von PostgreSQL/PostGIS als Backend in GIS-Systemen könnte diese Anwendung das Web-Frontend bilden, die laufend und ohne zusätzliche Arbeitsschritte die aktuellen Daten visualisiert.
Eine Demonstration des Beispiels ist hier zu finden. Jedoch ist die Datenbank nicht online und daher sind einige Funktionen deaktiviert.
Im Herbst 2004 kam ein Update des von mir eingesetzten Datenbankservers PostgreSQL auf die Version 7.4 sowie des PostGIS-Moduls auf die Version 0.8.0 (inzwischen 0.8.1) heraus.
Die Aktualisierungen waren etwas trickreich, erweiterten jedoch mein Beispiel um essentielle Funktionen. Mit Hilfe von GEOS werden nun alle räumlichen Funktionen der OpenGIS “Simple Features for SQL” Spezifikation unterstützt.Als Beispiel möchte ich an dieser Stelle nur die Methode simplify erwähnen, die auf Basis des Douglas-Peuker Algorythmus eine automatisierte Generalisierung der Geodaten durchführt. Simplify führte in meinem Beispiel zu einer wesentlichen Steigerung der Darstellungsgeschwindigkeit bei gleichzeitiger Erhaltung der originalen Geo(GIS)daten, was eines meiner Ziele bei der Entwicklung des Beispiels war.
Die automatisierte Generalisierung von Geodaten ist im Allgemeinen ein sehr heikles Anwendungsgebiet. In meinem Beispiel ist jedoch die Ausgabegenauigkeit (“slivering polygons”) durchaus ausreichend und v.a. in Verbindung mit dem Perfomancegewinn als deutliche Verbesserung zu sehen.
Mein im September angetretener Job beansprucht zwar einerseits viel Zeit, die ich eher für die Fertigstellung der Diplomarbeit gebrauchen könnte, andereseits eröffnet er mir auch Zugang zu sehr interessanten Themenbereichen die hoffentlich auch in der Diplomarbeit berücksichtigt werden können.
PostGIS in Verbindung mit ESRI ArcGIS
IMSEMU: Ein (Perl) Layer der auf dem Mapserver (künftig auch auf PostGIS) einen ArcIMS Map Server simuliert und somit von ArcGIS-Clients genutzt werden kann.
PgArc: Extension für ArcGIS die es ermöglicht PostGIS als Geodatenserver zu nutzen.
OGC Interoperability Add-On: Extension für ArcGIS 8.3 um auf OpenGIS Web Map Services (WMS) und Web Feature Services (WFS) zugreifen zu können. Auch wird mit dieser Extension GML (Geography Markup Language) als Exportformat für Geodaten angeboten.
Der nächste Release von ArcGIS (Version 9) unterstützt u.a. die Open Source Programmiersprache Python und läßt daher auf weitere interessanten Entwicklungen v.a. in der Open Source Welt hoffen.
Webmapping
Mapbender: Auf der CORP 2004 hatte ich die Möglichkeit eine Präsentation der Firma CCGIS zu sehen, die die Open Source Software Mapbender entwickelte. Mapbender ist ein Web basiertes, mit PHP umgesetztes GIS Front End zur Bedienung von OGC-konformen WMS (Web Map Service). Mapbender (u.a. in Verbindung mit PostGIS) bestach auch bei verteilter Datenhaltung durch sehr hohe Performance.
deegree: Mit maßgeblicher Unterstützung der Firma lat/lon entwickelte Open Source Web (Map) Services Suite.
Vollständige Migration der Scripts auf MySQL 4.1
Erarbeitung des schriftlichen Teils
Abgabe des Rohentwurfes Ende August 2003
Nochmalige Umstellung der Datenbank auf PostgreSQL/PostGIS
Nach intensiven Gesprächen mit einem (Unix)Experten und den daraus resultierenden Empfehlungen, kam der Entschluss, die Datenbank noch einmal (und hoffentlich das letzte Mal) zu migrieren.Hauptgründe für diesen Schritt:
- sehr weit fortgeschrittene Implementierung der OpenGIS-Spezifikationen in PostGIS
- sehr zuverlässiger und stabiler Datenbankserver
- Möglichkeit des direkten Imports von ESRI Shape Files in PostGIS
(- Verwendung von PostGIS als Geodatabase in ESRI ArcGIS)
Anpassung der Scripts an den neuen Datenbankserver und dessen Funktionen
Ursprüngliche Schätzung des Zeitaufwandes für die vollständige Migration (eine Woche) entpuppte sich als sehr unrealistisch. Letztlich wurde den ganzen August an der Migration (inkl. weiteren Detailverbesserungen im September) gearbeitet.
Krise
Frage: Ist dieser Aufwand für eine Diplomarbeit berechtigt?
Antwort: Ja. Im Endeffekt arbeite ich für mich und der Lernerfolg während dieser Arbeit gibt mir Recht. In meiner weiteren Laufbahn werde ich wahrscheinlich nur unter sehr günstigen Umständen (großzügige Mitarbeiterschulung seitens des Arbeitgebers) die Möglichkeit haben mich so intensiv mit diesem Thema zu beschäftigen. Ergebnis dieses Arbeitsprozesses ist ein fundiertes und leicht ausbaufähiges Basiswissen in diesem Themenbereich.
Ergebnis
- Elegante und nachhaltige Lösung der Aufgabenstellung
- Erreichung eines bestimmten Grades an Selbstzufriedenheit mit der Arbeit und dem Ergebnis
- Abschluss des Beispiels mit einem stabilen Zwischenstand (das Beispiel könnte endlos weiterentwickelt werden)
- Vervollständigung des schriftlichen Teils anhand der erarbeiteten Struktur
- Abgabe des Rohentwurfs bis Weihnachten 2003
Einleitung und Zielsetzung
Entwicklung der Unfallforschung in Österreich.
Warum ist ein Unfallinformationssystem prinzipiell von Interesse?
Welche Relevanz hat ein interaktives Unfallinformationssystem für die Raumplanung?
Grundlagen zu Internet und Webmapping
Welche Bereiche des WWW finden in dieser Arbeit Anwendung?
Was ist unter Webmapping zu verstehen?
Wo liegt der Nutzen von SVG für Webmapping?
Wie ist Interaktivität in diesem Zusammenhang zu verstehen?
Vorbereitende Überlegungen zum Anwendungsbeispiel – Konzept
Welche Anwendungen ähnlicher Art gibt es bereits auf diesem Gebiet?
Welche Möglichkeiten zur Umsetzung stehen zur Verfügung?
Umsetzung des Anwendungsbeispiels
Dokumentation der Arbeitsschritte
Zusammenfassung
Beurteilung und Ausblick bzgl. des Anwendungsbeispiels, Webmapping und SVG
Einbindung der Unfallhäufungsstellen (in der Unfalldatenbank aggregierte Unfallpunkte).
Nach einer erfolgreichen Testphase wurde der MySQL Datenbankserver auf die Version 4.1-alpha umgestellt.
Grund dafür waren die in dieser Version bereits implementierten Geometrie-Erweiterungen (OpenGIS-Spezifikationen) des Datenbankservers (siehe MySQL-Dokumentation).
Anpassung der PHP und JavaScripts an die neuen Geometriefunktionen der Datenbank
Vervollständigung der Dokumentation des Anwendungsbeispiels
Literaturrecherche und Ausarbeitung des Grundlagenkapitels
Ausgehend von der Tatsache, dass die Entwicklung und Umsetzung einer Online verfügbaren Version der sog. elektronischen Unfallsteckkarte einen wesentlichen Teil der Arbeit insgesamt und somit auch einen Schwerpunkt des schriftlichen Teils darstellt, galt es einen in sich schlüssig aufgebauten Kontext zu finden, in dem dieser Teil der Arbeit eingebettet werden kann.Bildhaft gesprochen ist der mittlere Teil des roten Fadens bekannt und großteils vorhanden: das Anwendungsbeispiel. Das Ende des roten Fadens soll ein logischer Schluß auf den mittleren Teil sein, ein Rückblick bzw. eine Beurteilung des Anwendungsbeispiels und der eingesetzten Techniken liegt somit nicht fern.
Der Anspruch an den vorderen, beginnenden Teil des roten Fadens ist ebenfalls eindeutig: er soll den Leser der Arbeit an die folgenden Kapitel heranführen. Auch mit dem vorgestellten Themenbereich wenig vertraute Personen sollen diese Arbeit zumindest in ihren Grundzügen verstehen können. Somit würde sich der vordere Teil des roten Fadens irgendwo unter dem Titel “Empfohlenes Basiswissen” einordnen.
Das Problem besteht nun darin, dass eine ausführliche schriftliche Aufarbeitung des “empfohlenen Basiswissens” wahrscheinlich kleinere Bibliotheken füllen könnte. Um dieses Problem zu lösen würde sich ein Wechselspiel aus (oberflächlicher) Einführung und gleichzeitigen Verweisen auf tiefergehende Informationsquellen zu den jeweiligen Themenberreichen anbieten. Damit bekäme der Leser die Möglichkeit und es liegt auch in seinem Ermessen sich vereinzelt noch fiefgreifender zu Informieren.