Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Diplomarbeit bei Firma TechniData AG Dornierstr. 3 D-88677 Markdorf vorgelegt von Ralf Bierig an der Fachhochschule Furtwangen Fachbereich Informatik Studiengang Allgemeine Informatik 28. August 2002 Betreuer der Firma TechniData AG: Betreuer der Fachhochschule: Jörg. Beier Prof. Dr. Mohsen Rezagholi Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Inhaltsverzeichnis Abbildungsverzeichnis...............................................................................................................5 Tabellenverzeichnis....................................................................................................................6 1 Allgemeines ........................................................................................................................7 1.1 Firmenprofil ..............................................................................................................................7 1.2 Aufgabenstellung.......................................................................................................................7 2 Einführung in Geografische Informationssysteme ..........................................................9 2.1 Begriffsdefinition.......................................................................................................................9 2.2 Welche Möglichkeiten eröffnet GIS? ....................................................................................11 2.3 GIS Einsatzgebiete ..................................................................................................................12 2.4 Datenarten ...............................................................................................................................12 2.4.1 Geometriedaten .............................................................................................................................. 12 2.4.1.1 Rasterdaten ................................................................................................................................ 13 2.4.1.2 Vektordaten ............................................................................................................................... 13 2.4.1.3 Fazit Vektor / Rasterdaten ......................................................................................................... 14 2.4.2 Attributdaten .................................................................................................................................. 14 2.4.3 Zeitdaten ........................................................................................................................................ 15 2.4.4 Prozessdaten................................................................................................................................... 15 2.5 Datenstrukturierung mit Layern ...........................................................................................16 2.6 Datenorganisation ...................................................................................................................17 2.6.1 2.6.2 2.6.3 3 Einzelplatzsystem .......................................................................................................................... 17 Mehrplatzsysteme .......................................................................................................................... 17 Intra-/Internet ................................................................................................................................. 17 Produktanalyse.................................................................................................................19 3.1 Altsysteme von TechniData ....................................................................................................19 3.1.1 3.1.2 3.1.3 Das OBLIS System ........................................................................................................................ 19 INES RAD ..................................................................................................................................... 20 UGI GISView von WiGeoGIS....................................................................................................... 20 3.2 ENVINET NMC von TechniData ..........................................................................................21 3.2.1 Einführung ..................................................................................................................................... 21 3.2.2 Der Aufbau von ENVINET-NMC ................................................................................................. 22 3.2.2.1 Presentation Layer ..................................................................................................................... 23 3.2.2.2 Data Access Layer..................................................................................................................... 24 3.2.2.3 Business Layer .......................................................................................................................... 24 3.3 ENVINET DAISY von TechniData .......................................................................................25 3.3.1 3.3.2 DAISY Client Komponenten ......................................................................................................... 25 DAISY Server Komponenten ........................................................................................................ 26 3.4 Grobevaluierung freier und kommerzieller Java GIS API‘s ..............................................27 3.4.1 Freie Java GIS ................................................................................................................................ 27 3.4.1.1 DEMViewer mit VisAD Bibliothek .......................................................................................... 27 3.4.1.2 GISToolkit ................................................................................................................................ 27 3.4.1.3 JaGo .......................................................................................................................................... 28 3.4.2 Kommerzielle Java GIS ................................................................................................................. 28 3.4.2.1 ActiveMaps ............................................................................................................................... 28 3.4.2.2 GISTerm.................................................................................................................................... 28 3.4.2.3 Map Objects for Java................................................................................................................. 29 3.5 Feinevaluierung anhand einer Featureübersicht .................................................................29 Seite 2 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.5.1 Featuretabelle ................................................................................................................................. 29 3.5.2 Featurebeschreibung ...................................................................................................................... 33 3.5.2.1 Navigation ................................................................................................................................. 33 3.5.2.2 Visualisierung ........................................................................................................................... 33 3.5.2.3 Selektion.................................................................................................................................... 34 3.5.2.4 Attributdatenabfrage.................................................................................................................. 34 3.5.2.5 Layerfeatures ............................................................................................................................. 34 3.5.2.6 Datenformate / Schnittstellen .................................................................................................... 35 3.5.2.7 Sonstige Features ...................................................................................................................... 36 3.5.3 Fazit ............................................................................................................................................... 36 4 Spezifikation des Prototypen............................................................................................37 4.1 Anforderungen und Rahmenbedingungen ...........................................................................37 4.1.1 Einordnung des Prototyps in NMC / DAISY ................................................................................. 37 4.1.2 Anwendungsfallanalyse ................................................................................................................. 39 4.1.3 Pflichtenheft ................................................................................................................................... 41 4.1.4 Architekturanalyse ......................................................................................................................... 41 4.1.5 Evaluierung verschiedener Kernkonzepte ...................................................................................... 42 4.1.5.1 Grafische Repräsentation von Stationspunkten ......................................................................... 42 4.1.5.2 Erkennung eines Mausklicks auf einem Stationspunkt ............................................................. 44 4.2 Objektorientiertes Design.......................................................................................................47 4.2.1 UML Klassendiagramme ............................................................................................................... 47 4.2.1.1 Hauptapplikation ....................................................................................................................... 48 4.2.1.2 DrawLayer................................................................................................................................. 49 4.2.1.3 Kartenkonfigurations- und Modelklassen ................................................................................. 51 4.2.1.4 Storeklassen............................................................................................................................... 52 4.2.2 Datenmodel der Kartenkonfiguration ............................................................................................ 53 5 Implementierung ..............................................................................................................54 5.1 Implementierung der logischen Klassen ...............................................................................54 5.1.1 Modelklassen LayerSource und MapConfigurationModel ............................................................ 54 5.1.2 DrawLayer und GISFeature ........................................................................................................... 54 5.1.2.1 Synchronisation mit der Hauptselektion ................................................................................... 54 5.1.2.2 Grafische Repräsentation von Stationspunkten ......................................................................... 55 5.1.2.3 Verwaltung der Stationspunkte als GISFeature Objekte ........................................................... 56 5.1.2.4 Laden einer ValueSeries aus der Datenbank ............................................................................. 56 5.1.3 Storeklassen ................................................................................................................................... 57 5.2 Implementierung der grafischen Klassen .............................................................................57 5.2.1 5.2.2 5.2.3 5.2.4 5.2.5 MapConfigurationFrame und SubPanelLayerChooser .................................................................. 57 FeaturePopupMenu und PropertyDialog ........................................................................................ 58 SelektionToolBar ........................................................................................................................... 59 TimeToolBar .................................................................................................................................. 59 MapShowFrame und MapShowFrameUI ...................................................................................... 60 5.3 Datenbankeinträge zur Visualisierung im NMC Explorer .................................................61 5.4 Review des Pflichtenheftes .....................................................................................................62 6 Zusammenfassung und Ausblick ....................................................................................64 6.1 Bewertung der MapObjects Java API ..................................................................................64 6.1.1 6.1.2 6.1.3 Pro .................................................................................................................................................. 64 Contra............................................................................................................................................. 65 Fazit: Pro MapObjects Java ........................................................................................................... 66 6.2 Ausblick ...................................................................................................................................66 6.2.1 6.2.2 6.2.3 6.2.4 Schnittstellenerweiterungen ........................................................................................................... 66 Verbesserung der Konfigurierbarkeit ............................................................................................. 66 Automatische Generierung von Bildern ......................................................................................... 67 Automatische Generierung einer Animation.................................................................................. 67 Literaturverzeichnis.................................................................................................................68 Seite 3 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Internetquellen.........................................................................................................................69 Eidesstattliche Erklärung........................................................................................................70 Seite 4 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildungsverzeichnis Abbildung 2-1: Realwelt / Modellwelt ......................................................................................10 Abbildung 2-2: Layerkonzept (Quelle: [http://www.gis.com/whatisgis/index.html])...............16 Abbildung 3-1: TechniData Messnetzsysteme und GIS ............................................................19 Abbildung 3-2: INES RAD von DIC Solutions Augsburg .........................................................20 Abbildung 3-3: NMC Funktionalität (Quelle: [NMC]) ............................................................22 Abbildung 3-4: NMC Komponenten (Quelle: Eigene Darstellung in Anlehnung an [NMC]) .23 Abbildung 4-1: Java GIS Prototyp in NMC / DAISY (Quelle: Eigene Darstellung in Anlehnung an [NMC]) ..............................................................................................................37 Abbildung 4-2: NMC Präsentation Layer Oberfläche .............................................................38 Abbildung 4-3: Anwendungsfalldiagramm ...............................................................................39 Abbildung 4-4: Layer in MapObjects (Quelle: [MapO]) .........................................................42 Abbildung 4-5: DrawLayer generiert temporäre Shape Datei .................................................44 Abbildung 4-6: Algorithmus zur Featureerkennung .................................................................46 Abbildung 4-7: Beispiele für Stationspunkterkennung .............................................................46 Abbildung 4-8: UML Klassendiagramm der Hauptapplikation ...............................................48 Abbildung 4-9: UML Klassendiagramm des DrawLayer .........................................................49 Abbildung 4-10: UML Klassendiagramm der Kartenkonfiguration mit Modellklassen ..........51 Abbildung 4-11: UML Klassendiagramm der Storeklassen .....................................................52 Abbildung 4-12: Datenmodell zur Speicherung der Kartenkonfiguration ...............................53 Abbildung 5-1: MapConfigurationFrame mit SubPanelLayerChooser ...................................57 Abbildung 5-2: FeaturePopupMenu .........................................................................................58 Abbildung 5-3: PropertyDialog ................................................................................................59 Abbildung 5-4: SelectionToolBar .............................................................................................59 Abbildung 5-5: TimeToolBar ....................................................................................................60 Abbildung 5-6: Java GIS Prototyp Screenshot .........................................................................63 Abbildung 6-1: Fehlende Unterstützung von Koordinatentransformationen (Quelle: http://forums.esri.com/Thread.asp?c=9&f=1193&t=69344&mc=10)....................................65 Seite 5 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Tabellenverzeichnis Tabelle 2-1 Bezeichnungen für Geografische Informationssysteme........................................11 Tabelle 2-2: Speicherplatzbedarf für Karten (Quelle: [Saur97], S. 70) ..................................13 Tabelle 2-3: Vor- und Nachteile von Vektor- und Rastermodell (Quelle: [Saur97] Seite 77) .14 Tabelle 3-1: Featuretabelle ......................................................................................................32 Tabelle 4-1: Pflichtenheft des Prototypen ................................................................................41 Tabelle 4-2: Zuordnung von Modellklassen, Storeklassen und DB-Tabellen ..........................52 Tabelle 5-1: NMC Datenbankeinträge .....................................................................................61 Tabelle 5-2: Review des Pflichtenheftes ...................................................................................62 Seite 6 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 1 Allgemeines 1.1 Firmenprofil Die Firma TechniData AG ist der international führende Anbieter von EH&S ® (Environment, Health & Safety) – Lösungen. Bereits seit 1985 beschäftigt sie sich mit der Entwicklung innovativer Softwarelösungen und Dienstleistungen im Bereich Umwelt- und Sicherheitsmanagement. Ihre umfassende Erfahrung bei der Vernetzung aller umwelt- und sicherheitsrelevanten Daten in Unternehmen hat sie zum Entwicklungspartner der SAP gemacht. Hinter jeder SAP EH&SLösung finden Sie somit auch immer das Know-how und die Kompetenz von TechniData. Neben der Industrie vertrauen auch Behörden und öffentliche Institutionen auf TechniData’s EH&S-Lösungen. Mit ENVINET hat sie auf der ganzen Welt Messnetze geschaffen, mit deren Hilfe die entsprechenden Behörden der einzelnen Länder und Regionen umweltrelevante Daten aus den Bereichen Luft, Radioaktivität, Wasser und Meteorologie messen, zusammenführen, interpretieren und präsentieren können. TechniData beschäftigt heute mehr als 220 Mitarbeiter an den Standorten Markdorf, Frankfurt, Karlsruhe, Kirchdorf und München. Mehrheitsbeteiligungen an drei weiteren Unternehmen formieren die TechniData-Gruppe 1. 1.2 Aufgabenstellung Geografische Informationssysteme gewinnen zunehmend an Bedeutung, da sie sich gut für die Visualisierung umfangreicher georefenzierbarer Daten eignen. Im Bereich der Visualisierung spielen Java GIS eine zunehmend wichtigere Rolle. Die Diplomarbeit soll zeigen, welche Möglichkeiten Java basierte GIS Systeme bieten, welche Funktionen im Bereich der Visualisierung von Umweltmessdaten möglich sind und ob eine gewinnbringende Integration in die bestehende Messnetzsoftware von TechniData möglich ist. Dies soll anhand eines Prototypes gezeigt werden. Die Diplomarbeit schließt folgende Teilaufgaben ein: 1. Erstellung einer Übersicht allgemeiner GIS Begriffsdefinitionen und Funktionalitäten als theoretisches Fundament der Diplomarbeit. 2. Erstellung einer Zusammenfassung über die von TechniData eingesetzten Messnetzsysteme und GIS Lösungen. 1 Vgl. [http://www.technidata.de] Seite 7 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3. Erstellen einer Marktübersicht aktueller, verfügbarer Java GIS Klassensammlungen. Der Funktionsumfang der von TechniData bislang eingesetzten GIS soll dabei die Grundlage für die Bewertung liefern. Basierend auf dieser Übersicht soll eine Java GIS API ausgewählt werden, die dann für die Implementierung des Prototypes verwendet werden soll. 4. Spezifikation und Erstellung des Prototypes mit Implementierung, Integration und Anpassung an NMC / DAISY. 5. Bewertung der Möglichkeiten der gewählten Java GIS API im Hinblick auf Umsetzbarkeit und Aufwand. 6. Ausblick Seite 8 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 2 Einführung in Geografische Informationssysteme 2.1 Begriffsdefinition Bevor festlegt werden kann, was ein Geografisches Informationssystem (kurz GIS) ist, muss zuvor definiert werden, was man sich unter einem Informationssystem generell vorstellen kann. Informationssysteme modellieren immer einen Teil unserer realen Welt, da eine vollständige Betrachtung auf Grund der hohen Komplexität nicht möglich und meist auch nicht notwendig ist. Diese Modellierung vollzieht sich durch Sammlung von Informationen und der Anwendung geeigneter Methoden, diese Daten auszuwerten. Göpfert leitet den Begriff des Informationssystems sehr schön über den der Daten bzw. Datenbanken her: „Eine digitale Information über ein Objekt wird als Datensatz bezeichnet. Fachliche und sachlich zusammengehörige Datensätze ... werden mit dem Ausdruck Datenbank belegt. Die Gesamtheit mehrerer Datenbanken in Verbindung mit geeigneten Datenverwaltungs- und Datenbearbeitungsprogrammen bilden ein Informationssystem.“ 2 Nach Sauer/Behr liegt die Aufgabe eines Informationssystems in der „Verwaltung von Primärinformation und der Ableitung von implizit darin enthaltener Sekundärinformation“ 3, was geschickt an die vorherige Definition anknüpft. Mit diesen beiden Definitionen kommt man zum Schluss, dass ein Informationssystem die Erweiterung einer oder mehrerer Datenbanken um zusätzliche Software darstellt, die aus den bestehenden Daten neue Erkenntnisse erzielt. Ein GIS stellt eine Spezialisierung eines Informationssystems für räumlich assoziierte Daten dar. 2 3 [Goepf87] [Saur97], Seite 4f Seite 9 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 2-1: Realwelt / Modellwelt Dieter Fritsch stellt in seinem Buch fest: „Ein Geo-Informationssystem ist ein rechnergestütztes System, das aus Hardware, Software, Daten und den Anwendungen besteht. Mit ihm können raumbezogene Daten digital erfasst und redigiert, gespeichert und reorganisiert, modelliert und analysiert sowie alphanumerisch und grafisch präsentiert werden.“ 4 Eine weitere gute Definition für ein GIS kommt von Wilkinson, der es als „system containing a spatial database representing aspects of the cultural and physical environment of a particular geographic region together with precedures for analysing combinations of attributes and generating graphical or statistical products“ 5 beschreibt. Hier muss angemerkt werden, dass viele GIS ihre gesamten Daten nicht in einer zentralen Datenbank halten, sondern oft hybride Datensysteme existieren. Meist werden Kartendaten dateibasiert verwaltet und mit Datenbankdaten kombiniert. 4 5 [Frit94], S. 5 [Wilk86], S. 1-1 Seite 10 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Zusammenfassend komme ich schließlich zur folgenden Definition: Ein geografisches Informationssystem ist ein Computersystem, das in der Lage ist, geografisch referenzierte Informationen zu verarbeiten. Um diese Aufgabe adäquat zu lösen, besteht ein GIS aus folgenden Komponenten: • Software • Hardware • Daten (Karten-, Objekt-, Prozess- und Zeitdaten) Da geografische Informationssysteme nicht zu den typischen Standardapplikationen gehören, ist es außerdem noch notwendig, über das entsprechend ausgebildete Fachpersonal zu verfügen, das in der Lage ist das System zu bedienen. Für geografische Informationssysteme existieren noch weitere Begriffe, die sich in der einschlägigen Literatur 6 finden und z. T. spezielle GIS Anwendungen darstellen. Abkürzung FIS KIS NIS RIS UIS Bedeutung Fachinformationssystem Kommunales Informationssystem Netzinformationssystem Rauminformationssystem Umweltinformationssystem Tabelle 2-1 Bezeichnungen für Geografische Informationssysteme 2.2 Welche Möglichkeiten eröffnet GIS? a) Lokationsbasierte Datenabfrage: Generell ermöglicht GIS die Abfrage, was sich wo befindet. Es können Daten ermittelt werden, die sich in einem bestimmten Gebiet oder Umkreis befinden. b) Effektlokation: Effekte, die in einer Datentabelle nur sehr schlecht erkannt werden können, werden durch die kartenbasierte, räumliche Darstellung eines GIS schneller sichtbar und können durch die vielfältigen Visualisierungsmöglichkeiten übersichtlicher dargestellt werden. c) Zeitliche Veränderung: Der zeitliche Verlauf von Effekten, wie z.B. Hochwasser, kann durch regelmäßige Messungen ermittelt und somit beobachtet werden. d) Mustererkennung: Wiederkehrende Erscheinungen und Abläufe können erkannt und z.B. zur Früherkennung einsetzt werden. 6 z.B. für Netzinformationssysteme in [Saur97], S. 190-193 Seite 11 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten e) Tests und Experimente: Wenn ausreichend Daten vorhanden sind, können mögliche Szenarien simuliert werden um evtl. Auswirkungen auf die Umwelt im Voraus zu erkennen. 2.3 GIS Einsatzgebiete Geografische Informationssysteme finden überall dort Anwendung, wo mit räumlich referenzierten Daten gearbeitet wird. Entsprechend vielseitig sind die möglichen Anwendungsgebiete. GIS findet man z.B. in a) b) c) d) e) f) g) h) Umweltschutz und -überwachung Verkehrs/Routenplanung Rettungswesen Telekommunikation Bergbau und Mineralölindustrie Transportlogistik Land- u. Forstwirtschaft Marketing 2.4 Datenarten Die Daten eines GIS bilden seinen Kern, da von ihnen die Qualität aller darauf aufbauenden Arbeitsschritte und deren Ergebnisse abhängt. GIS Daten kann man grob in vier Gruppen unterteilen: a) b) c) d) Geometriedaten Attributdaten Zeitdaten Prozessdaten 2.4.1 Geometriedaten Geometriedaten sind notwendig um die Lage eines Objektes im Raum zu beschreiben. Dies wird meist mit Koordinaten gelöst. Auch ist es möglich, Adressen oder andere eindeutige Abbildungen zu verwenden. Das Ziel ist es, den Objekten eine räumliche Referenz zuzuweisen, mittels derer sie z.B. in eine Karte eingezeichnet und wiedergefunden werden können. Eng verknüpft mit den Geometriedaten sind auch die räumlichen Eigenschaften eines Objektes wie z.B. Abmessungen oder topologische Anordnungen. Um geometrische Daten zu speichern, gibt es das Raster- oder Bitmapverfahren und das vektorielle Verfahren. Diese beiden Möglichkeiten haben je nach Beschaffenheit der Daten ihre Vor- oder Nachteile und werden meist auch gemischt angewendet. Seite 12 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 2.4.1.1 Rasterdaten Rasterdaten sind Felder aus Bildelementen gleicher Größe, die in einer Matrix aus Reihen und Spalten angeordnet sind. Rasterdaten haben eine Reihe verschiedenster Vorteile. Bestehende Papierkarten können sehr einfach durch Scannen in ein digitales Rasterformat überführt werden. Viele Datenarten (z.B. Fernerkundungsdaten) liegen bereits in Rasterform vor. Rasterdaten bieten sich besonders an, wenn es darum geht, kontinuierliche Phänomene mit häufig wechselnden Werten (z.B. Höhenwerte einer Landschaft) zu modellieren. Auch ist die Positionsbestimmung über die Koordinate und die Auflösung des Rasters sehr einfach. Die Topologie der Objekte ist bereits in der Rasterstruktur enthalten und muss nicht erst hinterher, wie bei Vektorgrafiken, extrahiert werden. Des Weiteren ist es sehr einfach, Rasterdaten des gleichen Maßstabes zu überlagern um eine Karte aufzubauen. Der Nachteil dieses Verfahrens ist die Tatsache, dass man sich bei der Erstellung dieser Rasterdaten auf eine bestimmte Auflösung festlegen muss. Wenn man entsprechend tief in das Bitmap zoomt, bemerkt man, dass die Linien eigentlich Treppen sind und Punkte zu quadratischen Pixeln werden und somit Genauigkeitsgrenzen aufweisen. Diesem Effekt kann entgegengewirkt werden, indem man die Auflösung entsprechend hoch wählt, was natürlich automatisch zu einer größeren Datenmenge führt. Maßstab 1 : 10.000 1 : 50.000 1 :100.000 Speicherplatz bei Vektordaten [MB] Ca. 1,2 Ca. 1,0 Ca. 0.9 Speicherplatz bei Rasterdaten [MB] ca. 420 ca. 168 ca. 17 Tabelle 2-2: Speicherplatzbedarf für Karten (Quelle: [Saur97], S. 70) Ein gutes Beispiel findet sich in [Saur97] (S. 70), wo die Speicherung der Gemeindeflächen im Freiburger Umkreis jeweils als unkomprimierte Rasterdaten und als Vektordaten bei verschiedenen Maßstäben gegenüber gestellt wird. Die dort ebenfalls gezeigte Karte (auf die hier verzichtet wird) ist sehr homogen, was für die Speicherung im Vektorformat spricht. Stark inhomogene Daten können diesen Effekt durchaus umkehren und die Rasterdaten speichertechnisch zur besseren Alternative werden lassen. Natürlich kann diese Datenmenge durch verschiedenste Komprimierungsverfahren stark reduziert werden. Bekannte Algorithmen sind z.B. die Lauflängenkodierung oder Quadtree, auf die aber an dieser Stelle nicht weiter eingegangen wird. Der interessierte Leser sei hiermit auf weiterführende Literatur verwiesen. 2.4.1.2 Vektordaten Bei Vektordaten werden sämtliche Positionsangaben mit den genauen Koordinaten beschrieben. Dazugehörige Attributinformationen werden meist über einen eindeutigen Schlüssel hinzugefügt. Seite 13 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Hier liegt ein klarer Vorteil gegenüber den Rasterdaten. Die geometrische Dimension bleibt in jedem Maßstab erhalten. Somit bieten Vektordaten eine hervorragende Grundlage für Karten und Pläne mit hohem Präzisionsanspruch. Außerdem ist die Datenmenge bei homogenen Daten wesentlich geringer. Ein Nachteil von Vektordaten ist die fehlende Topologieinformation, die bei Bedarf noch nachträglich erstellt werden muss (z.B. um benachbarte Objekte zu finden). Die Erstellung vektorieller Karteninformation ist wesentlich aufwendiger und fehleranfälliger als die Digitalisierung von Karten zu Rasterinformation. Es gibt zwar Verfahren, die Objekte aus Bildern erkennen (z.B. Flüsse, Straßen oder Grenzlinien), die Fehleranfälligkeit ist aber sehr hoch. Verschmutzungen oder aufgedruckte Daten werden ebenso als Objekte „erkannt“ und stellen Fehler dar, die in mühevoller Kleinarbeit entfernt oder korrigiert werden müssen. Werden Karten vollständig mit Digitalisierungsbrett und Maus erfasst, können sich natürlich auch Erfassungs- und Genauigkeitsfehler einschleichen. 2.4.1.3 Fazit Vektor / Rasterdaten Wie aus der vorgegangenen Gegenüberstellung ersichtlich ist, hängt es stark von den eigenen Ansprüchen und der Art der Daten ab, welche Darstellungsform gewählt werden sollte. Die nachfolgende Tabelle soll die einzelnen Stärken und Schwächen beider Modelle noch einmal zusammenfassen. Genauigkeit von Koordinaten Verknüpfungsalgorithmen (Rechenzeit) Speicherplatzbedarf für Datensätze mit geringer räumlicher Inhomogenität der Werte Speicherplatzbedarf für Datensätze mit großer räumlicher Inhomogenität der Werte Qualität kartographischer Darstellungen Maßstabsbindung Vektor hoch komplex Raster gering einfach gering hoch hoch gering hoch bei angepaßtem Maßstab hoch hoch gering Tabelle 2-3: Vor- und Nachteile von Vektor- und Rastermodell (Quelle: [Saur97] Seite 77) Durch die geschickte Anwendung bei Modelle kann mit mehreren Schichten (oder Layern) eine Karte aufgebaut werden. 2.4.2 Attributdaten Attributdaten werden auch Sach- oder Objektdaten genannt und beschreiben das Objekt bzw. seine Eigenschaften. Diese Eigenschaften ermöglichen eine Klassifizierung verschiedener Objekte. Die Stärke einer geografischen Anwendung liegt in der Verbindung von Sachdaten mit Geometriedaten. Attributdaten werden oft innerhalb einer Datenbank verwaltet, Seite 14 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten wohingegen Geometriedaten wie z.B. Karten von vielen Systemen noch als externe Dateien in einem Dateisystem gehalten und verwaltet werden. 2.4.3 Zeitdaten Die beiden bisher behandelten Datenarten beschreiben den statischen Zustand eines Objektes. Eine besondere Stärke eines GIS ist aber die Fähigkeit, Veränderungen festzustellen und aufzuzeichnen. Dieser Wunsch bringt uns direkt zu der Zeit als variable Größe. Besonders im Umweltdatenbereich, wo Messdaten den größten Teil der Daten darstellen, ist der Messzeitpunkt natürlich von entscheidender Wichtigkeit. Die Historisierung der Messnetzdaten muss also möglich sein. Um eine solche Historie seiner Daten zu führen, gibt es eine Reihe verschiedener Methoden, auf die hier kurz eingegangen wird. a) Einfache Kopie: Hierbei werden durch eine vollständige Sicherung alle alten Daten gerettet. Diese Methode ist recht ineffektiv, wenn die Daten im Allgemeinen wenig variieren. Im Messnetzbereich ist diese Methode jedoch durchaus üblich. Wenn z.B. jeden Tag eine Messwertreihe eintrifft, ist diese sehr wahrscheinlich ungleich der alten Datenreihe. b) Speicherung der Änderung: Hier werden nur die Unterschiede zu den alten Daten aufgezeichnet, was die Datenredundanz erheblich minimieren kann, wenn die Daten nur geringfügig variieren. 2.4.4 Prozessdaten Prozessdaten sind Modelle, die eine Simulation von Änderungen und Vorgängen ermöglicht. Sie stellen eine Abbildung dar, mit dessen Hilfe das Verhalten oder eine Veränderung abgebildet werden kann. Das generelle Problem dabei ist natürlich diese Abbildung zu kennen. Was bei Systemen mit wenigen physikalischen Gesetzmäßigkeiten noch einfach sein mag, kann in Systemen, die einige unbekannte Parameter besitzen, sehr kompliziert sein. Gelingt eine solche Simulationsvorschrift, ist es möglich die Veränderung der Daten erst herbeizuführen, wenn ein konkreter Bedarf danach besteht. Seite 15 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 2.5 Datenstrukturierung mit Layern Bei geografischen Informationssystemen werden Daten meist in verschiedene thematische Gruppen, sog. Layer 7, unterteilt. Diese Layer werden dann wie Folien übereinander gelegt und ergeben zusammen eine Karte (s. Abb. 2-2). Damit unterscheiden sie sich von konventionellen Papierkarten, die sämtliche Informationen enthalten. Abbildung 2-2: Layerkonzept (Quelle: [http://www.gis.com/whatisgis/index.html]) Vorteile von Layern: 1. Hohe Datendichte: Es besteht die Möglichkeit der Abspeicherung hoher Datenmengen durch die Zuordnung zahlreicher, unterschiedlichster Daten zu einem bestehenden Koordinatensystem. 2. Visualisierungsvielfalt und –vereinfachung: Die Darstellung kann an die jeweiligen Anforderungen angepasst werden, indem z.B. Layer mit unwichtigen Teilaspekten ausgeblendet oder alternative Varianten wahlweise dazugenommen werden. 3. Kartenalgebra: Layer können mathematisch verknüpft werden. Durch das Verschneiden bestehender Layer ist es möglich neue zu berechnen. Z.B. könnte man das Durchschnittsalter der Bevölkerung verschiedener Länder mit der Qualität medizinischer Versorgung verschneiden um evtl. Zusammenhänge sichtbar zu machen. 4. Wiederverwendbarkeit: Einmal erfasste Daten können, als Layer gekapselt, für verschiedene Zwecke (wieder)verwendet werden. Die Fähigkeit, Informationen in Layer zu partitionieren und nach Bedarf beliebig zu kombinieren, eröffnet viele Möglichkeiten für die Entscheidungsfindung, birgt gleichzeitig 7 oder deutsch: Schichten oder Ebenen Seite 16 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten aber auch hohe Risiken. Daten können für die eine Anwendung ideal, für eine andere jedoch völlig ungeeignet sein. Die Kartenalgebra eröffnet vielfältige Möglichkeiten, von denen viele nicht sinnvoll sind. Deshalb sollte der jeweilige Datenkontext immer berücksichtigt werden. 2.6 Datenorganisation Die GIS Datenorganisation ist ein vielfältiges Gebiet, die hier anhand einiger topologischer Anordnungen bewertet wird. 2.6.1 Einzelplatzsystem Viele GIS Programme bieten die Möglichkeit, Attributdaten in einem relationalen Datenbanksystem abzulegen. Geometriedaten werden jedoch oft noch separat in einer dateiorientierten Datenhaltung verwaltet. Die Verwaltung beschränkt sich oft nur auf die einfache Lese- und Schreibgrundfunktionalität. Die Sicherheitspolitik wird bei diesem Ansatz vollständig an der Betriebssystem delegiert. Für Einzelplatzsysteme ist dieser Ansatz durchaus befriedigend. 2.6.2 Mehrplatzsysteme Sobald man jedoch ein GIS verteilt und Daten im Netzwerk verteilt werden, genügt dieser Ansatz nicht mehr den Anforderungen hinsichtlich Nebenläufigkeit und Konsistenz. Es wird ein Management für geografische Daten notwendig und man kommt schließlich zu dem Ansatz, auch die geografischen Daten in einem RDBMS unterzubringen und zu verwalten. Viele Datenbankhersteller bieten deshalb einen spatialen 8 Aufsatz für ihre Produkte an. Dabei handelt es sich im Wesentlichen um neue Datentypen und Verarbeitungsmöglichkeiten (z.B. Berechnungsroutinen für Abstandsmessungen zweier Punkte). Dazu zählen IBM’s UDB (früher DB/2) , Informix und Oracle. 2.6.3 Intra-/Internet Überall wo Daten sehr aktuell und einem breiten Publikum zugänglich gemacht werden sollten, kommt auch das Intra- oder Internet als Verteilungsmedium zum Zuge. Der Kartenzugriff im Intra/Internet kann in drei Kategorien 9 hinsichtlich ihrer Fexibilität unterschieden werden: 1. Statisch 2. Interaktiv 3. Dynamisch 8 9 spatial bedeutet räumlich oder geografisch Vgl. [http://gio.uni-muenster.de/beitraege/ausg97_2/stahl/stahl.htm] Seite 17 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Beim statischen Ansatz bietet ein Webserver den Zugriff auf festes Kartenmaterial, das in einem Dateisystem abrufbereit liegt und auf Wunsch übertragen wird. Oft werden Übersichtskarten verwendet, die mit detaillierteren Karten verlinkt sind. Auf diese Weise kann sich der Benutzer schrittweise z.B. durch eine Stadtkarte bewegen. Mit Webformularen kann die Auswahl des Kartenausschnitts noch beschleunigt werden. Eine interaktive Lösung bietet weitere Gestaltungsmöglichkeiten für den Benutzer. Hier werden spezielle Webserver, sog. Mapserver, eingesetzt. Die Darstellung kann an eigene Bedürfnisse angepasst werden, der Mapserver generiert die Karte aus einem GIS, das auf der Serverseite läuft und sendet das Ergebnis meist als komprimierte Bilddatei über den Ether. Dieser Ansatz ist natürlich überall angebracht, wo keine einheitlichen Karten oder Kartenausschnitte festgelegt werden können, da das Kartenmaterial nicht normierbar ist. Der dynamische Ansatz eröffnet erst die vollständige GIS Funktionalität, die man bei GIS Software gewöhnt ist. Dies wird i.d.R. durch Java Applets oder ActiveX Controls bereitgestellt, die mittels Webbrowser Plugins geladen und ausgeführt werden können. Seite 18 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3 Produktanalyse In diesem Kapitel wird eine Übersicht über die von TechniData eingesetzten Softwareprodukte erstellt (s. auch Abbildung 3-1). Diese Produktübersicht schließt sowohl Messnetzsoftware als auch GIS ein. Der Funktionsumfang der existierenden GIS dient als Grundlage für die anschließende Marktübersicht aktueller, verfügbarer Java basierter GIS Klassensammlungen und deren Bewertung für eine Entscheidungsfindung. Das ausgewählte Produkt wird dann zur Umsetzung des Prototyps verwendet. Abbildung 3-1: TechniData Messnetzsysteme und GIS 3.1 Altsysteme von TechniData 3.1.1 Das OBLIS System Das OBLIS System ist der historische Vorgänger von NMC / DAISY. Das Programmpaket besteht aus mehreren eigenständigen, miteinander in Verbindung stehenden Komponenten. Alle Komponenten sind um eine Datenbank angeordnet und laufen auf dem Betriebssystem VMS und diversen Unixen. Auch hier stellen die Daten das zentrale Element dar. Das AKS (Auskunftssystem) ist ein Modul in OBLIS und besitzt eine grafische Oberfläche, die mit X-Windows / OSF-Motif Komponenten realisiert ist. AKS enthält ein kleines GIS, dass allerdings nur sehr elementar ist. Im Wesentlichen besteht es aus Rasterkarten und Buttons, mittels derer man einzelne Messstationen selektieren bzw. abfragen kann. Da OBLIS in Zukunft vollständig von NMC / DAISY ersetzt werden soll, bei verschiedenen Projekten der TechniData aber noch eingesetzt wird, sei es hier nur der Vollständigkeit halber erwähnt. Seite 19 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.1.2 INES RAD Abbildung 3-2: INES RAD von DIC Solutions Augsburg INES RAD ist ein Java und C++ basiertes System zur Steuerung, Überwachung, und Datenakquisition in verteilten Messnetzen und stellt ein weiteres Altsystem dar, dass TechniData von der Firma DIC Solutions Augsburg übernommen hat. Viele Teile davon sind in NMC / DAISY eingeflossen und machen es somit ebenso zu einem historischen Vorgänger. INES RAD ist noch im Einsatz, wird aber in absehbarer Zeit durch NMC / DAISY ersetzt werden. INES RAD besitzt ein elementares GIS, dass es ermöglicht, Messstationen grafisch auf einer Karte anzeigen, wo sie auch selektiert und angesteuert werden können. 3.1.3 UGI GISView von WiGeoGIS Bei UGI GISView handelt es sich um ein Produkt, dass mit ESRI‘s MapObjects für Windows API arbeitet und ist ein externes Produkt der Firma WiGeoGIS GmbH 10. Die MapObjects Windows API stellt eine Vielzahl von GIS Funktionalität bereit und erleichtert die Entwicklung von GIS Applikationen auf Windows Basis mit Visual Basic. GISView ist ebenso ein VB Produkt und nutzt diese API bzw. erweitert die Funktionalität um zusätzliche Fähigkeiten. Mit einer DCOM / CORBA Bridge ist GISView mit NMC / DAISY verbunden. Bei Bedarf wird es von NMC aus gestartet und über diese Schnittstelle mit Daten versorgt. Es arbeitet intern mit einer temporären Access Datenbank für die Zwischenspeicherung von Tabellen, die es über diese Bridge von NMC erhält. GISView bietet zur Zeit die umfangreichste GIS Funktionalität. 10 [http://www.wigeogis.com] Seite 20 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.2 ENVINET NMC11 von TechniData 3.2.1 Einführung ENVINET-NMC (Network Managment Centre) ist ein Produkt der TechniData und erfüllt die Funktionalität einer Umweltüberwachungs- und Messnetzzentrale neuster Generation. NMC besteht aus zahlreichen Softwarekomponenten, die in Ihrer Gesamtheit den Datenfluss von der Erfassung über die Speicherung und Auswertung bis hin zur Datenweitergabe sicherstellen. Dieses Leistungsspektrum ermöglicht den Einsatz von NMC in den Bereichen der Luftqualitätsmessung, Meteorologie, Hydrologie sowie zur Überwachung von Radioaktivität. NMC besitzt im wesentlichen drei Grundeigenschaften, die ein Maximum an Variabilität ermöglichen: 1. Konfigurierbarkeit: Die einzelnen Komponenten können dynamisch an die speziellen Anforderungen angepasst und konfiguriert werden. 2. Modularität: Das komponentenbasierte System ermöglicht es, speziell zugeschnittene Lösungen anzubieten. 3. Adaptierfähigkeit: NMC kann gut in bestehende Umgebungen integriert werden. Oft existieren umfangreiche Altsysteme, die aus Kosten- oder Kompatibilitätsgründen nicht ersetzt werden können oder sollen. Durch dieses Design ist es möglich, NMC als kompakte Messnetzzentrale mit geringer Basisfunktionalität ebenso wie als vollständig ausgebautes Messnetzzentralsystem in einem ausfallsicheren Umfeld zu betreiben. Ein normiertes Datenmodell stellt die zentrale und homogene Datenhaltung sicher. NMC ist ein reines Java Produkt und kann deshalb auf einer Vielzahl möglicher Plattformen eingesetzt werden. Unterstützt werden zur Zeit die Betriebssysteme Unix, Linux, Windows NT und Windows 2000. Die einheitlich gestaltete Benutzeroberfläche ermöglicht die Abbildung der organisatorischen Messnetzstruktur und dient als zentrale Oberfläche für Steuerung und Zugriff. 11 [NMC] Seite 21 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.2.2 Der Aufbau von ENVINET-NMC Abbildung 3-3: NMC Funktionalität (Quelle: [NMC]) Der zentrale Kern von NMC sind seine Daten, die üblicherweise sehr umfangreich sind. Um diese Daten scharen sich die einzelnen modularisierten Funktionsgruppen, die in einem DreiSchichten-Modell unterteilt sind. Seite 22 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 3-4: NMC Komponenten (Quelle: Eigene Darstellung in Anlehnung an [NMC]) Der Presentation Layer stellt die Benutzerschnittstelle dar. Im Data Access Layer werden die Daten und ihre Zugriffssteuerung organisiert. Im Business Layer sind alle Softwarekomponenten enthalten, die für die Steuerung und Verarbeitung der Daten notwendig sind. 3.2.2.1 Presentation Layer Diese Schicht stellt eine einheitliche Benutzerschnittstelle bereit und dient als zentrales Steuerelement. Über eine Menü- und Baumstruktur werden alle Vorgänge überwacht und gesteuert. Das Benutzersystem ermöglicht die Ansteuerung folgender Funktionalität: a) Administration: Benutzer- u. Stammdatenverwaltung sowie Operating. b) Datenvisualisierung: Darstellung von Daten sowie kartografisch basierte Messstellenpräsentation und -auswahl. Um bei hohen Datenmengen den Überblick nicht zu verlieren, ist eine gute Visualisierung notwendig. NMC stellt deshalb die Visualisierung von Messdaten, berechneten Daten und von Zusatzinformationen als Tabellen und Grafiken bereit. Die GIS Darstellung wird z.Z. noch über das zuvor vorgestellte GIS der Firma WiGeoGIS abgewickelt, soll aber in Zukunft von einem Java GIS übernommen und somit besser integriert werden. Die Diplomarbeit soll dies evaluieren. c) Monitoring: Überwachung und Beobachtung des laufenden Systems (Laufzeitstatus der Softwarebausteine) und der Datenquellen (Statusüberwachung der Messstellen). Seite 23 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten d) Reporting: Erstellung von verschiedenen Berichten. e) Auswertung mit DAISY: Hiermit werden die Messdaten nachbearbeitet. f) Alarmierung: Darstellung von Ausnahmesituationen bei Messwerten oder Systemzuständen. Alarmierungen als Nachrichten an Benutzer oder Nutzergruppen. Für diesen Zweck existiert ein eigenes Nachrichtenkonzept. 3.2.2.2 Data Access Layer Der Data Access Layer stellt die Zugriffsschnittstelle über sog. Storeklassen zur Datenbank bereit. Über diese Schnittstelle greifen alle Komponenten der Anwendungs- und Benutzerschicht auf die Datenbank zu. In der darunter liegenden relationalen SQL basierten Datenbank (z.B. Oracle) ist das NMC Datenmodel abgelegt. 3.2.2.3 Business Layer Die Anwendungsschicht stellt die Kernfunktionalität von NMC dar und besteht aus folgenden Softwaremodulen: a) Communication Controller: Das „Betriebssystem“ des NMC für verschiedenste Datenübernahme/Importvorgänge, Kommunikationsaktivitäten und Datenprotokolle mit unterschiedlichen Datengeräten. b) Flow Controller: Zeitlich-, ereignis- und ablaufgesteuerte Vorlänge werden über den Flow Controller gesteuert. Damit ist es möglich Aktivitätssequenzen durchzuführen, die in Skripten definiert sind. c) Data Controller: Dieses Modul realisiert die automatische Datenplausibilisierung, ein Instrument zur automatischen Bewertung von Rohdaten aus verschiedensten Datenquellen. Hier finden verschiedenste Prüfalgorithmen (z.B. Schwellwertprüfung, Regressionsprüfung (Sprunghöhenprüfung) oder Konstantwertprüfung) und evtl. verschiedene Korrekturfunktionen (z.B. Offset Additionen oder Faktormultiplikationen) ihre Anwendung. d) Calculation/Aggregation Controller (DAISY-Calc): DAISY-Calc führt Berechnungen und Aggregierungen von Datenreihen wie z.B. Mittelwertberechnungen durch. Üblicherweise wird DAISY-Calc durch den Flow Controller im Anschluss an die Plausibilisierung gestartet. Ändern sich die Basiswerte z.B. durch eine Aktualisierung, wird die Berechnung entsprechend neu aktiviert und durchgeführt. e) Message Controller: Die Message Controller Komponente ist für das zentrales Logging und die Protokollierung zuständig. Alle Aktionen, Reaktionen und Systemfehler sowie der Status des Systems können lückenlos nachvollzogen und überwacht werden. Durch einen Notifier ist es außerdem möglich, automatisch Nachrichten an Benutzer oder Nutzergruppen zu senden, wenn ein kritischer Systemstatus oder Schwellwertüberschreitungen auftreten. Seite 24 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten f) System Controller: Der System Controller ist Teil des Systemkerns und kümmert sich um die Aufrechterhaltung der zentralen Funktionsfähigkeit des Systems. Die Aufgaben des System Controllers sind: • • • Start u. Initialisierung der Kernkomponenten kontrollierter Shutdown Überwachung der Module bzw. der Modulaktivitäten Bei Fehlern kann er Module reinitialisieren oder redundante Systemmodule starten. Sollte NMC auf einer ausfallsicheren Rechnerkonstellation (z.B. auf einem Cluster) laufen, kümmert er sich auch um die applikationsseitige Umschaltung. 3.3 ENVINET DAISY12 von TechniData DAISY (=Datenauswerte- und Informationssystem) ist, wie der Name schon sagt, für die Messdatenauswertung bestimmt. Wie NMC ist auch DAISY modular aufgebaut, um ein Höchstmaß an Flexibilität zu ermöglichen. DAISY besteht aus verschiedenen Client- und Serverkomponenten, die nachfolgend kurz beschrieben werden. 3.3.1 DAISY Client Komponenten Es gibt keinen eigenständigen DAISY Client. Üblicherweise wird der DAISY Client in den NMC Navigator eingebettet. In der NMC Baumstruktur werden lediglich für DAISY Knoten und Kontexte definiert, die die DAISY-spezifischen Masken aufblenden lassen. Die Rechteund Userverwaltung wird auch über die NMC Oberfläche realisiert und sind kein Bestandteil von DAISY. DAISY besteht aus folgenden Clientkomponenten: DAISY -Def-Calc: Die Bedienungsoberfläche zur einfachen Parametrierung der Berechnungen und der Möglichkeit zur kartografisch basierten Stationsmessstellenauswahl. DAISY -Show: Auswertung der Berechnungsergebnisse als Grafik und Tabelle. DAISY -Def-Show: Konfigurationsoberfläche für die DAISY-Show Komponente. DAISY -Mon: Ein Statusmonitor zur Überwachung und Manipulation der Berechnungen. DAISY -Def-Rep: Konfigurationsoberfläche für die Generierung von Berichten. DAISY -Admin: Oberfläche für die erweitere Manipulation der Berechnungen. 12 [DAISY] Seite 25 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.3.2 DAISY Server Komponenten DAISY -Controller: Der Berechnungsmanager für die Verteilung von Berechnungsaufträgen an DAISY-Calc. DAISY -Calc-Server ist ein CORBA-Prozess, in dem eine bestimmte Anzahl von Berechnungsprozessen laufen können. DAISY -Calc: Das Rahmenprogramm, das für eine Vielzahl unterschiedlichster Berechnungsformeln konzipiert ist. Für die Berechnung der Werte können verschiedene Filter, wie z.B. ein Zeitfenster, angegeben werden. DAISY-Calc bietet unterschiedliche Berechnungsarten (Aggregierungen), wie z.B. Mittelwert, Standardabweichung oder Häufigkeitsverteilungen. Die sequenzielle Ausführung verschiedener Filter- und Berechnungsvorschriften erlaubt somit flexible und vielfältige Möglichkeiten. DAISY -Report dient zur Erzeugung von Berichten und Reports auf Basis von MS Excel. Seite 26 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.4 Grobevaluierung freier und kommerzieller Java GIS API‘s Mit der Grobevaluierung soll ein erster Überblick über die am Markt verfügbaren GIS Klassenbibliotheken gewonnen werden. Das Auswahlkriterium der Kandidaten war eine vollständige Java Implementierung der Klassenbibliothek. 3.4.1 Freie Java GIS 3.4.1.1 DEMViewer 13 mit VisAD 14 Bibliothek Der DEMViewer ist ein Anzeigeprogramm für dreidimensionale Höhenmodelle, die im ArcGrid 15 ASCII Exportformat vorliegen. Das Programm wurde am Institut für Geografie an der Universität von Jena entwickelt und ist vollständig in Java implementiert. Für die 3DVisualisierung werden Java3D sowie VisAD eingesetzt, eine freie Java Bibliothek für die Visualisierung und Analyse numerischer Daten. Der Viewer stellt eine Beispielimplementierung für den Funktionsumfang von VisAD und Java3D dar. Die anfängliche Idee, den DEMViewer durch eine Erweiterung an das gewünschte Leistungsspektrum anzupassen, musste schließlich wieder verworfen werden. Leider liegt der Zweck von DEMViewer auf der reinen Visualisierung von Karten ohne weitere Funktionalität für die Ausgestaltung einer Bedieneroberfläche. Hieraus ergibt sich die Notwendigkeit der selbstständigen Weiterentwicklung des Programms unter Verwendung von VisAD und Java3D. Dies ist im Rahmen einer Diplomarbeit jedoch zu aufwendig und eine weitere Betrachtung dieses Projektes wurde ausgesetzt. 3.4.1.2 GISToolkit 16 Das GISToolkit ist eine freie Java GIS API zur Entwicklung von GIS Applikationen, die unter der GNU Library General Public Licence verfügbar ist. Leider stellte sich beim Test der Beispielapplikationen heraus, dass diese auf ArcSDE 17 aufbauen. Leider stand dieses Softwarepaket nicht zur Verfügung. Eine Emailanfrage an den Entwickler, ob man GISToolkit auch mit Kartendateien nutzen könnte, wurde erst nach Abschluss meiner Produktanalysephase mit einem Verweis auf den Sourcecode kommentiert. GISToolkit hat es somit nicht geschafft in den Kreis der engeren Wahl zu kommen. 13 [http://www.geogr.uni-jena.de/~p6taug/demviewer/demv.html] [http://www.ssec.wisc.edu/~billh/visad.html] 15 ArcGrid ist ein Toolpaket für räumliche Datenanalyse 16 [http://gistoolkit.sourceforge.net] 17 Hierbei handelt es sich um eine Software zur Anbindung verschiedener Datenbanken an GIS Applikationen, dass von der Firma ESRI vertrieben wird. 14 Seite 27 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.4.1.3 JaGo Bei JaGo 18 (Java Framework for Geospatial Solutions) handelt es sich um eine Java API, die eine Entwicklung lokaler und verteilter GIS Applikationen unterstützt, deren Schnittstellen und Architekturen an den Vorgaben der OGC (OpenGIS Consortium) orientiert sind. JaGo ist freie Software, die unter der GNU Lesser General Public License steht und in Zusammenarbeit des Geografischen Institutes der Universität Bonn mit der Firma LatLon entwickelt wurde. Die Vorteile von JaGo liegen in der freien Verfügbarkeit der API, die keine weiteren Lizenzkosten verursacht, sowie in der flexiblen Schichtenstruktur, die eine Auftrennung in eine hochdistributive Applikation erlaubt. Leider verfügt das JaGo Framework nur über wenig Visualisierungselemente für die Implementierung eines GIS Clients. Trotz dieser Schwäche wurde JaGo in die Feinevaluierung übernommen, da das Produkt einen sehr zukunftsweisenden Eindruck macht. Es orientiert sich an zahlreichen offenen Standards und unterstützt beispielsweise als einzigstes Paket GML, einen XML Standard für geografische Daten. 3.4.2 Kommerzielle Java GIS 3.4.2.1 ActiveMaps Bei ActiveMaps 19 handelt es sich um eine Java Klassenbibliothek, die wahlweise für Appletoder Applikationsentwicklung verfügbar ist. Gegenstand der Betrachtung ist die Bibliothek für die Java Applikationsentwicklung. Die Bestellung und Auslieferung der Softwarepakets wird schnell und direkt per Email zugesichert. Nach kurzer Anfrage wird auch sofort eine Testversion zur Verfügung gestellt, die mit zahlreichen Beispielen offen legt, was die API zu leisten vermag. Diese Kriterien haben ActiveMaps in die Liste der Feinevaluierung verholfen, wo die einzelnen Funktionen genau geprüft werden. Das Produkt hat allerdings den Nachteil, dass es von der irischen Firma Compass Informatics vertrieben, aber nicht mehr weiterentwickelt wird. Der erste Eindruck hinsichtlich des Funktionsumfangs kann nur beschränkt überzeugen. Dies soll aber in der Feinevaluierung genauer betrachtet werden. 3.4.2.2 GISTerm20 Die Firma disy ist ein junges Unternehmen, das 1997 von Mitarbeitern des Forschungszentrums Informatik Karlsruhe gegründet wurde und zahlreiche Referenzen besitzt. Disy bietet mit GISTerm ein umfangreich ausgestattetes und modernes Klassenpaket für die Entwicklung eigener GIS Applikationen, das keine Wünsche offen lässt. Der Funktionsumfang ist reichhaltig und stellt selbst das nachfolgend beschriebene MapObjects von ESRI in den Schatten. GISTerm bietet neben den Standardfunktionen wie Layerhandling oder Kartennavigation auch Perlen wie z.B. die Verbindung von Karten mit Geschäftsgrafiken oder eine optionale 3D Kartenvisualisierung, die mit Java3D realisiert wird. 18 [http://katla.giub.uni-bonn.de/jago] [http://www.compass.ie/geoshop/categories/devtools-index.html] 20 [http://www.disy.net/de/Produkte/disy_GISterm/index.html] 19 Seite 28 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Die beiden Wermutstropfen sind die teuren Lizenzen zum Einen und zum Anderen, dass disy leider keine Testversion für die Implementierung des Prototypen zur Verfügung stellt. 3.4.2.3 Map Objects for Java21 Die Firma ESRI hat pünktlich zum Start meiner Evaluierungsphase Anfang April das Produkt MapObjects for Java auf den Markt gebracht. Es bietet wie das zuvor beschriebene GISTerm ähnlich umfangreiche Funktionen und Beans für die Gestaltung der Benutzeroberfläche. Einige Extras, wie z.B. das 3D Paket, fehlen jedoch. Der Funktionsumfang lehnt sich stark an MapObjects for Windows an, das bereits in UGI GISView von WIGeoGIS Anwendung findet, welches bislang noch mit NMC / DAISY ausgeliefert wird. Ein Testversion zur Entwicklung eines Prototypen wird nach Anfrage zur Verfügung gestellt. Der Nachteil ist ein unreifes Erscheinungsbild, das sich in einer schlechten Dokumentation darstellt und auf den jungen Produktstatus zurückzuführen ist. Das Testpaket soll mit einer Reihe von Softwarebeispielen ausgeliefert werden und ein Diskussionsforum bietet eine Plattform für Erfahrungsaustausch und gegenseitige Hilfe. Das Forum ist allerdings wenig besucht, da MapObjects Java noch nicht sehr verbreitet ist. 3.5 Feinevaluierung anhand einer Featureübersicht 3.5.1 Featuretabelle Die Feinevaluierung wird an vier Klassenbibliotheken durchgeführt, die hinsichtlich ihrer Leistungsfähigkeit am dichtesten an den Anforderungen TechniData’s liegen. Das sind: • • • • JaGo ActiveMaps GISTerm MapObjects for Java Diese Klassensammlungen werden hier in einem weiteren Schritt anhand einer Featuretabelle genau evaluiert und verglichen, um eine Wissensbasis für die Leistungsfähigkeit der einzelnen Pakete zu erhalten. Diese Basis wird in einer anschließenden Entscheidungsphase eine wesentlich Grundlage darstellen. In der Tabelle werden die allgemeinen Produktdaten sowie die technischen Möglichkeiten der Produkte bewertet. Unter Verwendung dieser zwei Hauptgesichtspunkte wird versucht, einen möglichst guten Überblick über die Produktqualität zu erlangen. Die allgemeinen Produktdaten werden in den vier Punkten: 1. Ersterscheinung 2. Produktstatus 3. Lizenzpreis und 21 [http://www.esri.com/software/mojava/index.html] Seite 29 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4. Lieferzeit bewertet, wobei die ersten beiden Punkte einen Indikator für die Produktstabilität darstellen sollen. Die technischen Möglichkeiten werden in insgesamt 34 Punkten bewertet. Eine genaue Beschreibung der technischen Fachbegriffe erfolgt im nachfolgenden Abschnitt. Die technischen Punkte setzten sich zum Einen aus den Features bisherig verwendeter TechniData GIS Produkte und zum Anderen aus den Features der vier neuen Produkte zusammen. Alle Features, die die Leistungsfähigkeit der bisher verwendeten TechniData GIS Produkte übersteigen, sind Zusatzfeatures und blau in der Tabelle hervorgehoben. Die Bewertung der einzelnen Punkte erfolgt in drei Stufen: 1. Guter Wert oder Funktionalität ist vorhanden: zwei Punkte 2. Befriedigender Wert oder Funkionalität ist teilweise vorhanden: einen Punkt 3. Unbefriedigender Wert oder Funktionalität ist nicht vorhanden: null Punkte. Null Punkte wurden ebenfalls gegeben, wenn eine Bewertung aufgrund fehlender Informationen nicht möglich war. Seite 30 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Seite 31 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Tabelle 3-1: Featuretabelle Seite 32 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.5.2 Featurebeschreibung Diese Featurebeschreibung soll Klarheit in die teilweise sehr kurzgehaltene Beschreibung der einzelnen technischen Funktionalitäten der Tabelle bringen. 3.5.2.1 Navigation 1. Standard Kartennavigation: Einfache Standardfunktionalität um in der Kartenansicht zu navigieren. Das umfasst das Verschieben oder Bewegen der Karte, das Zoomen in der Karte und das Zentrieren einer Karte auf volle Größe. 2. Übersichtskarte: Hierbei handelt es sich um eine Miniaturkarte, die die gesamte Karte und den aktuellen sichtbaren Bildausschnitt darstellt. Sie dient als Navigationshilfe. 3.5.2.2 Visualisierung 3. Maptips: Wenn man mit der Maus ein Kartenobjekt berührt, erscheint begleitende Attributinformation zum Objekt. 4. Legenden beschreiben die einzelnen Layer einer Karte und deren Anordnung. Die Layer können dann nach Belieben ein- oder ausgeblendet werden. 5. Labels: Dieses Feature erlaubt die Beschriftung von Kartenobjekten mit Zusatzinformationen (Text). Dieser Text kann z.B. ein Attribut aus der ESRI Shapedatei sein. 6. 3D-Ansicht: Dreidimensionale Ansicht der Karte, evtl. mit entsprechend erweiterten Navigationsmöglichkeiten. 7. Kartogramme / Geschäftsgrafiken in Karten: Geschäftgrafiken (z.B. Torten- oder Balkendiagramme) als Bestandteile der Karte, die wahlweise ein- oder ausgeblendet werden können. 8. Benutzerdefinierte Symbole: Kleine Grafiken, die für bestimmte Objekte auf der Karte eingesetzt werden können um sie lesbarer zu machen. Seite 33 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 3.5.2.3 Selektion 9. Räumliche Selektionstools: Selektion mit Maus und verschiedenen grafischen Formen (Rechteck, Polygon, Kreis). Damit können z.B. alle Kartenobjekte im Umkreis einer bestimmten Position selektiert werden. 10. Pufferbildung um selektierte Objekte: Mit dieser Funktion kann um alle selektierten Objekte ein räumlicher Puffer gebildet werden, der die Umgebung der Objekte mit einbezieht (evtl. auch layerübergreifend). 11. Geocoding: Mit Geocoding ist es möglich über eine Adresse (zum Beispiel dem Straßennamen) zu einer zugehörigen Position in der Karte zu gelangen. Dafür ist natürlich ein Layer notwendig, der die entsprechenden Geodaten enthält. 12. Selektion invertieren: Eine Funktion, die es erlaubt, die komplementäre Menge zu den aktuell selektierten Kartenobjekten zu erhalten. 13. Selektion mit SQL Ausdruck: Selektion mittels eines SQL Ausdruckes, der z.B. auf ein ESRI Shapefile angewendet wird. 3.5.2.4 Attributdatenabfrage 14. Räumliche Identifikation von Objektdaten: Abfragen von Objektdaten aus der Karte heraus durch direktes Anwählen mit der Maus oder Tastatur. 15. Einfache Suche von Objektdaten: Eine Suchfunktion, die die Suche von Kartenobjekten ermöglicht. 16. Komplexe Suche mittels Query‘s: Eine Suchfunktion, die mittels eines Querybilders eine komplexere Suche mit logischen Verknüpfungen ermöglicht. In ActiveMaps existiert dafür z.B. schon eine Java Swing Komponente, die diesen Querybilder implementiert. 3.5.2.5 Layerfeatures 17. Layer aus Shapedateien: Die Fähigkeit Layer aus ESRI Shapedateien zu importieren und entsprechend verwalten und visualisieren zu können. 18. Layer aus Bilddateien: Die Möglichkeit, Bilddateien (Rasterdaten) als Layer zu importieren und entsprechend verwalten und visualisieren zu können. Seite 34 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 19. Skalierungsdifferenzierung: Abhängig vom aktuellen Maßstab werden Layer angezeigt oder ausgeblendet. In einer Erweiterung dieser Funktionalität ist es auch möglich, bestehende Layer maßstabsabhängig durch andere (z.B. durch detailreichere Layer) zu ersetzen. 20. Werteabhängige Gestaltung von Layern: Die Gestaltung einzelner Kartenteile kann in Abhängigkeit weiterer Werte gewählt werden. Z.B. werden die einzelnen Gebiete einer Landkarte entsprechend der Bevölkerungsanzahl heller oder dunkler eingefärbt. Den Farben werden dann Wertebereiche zugewiesen. 21. Variable Layertransparenz: Möglichkeit der Konfiguration, ob ein Layer teilweise durchsichtig ist oder nicht. Lediglich bei ActiveMaps konnte keine solche Möglichkeit entdeckt werden. 3.5.2.6 Datenformate / Schnittstellen 22. Export als Bild: Schreiben einer Karte als Bilddatei. 23. ArcSDE Layer: Möglichkeit der Einbindung von ArcSDE. 24. ESRI Shapefile Format: ESRI’s Standard Dateiformat für Vektordaten. 25. GML Unterstützung: Die Geography Markup Language (GML) ist ein XML Standard, der die Codierung geografischer Daten beschreibt. GML wird von dem OpenGIS Konsortium (OGC) entwickelt und von einer Reihe namhafter Firmen wie z.B. Oracle oder MapInfo unterstützt und gefördert. 26. Verteilte Kartenlokalität: Alle vier Produkte können mit verteilten Kartendaten umgehen. 27. Zugriff auf Mapserver möglich: Karten können auch von einem Kartenserver per HTTP geladen werden. 28. ArcIMS Unterstützung: ArcIMS ist ESRI’s Mapserver Lösung um Kartendaten über das Internet anzubieten. 29. Anbindung an externe Datenbank: Hier bietet JDBC die wohl flexibelste Lösung um eine Datenbank direkt anzubinden. Im Normalfall wird die GIS Lösung aber mit Daten über die NMC / DAISY Schnittstelle versorgt werden. Seite 35 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 30. Oracle Spatial: Ermöglicht den direkten Zugriff auf Oracle Spatial, einer Datenbankerweiterung, die Datentypen und Funktionen für Zugriff, Speicherung und Analyse räumlicher Daten bietet. 3.5.2.7 Sonstige Features 31. Projektmanagement stellt die Möglichkeit dar, Einstellungen oder Konfigurationen (z.B. die Aufbauorganisation einer Karte) in einem applikationsseitigen Format abzuspeichern und bei Bedarf wieder zu laden. 32. Druckfunktion: Die Möglichkeit Karten auf dem Drucker auszugeben. 33. Abstandsmessungen: Mit dieser Funktion werden Abstände und Entfernungen relativ zum verwendeten Maßstab gemessen. 34. Geometrische Operationen: Operation wie Verschneiden, Vereinigen oder die Bildung der Differenz zwischen Layern als Anwendung von Kartenalgebra, um z.B. neue Karten zu bilden oder Resultate zu extrahieren. 3.5.3 Fazit Bei den Featurepunkten ist ActiveMaps der eindeutige Verlierer mit nur 29 Punkten. Die API bietet nur elementare Basisfunktionalitäten. Des Weiteren ist es generell sehr fragwürdig, eine Klassenbibliothek zu adaptieren, die zum Stillstand gekommen ist. Ein Support von fachlicher Seite kann von Compass Informatics selbst nicht geboten werden und es wird auf eine schwach besuchte und scheinbar ausklingende Entwicklergemeinschaft verwiesen, die in einem Diskussionsforum agiert. Auf Grund dieser Eigenschaften kommt es deshalb zu einem Ausscheiden der ActiveMaps Lösung für die Prototypentwicklung. JaGo reiht sich mit 34 Featurepunkten aber mit sehr guten 7 Produktpunkten ins Mittelfeld ein. Die Produktpunkte können den geringen Funktionsumfang jedoch nicht ausgleichen. Eine Implementierung des Prototypen mit JaGo scheidet aus, da es nicht möglich ist, die fehlende Funktionalität in der beschränkten Zeit dieser Diplomarbeit aufzubauen. Die beiden Produkte GISTerm und MapObjects for Java belegen die Spitzenplätze mit 50 und 46 Punkten. Die Tabelle stellt GISTerm eindeutig als Sieger dar, die Entscheidung wird allerdings von einer Reihe weiterer Faktoren geprägt. ESRI ist ein erfahrener Marktführer im Bereich GIS. Des Weiteren können bei einer Wahl MapObjects die bereits für TechniData existierenden Lizenzen für MapObjects for Windows weiterverwendet werden. Ein drittes und sehr wichtiges Kriterium für die Entscheidung war, dass MapObjects eine Testversion für die Implementierung anbietet, disy jedoch nicht. Daraus ergibt sich schließlich eine Entscheidung für MapObjects for Java als Klassenbibliothek für die Entwicklung des GIS Prototypen. Seite 36 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4 Spezifikation des Prototypen Die folgenden zwei Kapitel beschreiben den praktischen Teils der Diplomarbeit, in welcher der Prototyp entwickelt wird. Der Prototyp soll die Möglichkeiten eines Java GIS für den Einsatz im Umfeld der Umweltmessdatenvisualisierung darstellen. Für die Entwicklung wird die MapObjects Java API der Firma ESRI verwendet. Ein Prototyp ist immer ein begrenztes und nur in den Kernkonzepten ausgearbeitetes Programm, dass die wesentlichen Probleme löst und veranschaulicht. Prototypen bilden somit keine fertigen, endgültigen Lösungen, sondern vielmehr eine Vorstufe davon. Mit der Entwicklung von Prototypen werden Möglichkeiten demonstriert. Strukturen und Zusammenhänge werden offen gelegt. Erkenntnisse über Umfang und Komplexität werden gewonnen. Dies alles bildet eine wichtige Wissensgrundlage für eine spätere Produktneuentwicklung oder eine Weiterentwicklung des Prototypen zum Produkt. 4.1 Anforderungen und Rahmenbedingungen Dieses Unterkapitel legt die Anforderungen, Rahmenbedingungen und Kernkonzepte des Prototypen fest und bildet die Grundlage für die anschließende Designphase. Der Java GIS Prototyp soll sich funktional am GIS des INES RAD Systems (s. Kapitel 3.1.2) orientieren und dieses in einem weiteren Schritt um zusätzliche Features erweitern, die mit der MapObjects API und im Rahmen der zur Verfügung stehenden Entwicklungszeit von drei Monaten realisierbar sind. 4.1.1 Einordnung des Prototyps in NMC / DAISY Abbildung 4-1: Java GIS Prototyp in NMC / DAISY (Quelle: Eigene Darstellung in Anlehnung an [NMC]) Seite 37 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Der Java GIS Prototyp soll als eigene Komponente zu den bestehenden NMC Softwarebausteinen hinzufügt werden (s. Abbildung 4.1). Im Client Tier soll Java GIS durch Menüeinträge und grafische Dialoge repräsentiert werden, die es dem Benutzer ermöglichen, Kartenkonfiguration zu erzeugen und diese Konfigurationen dann zu laden und gegebenenfalls wieder zu löschen. Im Data Access Layer sollen dem Data Access Interface die notwendigen Storeklassen hinzugefügt werden, die die Kartenkonfigurationen persistent in eigenen Datenbanktabellen verwalten. Im Business Layer befindet sich die gesamte Logik des GIS, wo z.B. die Datenstrukturen verwaltet und die MapObjects Komponenten zu einer semantischen Einheit verknüpft werden. Somit vollzieht sich die Prototypentwicklung auf allen Ebenen des Drei-Schichten-Modells von NMC / DAISY. Abbildung 4-2: NMC Präsentation Layer Oberfläche Die Abbildung 4-2 zeigt die Oberfläche von NMC, in die der Prototyp eingebettet werden soll. Neben den üblichen GUI Elementen wie Menü und Statusleiste besteht NMC außerdem noch aus einem Explorer, der links oben zu sehen ist. Der Explorer ermöglicht eine Ansteuerung der verschiedenen Knoten , die in diesem Baum hierarchisch angeordnet sind und Programme oder Datenkomponenten (wie z.B. Messstationen) repräsentieren. Jeder Knoten hat eine Menge von Kontexten, mit der beispielsweise Programmfunktionen angesteuert werden können. Wenn man auf einen Knoten mit der rechten Maustaste klickt, erscheint ein Kontextmenü, dass knotenabhängige Optionen bietet. Links unten befindet sich die Hauptauswahl, wo Messstationen per Drag and Drop aufgenommen und nach Bedarf selektiert werden können. Hier ist es auch möglich Messstationsgruppen zu bilden oder einzelne Selektionen abzuspeichern. Seite 38 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.1.2 Anwendungsfallanalyse Abbildung 4-3: Anwendungsfalldiagramm Es gibt insgesamt vier Anwendungsfälle, mit denen der Prototyp von Außen angesteuert bzw. konfiguriert wird. Der Administrator legt die Layer direkt in der Datenbank an, d.h. er registriert die Vektor- oder Rasterdateien, die von der Software später als Layer zu einer Karte zusammengefügt werden. Der Benutzer kann daraufhin mit den vorhandenen Layern eine Kartenkonfiguration erzeugen. Weiterhin kann er eine bestehende Konfiguration visualisieren und sie gegebenenfalls auch wieder löschen. Diese Anwendungsfälle repräsentieren ein solides Grundgerüst für den Prototypen, das später um weitere Fälle ergänzt werden kann. Innerhalb dieser Anwendungsfälle befinden sich selbstverständlich noch weitere Kommunikationsschnittstellen zur Messnetzsoftware, auf die später eingegangen wird. Seite 39 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Die Anwendungsfälle im Detail: Anwendungsfall Nr. 1 Anwendungsfall: Layer anlegen Akteur: Administrator Beschreibung: Der Layer wird durch einen Eintrag in eine Java GIS Datenbanktabelle erfasst. Anwendungsfall Nr. 2 Anwendungsfall: Kartenkonfiguration anlegen Akteur: Benutzer Beschreibung: Die Kartenkonfiguration wird mittels eines Dialoges erfasst. Innterhalb der Kartenkonfiguration können alle Layer (Kartenschichten), die in der Datenbank erfasst sind, verwendet werden. Nach dem Speichern erscheint die Kartenkonfiguration im NMC Explorer als Knoten. Anwendungsfall Nr. 3 Anwendungsfall: Kartenkonfiguration visualisieren Akteur: Benutzer Beschreibung: Das Kontextmenü des Kartenkonfigurationsknotens wird geöffnet und der Kontext für die Visualisierung ausgewählt. Der Java GIS Prototyp wird mit der Kartenkonfiguration geladen und dargestellt. Anwendungsfall Nr. 4 Anwendungsfall: Kartenkonfiguration löschen Akteur: Benutzer Beschreibung: Das Kontextmenü des Kartenkonfigurationsknotens wird geöffnet und der Kontext zum Löschen ausgewählt. Die Kartenkonfiguration wird aus dem NMC Baum gelöscht. Die Layer bleiben jedoch erhalten, da diese ausschließlich vom Administrator verwaltet werden. Seite 40 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.1.3 Pflichtenheft Das Pflichtenheft enthält alle gewünschten Funktionalitäten, die seitens TechniData für eine Basisimplementierung des Prototypen notwendig sind und aus den zuvor entwickelten Anwendungsfällen resultieren. Die Funktionalitäten wurden mit den technischen Möglichkeiten der MapObjects API im Vorfeld grob abgestimmt und enthalten außerdem die Kernfunktionalität des INES RAD GIS Pakets. Das Pflichtenheft unterteilt sich in zwei Teilbereiche. Zum Einen in reine GIS Funktionalität und zum Anderen in die Integration, d.h. die Verbindung des Prototypen mit NMC / DAISY. Java GIS Funktionalität 1) Visualisierung von Layern und Karten 2) Visualisierung von Legenden 3) Standardnavigationselemente für Zoom und Verschieben der Karte 4) Grafische Repräsentation von Stationspunkten 5) Speicherung der Karte als Bilddatei 6) Kontextmenü für Stationspunkte 7) Wertabhängige Visualisierung von Stationspunkten 8) Visualisierung zeitlicher Abläufe Integration des GIS Prototypen in NMC / DAISY 9) Anpassung des Prototypen an das Model-View-Controller Pattern von NMC / DAISY 10) Datenmodel zur Abspeicherung der Kartenkonfiguration 11) Storeklassen zur Abspeicherung der Kartenkonfiguration 12) Dialog für die Kartenkonfiguration 13) Austausch von Messstationsdaten über die NMC Hauptselektion 14) Abfrage von Messwerten Tabelle 4-1: Pflichtenheft des Prototypen 4.1.4 Architekturanalyse Da die zu entwickelnde Software in die bereits bestehende Messnetzapplikation NMC / DAISY integriert wird, ist es wichtig deren Architektur frühzeitig einzubeziehen. Die Integration des GIS Prototypen in NMC erfordert die Implementierung des Projektes als MVC Pattern. Die Klassen werden unterteilt in Model- und Viewklassen. Der Controller selbst wird durch den bereits existierenden NMC Navigationsbaum bereitgestellt. Dieser Controller wird durch Datenbankeinträge konfiguriert und so mit den Model- und Viewklassen verbunden. Seite 41 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.1.5 Evaluierung verschiedener Kernkonzepte Da MapObjects nur mit einigen wenigen Beispielen und einer sehr rudimentären Dokumentation verfügbar ist, stellt es sich als sinnvoll heraus, wichtige Kernkonzepte anhand eines ersten explorativen Prototypen 22 herauszuarbeiten. Mit diesem initialen Prototypen sollen die ersten Erfahrungen mit der API gewonnen werden, die sich als sehr hilfreich für die weitere Konzeption herausstellten werden. Die folgenden zwei Kernkonzepte, die für das weitere Prototypdesign von entscheidender Wichtigkeit sind, sollen hier in ausführlicher Form beleuchtet werden. 4.1.5.1 Grafische Repräsentation von Stationspunkten Die grafische Darstellung von Stationspunkten stellt eine besondere Herausforderung dar, da hierfür kein statischer Layer verwendet werden kann. Der Layer hat dynamischen Charakter, da er ständiger Veränderung ausgesetzt ist. Das Verhältnis eines persistenten Standardlayers zu diesem Stationslayer ist vergleichbar mit dem Verhältnis einer statischen HTML Seite zu einer dynamischen. Es muss also ein Weg gefunden werden, diese Stationspunkte in einer effizienten Art und Weise auf einem Layer zu vereinen, der möglichst flexibel als solcher mit MapObjects behandelt werden kann. MapObjects bietet für den Aufbau von Karten durch Layer eine umfangreiche Interface- und Klassenhierarchie. Abbildung 4-4: Layer in MapObjects (Quelle: [MapO]) Für die Implementierung bieten sich die beiden Klassen BaseFeatureLayer und BaseGraphicsLayer an (s. Abb. 4-4). 22 [Oest98], S. 146 Seite 42 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Das erste Konzept: In einem ersten Versuch wird ein BaseGraphicsLayer als Zeichenlayer in den AcetateLayer von MapObjects eingebunden. Dieser AcetateLayer wird mit dem DrawLayer assoziiert. Der DrawLayer stellt eine eigene Klasse dar, die alle Stationspunkte kapselt und somit einen geordneten Zugriff auf deren Daten ermöglicht. Der AcetateLayer ist ein transparenter Layer, der immer verwendet werden muss, wenn eine eigene Grafik über die bestehenden Layer gelegt werden soll. Auf den BaseGraphicsLayer können dann alle Stationspunkte gesetzt werden. Der DrawLayer wird als Layer der Karte hinzugefügt und die Stationspunkte sind sichtbar. Nachteil dieses Vorgehensmodells: Durch selbstständiges Hinzufügen von Punkten, ohne die Nutzung des MapObjects Layer Beans, werden diese lediglich auf der Karte angezeigt. Die Punkte werden nicht im Table of Contents in Form einer Legende dargestellt. Die grafische Repräsentation muss in diesem Fall also vollständig eigenverantwortlich verwaltet werden. Das ist leider äußerst aufwendig. Dieser gravierende Nachteil ist der Antrieb zur Evaluierung eines zweiten Konzepts, das den Nachteil des ersten Ansatzes ausräumen sollte. Das zweite Konzept: Bei diesem Konzept baut der DrawLayer nicht wie zuvor den Layer visuell auf, sondern generiert lediglich die Datenstruktur dafür. Diese Datenstruktur wird dann als temporäre ESRI Shape Datei auf die Platte geschrieben. Die API bietet dafür eine Klasse zur Erzeugung von Shape Dateien. Mit dem MapObjects Layer Bean wird dieser temporäre Layer wieder eingelesen und mit der Hauptapplikation verbunden. Dabei unterscheidet sich der generierte Layer nur in dem Punkt, das er vom Programm erzeugt wird, wohingegen die anderen Layer extern vorhanden sein müssen. Um den Layer als Datei exportieren zu können, ist es notwendig, die BaseFeatureLayer Klasse als Datencontainer zu verwenden. Hier werden Punkte als Features eingesetzt. Jede Messstation ist solch ein Featurepunkt mit einer x und y Koordinate. Seite 43 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 4-5: DrawLayer generiert temporäre Shape Datei Somit ist der DrawLayer von der direkten Visualisierung gelöst. Das Layer Bean sorgt automatisch dafür, dass der Layer mit all seinen Stationspunkten sowohl in der Kartenansicht, als auch im Table of Contents korrekt dargestellt wird. Diese Vorgehensweise arbeitet wesentlich näher am Programmiermodell der ESRI MapObjects API und sollte sich auch positiv auf zukünftige Weiterentwicklungen auswirken. 4.1.5.2 Erkennung eines Mausklicks auf einem Stationspunkt Die Einbindung der Stationspunkte in den BaseFeatureLayer und der Import in die Karte sorgen lediglich für eine korrekte Visualisierung. Ein Maussignal für das einzelne Feature wird jedoch grundsätzlich nicht bereitgestellt und ist selbst zu programmieren. Diese Möglichkeit sollte auf jeden Fall vorhanden sein um Funktionalität auf Messstationen legen zu können. Dafür muss also ein Mechanismus geschaffen werden, mit dem man die Features in der Karte erkennen kann, nachdem auf sie geklickt wurde. Jedes Feature wird durch ein Symbol auf der Karte visualisiert. Dieses Symbol repräsentiert den Koordinatenpunkt, der ohne dieses kaum zu erkennen wäre. Jedes Symbol hat eine bestimmte Symbolgröße, die in x und y Koordinaten angegeben ist. Der Benutzer möchte selbstverständlich das Feature ansteuern können, wenn er auf das Symbol klickt. Somit benötigt man einen Algorithmus, der es ermöglicht das Feature zu erkennen, wenn das Symbol an einer beliebigen Stelle angeklickt wird. Generell muss man zwischen zwei verschiedenen Koordinatenarten innerhalb der Karte unterscheiden: 1. Bildschirmkoordinaten: Das sind die Koordinaten der Karte relativ zum Bildschirm. Der Ursprung liegt in der linken oberen Ecke der Kartenansicht. Die x Koordinate bewegt sich zwischen dem linken Rand der Kartenansicht, dem Nullpunkt, und dem rechten Rand der Kartenansicht, wo der Maximalwert liegt. Die y Koordinate hat am oberen Rand ihren Seite 44 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Nullpunkt und am unteren ihr Maximum. Dieses Koordinatensystem findet sich übrigens überall, wo Bildschirmkoordinaten verarbeitet werden. 2. Weltkoordinaten: Hierbei handelt es sich um das Kartenkoordinatensystem. Im Falle eines Koordinatensystems mit Längen- und Breitengraden liegt der Nullpunkt an der Stelle, wo sich der Äquator und der Nullmeridian schneiden. Der Algorithmus berechnet einen unsichtbaren Rahmen um die Stelle, wo der Benutzer sein Maussignal ausgelöst hat. Alle Features die in diesem Rahmen liegen bilden die Ergebnismenge der gefundenen Stationspunkte. Mit den beiden genannten Koordinatensystemen muss gerechnet werden, da der Suchrahmen die gleichen Abmessungen im Weltkoordinatensystem haben muss, wie das Symbol im Bildschirmkoordinatensystem. Das muss immer gelten, egal welcher Kartenmaßstab vorliegt. Wie wird diese Bedingung hergestellt bzw. garantiert? Der unsichtbare Suchrahmen wird in folgenden Schritten aufgebaut (Pseudocode): S = Seitenlänge des Symbols in Bildschirmpixeln 1. Mausklick wird erfasst 2. Screen0 = Bildschirmkoordinate des Mausklicks 3. World0 = Weltkoordinate des Mausklicks (API Methode) 4. Screen1 = Punkt ( Screen0.X – S/2, Screen0.Y + S/2) 5. World1 = transformiere Screen1 in Weltkoordinaten (API Methode) 6. Screen2 = Punkt ( Screen1.X + S, Screen1.Y + S) 7. World2 = tranformiere Screen2 in Weltkoordinaten (API Methode) 8. DistanzX = Distanz der X Koordinaten von World1 und World2 9. DistanzY = Distanz der Y Koordinaten von World1 und World2 10. Rahmen = Rahmen zwischen Punkt (World1.X, World1.Y) und Punkt(World1.X + DistanzX, World1.Y + DistanzY) Seite 45 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 4-6: Algorithmus zur Featureerkennung Innerhalb dieses Rahmens wird mittels einer Query, die von der MapObjects API bereitgestellt wird, räumlich nach Features gesucht. Da sich der Featurepunkt immer in der Mitte des Symbols befindet, kann mit dieser Methode das Feature immer erkannt werden, egal an welcher Stelle des Symbols der User klickt. Abbildung 4-7: Beispiele für Stationspunkterkennung Das Prinzip soll abschließend noch durch zwei Beispiele demonstriert werden. Im Beispiel 1 liegt das Feature außerhalb des Suchrahmens und wird somit nicht erkannt. Das ist auch beabsichtigt, da außerhalb des Symbols geklickt wurde. Im zweiten Beispiel jedoch wird innerhalb des Symbols geklickt, der Suchrahmen schneidet sich automatisch mit dem Feature und es wird erkannt. Das Gleiche funktioniert von jeder beliebigen Seite. Seite 46 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2 Objektorientiertes Design Das objektorientierte Design schließt sich sinngemäß an die Phase der objektorientierten Analyse an. Hierzu ist allerdings anzumerken, dass dieser Übergang nicht scharf und absolut, sondern eher fließend zu sehen ist. Auch in dieser Diplomarbeit wurden bereits in der Analysephase entsprechende Design- und sogar Codeabschnitte erarbeitet, um mit den daraus gewonnen Erkenntnissen eine sinnvolle Analyse zu ermöglichen. Die Evaluierung anhand eines ersten Prototypen ist eine anerkannte Vorgehensweise, um die notwendigen Erkenntnisse zu sammeln. 4.2.1 UML Klassendiagramme Alle hier aufgeführten UML Klassendiagramme sind mit der Rational Rose Professional J Edition entstanden. Das Klassendiagramm wurde zu Gunsten der Übersicht auf mehrere Grafiken verteilt, die hier zwar getrennt beschrieben aber dennoch in einem gemeinsamen Kontext zu sehen sind. Um die Zusammenhänge besser erfassen zu können, wurde wichtige Klassen in mehreren Teilmodellen verwendet. Seite 47 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2.1.1 Hauptapplikation Die Hauptapplikation besteht im Wesentlichen aus den beiden Klassen MapShowFrame und MapShowFrameUI. MapShowFrame muss von der NMC Klasse BasicInternalFrame die Methode setModel() erben, da nur so eine erfolgreiche Einbindung in das NMC Framework möglich ist. Das MapConfigurationModel wird dem MapShowFrame dann zugewiesen. Die MapShowFrameUI Klasse ist lediglich eine Auslagerung der UI-Elemente 23 dar, was ausschließlich der Übersicht dient. Hier werden alle grafischen Elemente in den Frame für die Visualisierung der Kartenkonfiguration 24 gesetzt. Der DrawLayer stellt in dieser GUI Klasse das Hauptelement dar und wird im Anschluss erläutert. Abbildung 4-8: UML Klassendiagramm der Hauptapplikation 23 24 User Interface Elemente Siehe Anwendungsfall Nr. 3 in Kapitel 4.1.2 Seite 48 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2.1.2 DrawLayer Der DrawLayer ist wohl die wichtigste Komponente des Prototypen. Er verwaltet den dynamischen Layer durch Exportieren der entsprechenden ESRI Shape Datei und den anschließenden Rückimport in die Karte der Hauptapplikation. Er verwaltet die Kartenfeatures (Stationspunkte) in einem Vektor aus GISFeature Objekten 25. Abbildung 4-9: UML Klassendiagramm des DrawLayer Diese GISFeature Objekte repräsentieren intern die Messstationen und bestehen im Wesentlichen aus einer MeasureLocation (also der Position der Messstation) und einer ValueSeries (einer Messwertmenge). Somit kann für jeden Punkt eine genaue Koordinate und 25 Leider kann diese Beziehung von Rational Rose im Klassendiagramm nicht dargestellt werden. Der Grund dafür ist der statische Charakter des Klassendiagramms. Da die GISFeatures zur Laufzeit in den Vector eingefügt werden, besteht in der statischen Sichtweise des Klassendiagramms keine Beziehung zwischen dem Vector und des GISFeatures. Seite 49 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten eine Reihe von Messwerten gespeichert werden. Die Messwertreihe repräsentiert damit einen zeitlichen Abschnitt, in dem z.B. jeder Wert einer 10 Minuten Messung entspricht. Der DrawLayer implementiert einen Observer, da die Klasse bei jeder Änderung der Messstationen eine Erneuerung der temporären Shapedatei veranlassen muss um die Aktualität zu bewahren (s. Abb. 4-5). Der DrawLayer implementiert außerdem einen MouseListener, um beim Klick auf ein Feature im Layer reagieren zu können. Eine mögliche Variante auf ein solches Event zu reagieren ist ein sog. PopupMenü. Wenn der Benutzer mit der rechten Maustaste auf das Symbol einer Messstation klickt, erscheint ein Menü, mit der er die Station entfernen oder Stationsdaten abfragen kann. Dieses Menü soll als Beispiel umgesetzt werden (s. Klasse FeaturePopupMenu). Die zwei Toolbars der Applikation arbeiten ebenfalls eng mit dem DrawLayer zusammen. Mit der SelektionToolBar Klasse können die Stationspunkte grafisch ausgewählt werden, um beispielsweise in einem nächsten Schritt eine Gruppenoperation durchzuführen. Die TimeToolbar schließlich soll die Visualisierung der zeitlichen Abläufe ermöglichen und verfügt über einen Mechanismus, den angezeigten Messwert des GISFeatures zu variieren und den Refresh des DrawLayers auszulösen. Durch das Design dieser beiden Klassen ist diese Toolbar gut zu adaptieren. Seite 50 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2.1.3 Kartenkonfigurations- und Modelklassen Die Kartenkonfiguration folgt den Model-View-Controller Pattern, welcher von der Messnetzzentrale NMC vorgeschrieben wird. Das MapConfiguationModel stellt das Modell dar, dass vom MapConfigurationFrame als View assoziiert wird. Diese View ist eine zusammengesetzte GUI, die aus drei weiteren Panels besteht (SubPanelName, SubPanelVersion und SupPanelLayerChoose). Diese Aufteilung wurde vorgenommen, um ein möglichst hohes Maß an Wiederverwendung innerhalb der GUI Entwicklung zu ermöglichen. Die ersten beiden Panels waren bereits vorhanden und bieten Standard GUI Komponenten zur Erfassung von Grunddaten. Die SubPanelLayerChooser Klasse soll ein grafisches Frontend für die Aufnahme der gewählten Layer bieten. Die MapShowFrame Klasse ist ebenfalls mit dem Modell assoziiert, da für die Visualisierung die Layerdaten ebenfalls benötigt werden. Abbildung 4-10: UML Klassendiagramm der Kartenkonfiguration mit Modellklassen Seite 51 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2.1.4 Storeklassen Abbildung 4-11: UML Klassendiagramm der Storeklassen Die Storeklassen stellen die Persistenz der Kartenkonfiguration sicher und sorgen für den Datenaustausch zwischen den Modelklassen und den Datenbanktabellen, die nachfolgend beschrieben werden. Für jede Datenbanktabelle existiert genau eine Storeklasse. Des Weiteren existieren zwei Modellklassen, die wiederum einen festen Bezug zu den Storeklassen besitzen. Die nachfolgende Tabelle soll diese Zuordnungen deutlicher machen: Modellklasse LayerSource Storeklasse LayerSourceStoreJdbc LayerSourceCollectionStoreJdbc MapConfigurationModel Datenbanktabelle JGIS_LAYER JGIS_DIALOGMODEL _ASSO MapConfigurationModelStoreJdbc JGIS_DIALOGMODEL Tabelle 4-2: Zuordnung von Modellklassen, Storeklassen und DB-Tabellen Die beiden ersten Storeklassen bieten genau eine read, eine write und eine remove Methode. Die LayerSourceStoreJdbc benötigt lediglich eine read Methode, da die Layer applikationsseitig nicht gelöscht werden. 26 Die MapConfigurationModelStoreJdbc ist die einzige vom System angetriggerte Klasse, die nach dem Ausführen der eigenen Arbeit die anderen Storeklassen nutzt um die LayerSource Modelle zu laden. 26 Siehe Kapitel 4.1.2 Seite 52 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 4.2.2 Datenmodel der Kartenkonfiguration Das Datenmodell ermöglicht es, Kartenkonfigurationen in der Datenbank abzubilden, welche von den Storeklassen gelesen und geschrieben werden. Die Tabelle JGIS_LAYER wird ausschließlich vom Administrator benutzt um Karten zu registrieren und enthält den Vorrat an verfügbaren Karten, die der Benutzer für seine Kartenkonfiguration einsetzten kann. Jeder Layer verfügt über eine eindeutige Identifikation, einen Namen, eine Beschreibung und einen Pfadnamen, der auf die Layerdatei zeigen muss. Die Tabelle JGIS_DIALOGMODEL bildet das MapConfigurationModel ab und enthält alle Informationen für die Identifizierung des Models, wie z.B. die Bezeichung der Konfiguration und die ID des Erstellers. Die JGIS_DIALOGMODEL_ASSO Tabelle assziiert die beiden zuvor beschriebenen Tabellen durch jeweils einen Fremdschlüssel und ermöglicht somit, dass eine Kartenkonfiguration beliebig viele Layer der Layertabelle enthalten darf. Durch den kombinierten Primary Key aus den beiden Feldern DIALOGMODEL_ID und ORDER_ID ist es möglich, mehrmals den gleichen Layer zu zuordnen, wobei die ORDER_ID die Stelle beschreibt, in der der Layer in die Karte gelegt wird 27. Abbildung 4-12: Datenmodell zur Speicherung der Kartenkonfiguration 27 ORDER_ID = 5 bedeutet somit, dass der Layer an fünfter Stelle in der Karte erscheint und beispielsweise den Layer Nr. 4 grafisch überlagert. Seite 53 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 5 Implementierung Die Teilimplementierungen des explorativen Prototypen der Analysephase können zum Teil übernommen werden und bilden den ersten Kern der Applikation. Das sind vor allem die GUI Klassen zum struktuellen Aufbau der Visualisierungsoberfläche (MapShowFrame und MapShowFrameUI) und die evaluierten Mechanismen aus Kapitel 4.1.5 in der DrawLayer Klasse. Ausgehend von diesem Kern werden die Klassen sukzessive erweitert und um die Klassen der Designphase ergänzt. Die nachfolgenden Unterkapitel beschreiben den finalen Entwicklungsstand nach Codierungsende. 5.1 Implementierung der logischen Klassen 5.1.1 Modelklassen LayerSource und MapConfigurationModel Die beiden Klassen LayerSource und MapConfigurationModel stellen die Modellklassen für die Kartenkonfiguration dar. LayerSource ist ein reiner Datencontainer, der lediglich die Layerdaten, (wie z.B. Name und Pfad der Layerdatei) hält und mit Get und Set Methoden Zugriff darauf bietet. Im MapConfigurationModel wird ein LayerSource Vector gehalten. Mit der Methode getStoreName wird die Beziehung zur Storeklasse hergestellt, wie sie in Tabelle 4-2 veranschaulicht ist. 5.1.2 DrawLayer und GISFeature Die DrawLayer Klasse stellt die umfangreichste Klasse des Prototypen dar. In ihr sind die interessantesten Konzepte vereinigt. Die Mausklickerkennung auf den Stationspunkten wurde in Kapitel 4.1.5.2 ausführlich erklärt und konnte von dem ersten Prototypen übernommen werden. Dem ist nichts mehr hinzuzufügen. Der DrawLayer hat vier weitere Aufgaben, die nachfolgend beschrieben werden. 5.1.2.1 Synchronisation mit der Hauptselektion Der DrawLayer besitzt eine einzige Schnittstelle für den Datenaustausch von Messstationen und Messwerten. Das ist die Hauptselektion von NMC (siehe Kapitel 4.1.1). Die im DrawLayer enthaltenen Messstationen sollen stets synchron zu denen in der Hauptselektion vorhandenen Stationen sein. Aus diesem Grund ist der DrawLayer ein Observer der Hauptselektion und wird folglich angetriggert, wenn sich etwas in der Seite 54 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Hauptselektion ändert. Alle Messstationen, für die Messwerte existieren und in der Hauptselektion vorhanden sind, werden in den DrawLayer importiert und entsprechend den Einstellungen visualisiert. Alle Messstationen, für die Messwerte existieren und in der Hauptselektion markiert werden, sind auch im DrawLayer selektiert. Die Methode updateFromMainSelection, die entweder direkt aus der Applikation oder über die überschriebene update Methde des Observers aufgerufen wird, regelt diese Synchronisationsrichtung. Das gleiche gilt auch für die entgegengesetzte Richtung und wird von der Methode updateToMainSelection durchgeführt. Diese Methode wird jedoch ausschließlich von den Prototyp Klassen aufgerufen und ist kein Bestandteil der Observer Implementierung. 5.1.2.2 Grafische Repräsentation von Stationspunkten Die grafische Repräsentation der Messstationspunkte wird, wie bereits in Kapitel 4.1.5.1 beschrieben, vom Layer Bean übernommen. Die Methode refreshDrawLayer wird immer gerufen, wenn ein solcher Reimport gewünscht wird. Diese Methode entfernt den vorhandenen BaseFeatureLayer aus der Karte. Sie ruft die Methode exportFile, die die GISFeatures als neue temporäre ESRI Shape Dateien 28 exportiert und die vorherigen überschreibt. Die Shape Dateien auf der Festplatte stellen somit immer die aktuelle Konfiguration der Messstationen im GIS Prototypen dar. In der shp Datei werden die Stationspunkte abgelegt und in der dbf Datei die zugehörigen Messwerte. Die Export Methode legt den Wert ab, den die getValue Methode von GISFeature zurückgibt. GISFeature verwaltet intern einen Index, der zwischen den Feldgrenzen der Messwertreihe liegt. Somit wird immer die aktuelle Position gespeichert. Diese Vorgehensweise ist notwendig um unterschiedliche Messungen einer Messstation visualisieren zu können. Die Methode importFile fügt diese Datei sehr einfach wieder als neuen BaseFeatureLayer in die Karte ein und verknüpft sie mit den bereits bestehenden Einstellungen 29. Somit bleibt die Darstellung auch nach einer Aktualisierung erhalten und geht nicht verloren. Ein Stationspunkt wird am Anfang durch ein einfaches, farbiges Quadrat dargestellt, welches dann vom Benutzer in vielfältiger Art und Weise angepasst werden kann. Durch Einsatz des PropertyDialog Beans ist es möglich jeden Shape Layer, und somit auch den DrawLayer, in seinem Aussehen zu verändern. Symbole können in ihrer Größe, Farbe und Form verändert werden. Die Darstellung kann für jedes Feature gleich oder abhändig von ihrem Wert variieren. 28 Das sind drei Dateien, die den gleichen Namen tragen und sich nur in den Dateiextensionen unterscheiden. Die shp Datei enthält die geografischen Elemente, die shx Datei ist eine Indexdatei für die Verwaltung und die dbf Datei enthält Datensätze, mittels derer Daten zu den geografischen Elementen zugewiesen werden können. Durch den gleichen Namen vor der Dateiextension erkennt MapObjects die Zugehörigkeit. Siehe auch [http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf], Seite 2. 29 Einstellungen werden über sogenannten Renderer realisiert. Mit ihnen kann man die Darstellung von Features individuell anpassen. Renderereinstellungen beziehen sich z.B. auf Farbe, Form oder die Transparenz der Symbole. Mit einem Labelrenderer können die Beschriftungen der Messstationen konfiguriert werden. Seite 55 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Zum Abschluss erhält die Karte selbst noch einen Refresh, um sicher zu gehen, dass sie auch neu gezeichnet wird. 5.1.2.3 Verwaltung der Stationspunkte als GISFeature Objekte Alle Stationspunkte werden als GISFeature Objekte verwaltet, wobei der DrawLayer in dieser Beziehung als Containerklasse arbeitet und Methoden zum Hinzufügen, Prüfen und Löschen solcher Objekte bietet. Jedes dieser Objekte repräsentiert eine DrawLayer interne Messstation. Lediglich die Koordinaten, der Name und der aktuelle Messwert (Messwert auf den der GISFeature Index zeigt) werden für den Export des temporären Layers benötigt. Es wurde so festgelegt, da es möglich sein soll, neben dem reinen Punkt auch den Namen der Station und des Messwert visualisieren zu können. Bei der Visualisierung werden die Features durch den Import der temporären Daten automatisch gewonnen. Jeder Punkt ist also genau zweimal vorhanden. Einmal visuell im Layer Bean in der Karte und einmal als GISFeature Objekt im DrawLayer. Die angereicherte interne Repräsentation der Messstationen als GISFeatures ist für den Überblickscharakter der TimeToolBar notwenig. Für die Visualisierung ist der aktuell sichtbare Bereich allerdings ausreichend. Dies soll auch Resourcen schonen. Wenn bei jedem Refresh z.B. nicht ein Messwert pro Station, sondern 1000 reimportiert werden würden, würde das sicher zu einem Performanceproblem führen. 5.1.2.4 Laden einer ValueSeries aus der Datenbank Beim Aufbau eines GISFeature Objektes wird auch die ValueSeries 30 geladen. Dies geschieht in der loadValues Methode durch den Einsatz der NMC eigenen ClientConnector Klasse, die unter Nutzung der Storeklassen des NMC Datenmodells die ValueSeries extrahiert. Der ClientConnector arbeitet mit einem MeasureLocation Objekt, einem MeasuringSelector Objekt und zwei Zeitstempeln, die den Beginn und das Ende der Messreihe definieren. Für den Prototypen wird die Parametrierung des MeasuringSelection Objekts fest mit einer Konfigurationsdatei definiert. Die Konfigurationsdatei enthält die Einstellungen für die Messung von Gamma Strahlung als 10 Minuten Mittelwerte. Als Zeitstempel werden ebenfalls zwei feste Daten eingesetzt. Als Resultat liefert er nach mehreren Schritten ein Wertearray, dass die Messwerte der Station bei dieser Parametrierung enthält. Dabei handelt es sich um ein eine Zahlenreihe. Diese Zahlenreihe wird zusammen mit dem MeasureLocation Objekt und einem Index dazu genutzt, das GISFeature Objekt aufzubauen und im DrawLayer Container abzulegen. Der Index legt fest, welcher Wert momentan visualisiert wird und wird später noch eingehender im Zusammenhang mit der TimeToolBar erläutert. Existieren keine Werte für eine Station, weil z.B. für die Zeitperiode keine Messungen vorliegen, wird die Messstation auch nicht in den DrawLayer übernommen. 30 Siehe auch Kapitel 4.2.1.2 unten Seite 56 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 5.1.3 Storeklassen Die drei Storeklassen MapConfigurationModelStoreJdbc, LayerSourceCollectionStoreJdbc und LayerSourceStoreJdbc sichern die Persistenz des Konfigurationsdialogs. In den Storeklasse wird die bisher abstrakte Handhabung der Datenbank konkretisiert. Die Datenbanktabellen und Felder sind hier als Zeichenketten hinterlegt und werden entsprechend für den Zugriff genutzt. Die Storeklassen bauen die einzelnen SQL Anweisungen zum Schreiben, Lesen und Entfernen von Konfigurationen auf. Beim Zugriff auf die Daten werden an den notwenigen Stellen Transaktionsbereiche mit Hilfe von Java Try-Catch Blöcken eingerichtet. Dies wird z.B. beim Ausführen einer SQL Anweisung nötig. Sollte die Anweisung scheitern, wird eine SQLException ausgelöst, welche daraufhin zum letzten konsistenten Datenbankstatus zurückkehrt 31. 5.2 Implementierung der grafischen Klassen 5.2.1 MapConfigurationFrame und SubPanelLayerChooser Das MapConfigurationFrame bildet die grafische Schnittstelle des zweiten Anwendungsfalles, mittels dessen der User in der Lage ist Kartenkonfigurationen anzulegen. Abbildung 5-1: MapConfigurationFrame mit SubPanelLayerChooser Die Umsetzung des MapConfigurationFrames erfolgt durch das Zusammensetzen dreier Panels, die in der Grafik jeweils mit einem schwarzen Rand umrissen sind. Die zwei oberen Panels (SubPanelName und SubPanelVersion) sind bereits fester Bestandteil von NMC. Der untere Panel (SubPanelLayerChoose) ist eine Eigenentwicklung nach dem Vorbild der beiden 31 Das ist ein sogenannter Rollback. Seite 57 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten anderen. Mittels des „Add layer...“ Buttons können neue Layer zur Kartenkonfiguration hinzugefügt werden. Bestehende Layer können außerdem markiert und durch Drücken des „Remove layer ...“ Buttons entfernt werden. Im Prototyp wird nach dem Betätigen des „Add“ Buttons immer ein fester Satz Layer aus der Datenbank hinzugefügt. Diese fest codierte Verhaltensweise kann später durch einen weiteren Dialog ausgebaut werden. Dieser Dialog könnte es ermöglichen, bestehende Layer der Datenbank darzustellen. Der User könnte dann aus dem Portfolio an verfügbaren Layern frei auswählen und sich so seine Konfiguration zusammenstellen. 5.2.2 FeaturePopupMenu und PropertyDialog Diese beiden grafischen Komponenten veranschaulichen den Gebrauch der Stationspunkterkennung im DrawLayer. Das FeaturePopupMenu wird aufgerufen, wenn ein Stationspunkt im DrawLayer erfolgreich erkannt wird und dabei die rechte Maustaste gedrückt wurde. Abbildung 5-2: FeaturePopupMenu Dieses Menü bietet lediglich zwei Optionen, die einen demonstrativen Charakter haben. Der Punkt kann aus dem DrawLayer entfernt werden (Option Delete). Des Weiteren können Informationen über die Station dargestellt werden (Option Properties), wofür der PropertyDialog eingesetzt wird. Seite 58 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 5-3: PropertyDialog Dieser Dialog stellt die wichtigsten Daten dar, die im zugehörigen GISFeature Objekt abgelegt sind. Dies sind u.a. der Name der Station und die Liste der ausgelesenen Messwerte. 5.2.3 SelektionToolBar Die SelectionToolBar ist eine GUI Komponente, die die drei wichtigsten grafischen Selektionstools der MapObjects API enthält und im Prototyp fest mit dem DrawLayer verknüpft ist. Somit können die Stationspunkte elegant selektiert werden. Abbildung 5-4: SelectionToolBar Bei der Auswahl einer der drei möglichen Buttons wird eine LayerSelect Instanz erzeugt. Dieses Objekt setzt nach Abschluss der Operation die Selektionsmenge im DrawLayer neu und triggert dessen Abgleich mit der Hauptselektion an. Dies bedeutet, dass alle im DrawLayer selektierte Messstationen auch in der Hauptselektion markiert werden. 5.2.4 TimeToolBar Die TimeToolBar Klasse führt eine neue Dimension in die bisher statische Struktur des GIS Prototypen ein und erweitert die Visualisierung um ein neues Element – die Zeit. Seite 59 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 5-5: TimeToolBar Da eine Messstation bei der Integration im DrawLayer intern durch ein GISFeature Objekt dargestellt wird und, unter anderem, die vollständige Messwertreihe enthält, kann mit dieser Toolbar darin navigiert werden. Da ein Messwert automatisch einer bestimmten Zeit 32 zugeordnet ist, entspricht diese Navigationsmöglichkeit somit einer Zeitachse, in der man sich bewegen kann. Die Symbole auf der Toolbar lassen schon intuitiv darauf schließen, was sie zu leisten vermag. Die Bedeutungen von links nach rechts sind: 1. Schneller Rücklauf (Button 1) 2. Eine Messung zurück (Button 2) 3. Anzeige der aktuellen Position (hier bei der Initialisierung noch leer) (Textfeld) 4. Eine Messung weiter (Button 3) 5. Schneller Vorlauf (Button 4) 6. Stop (anwendbar bei 1 und 5) (Button 5) Beim Klick auf Button 2 bzw. Button 3 wird das usedValue Attribut sämtlicher GISFeature Objekte um eins vermindert bzw. erhöht und ein DrawLayer Refresh ausgelöst. Auf diese Art kann dann manuell durch den ganze Messreihe geblättert werden. Beim Klick auf Button 1 bzw. Button 4 wird ein Thread gestartet, der dies automatisch in einem vordefiniertem Zeitabstand durchführt und somit eine Art Diashow initiiert. Im Halbsekundentakt wird dann der Messwert gegen den vorherigen bzw. nächsten (falls vorhanden) ausgetauscht und ein DrawLayer Refresh ausgelöst. Diese Thread läuft kann mit Button 5 unterbrochen werden. Das Textfeld zeigt die aktuelle Position in der Messreihe an. 5.2.5 MapShowFrame und MapShowFrameUI Die beiden Klassen MapShowFrame und MapShowFrameUI enthalten fast alle Komponenten und stellen die GUI Visualisierung des 3. Anwendungsfalles dar 33. Hier werden die implementierten und die MapObjects Komponenten in einer gemeinsamen grafischen Oberfläche verknüpft. 32 33 Im Prototyp durch die feste Parametrierung von 10 Minuten Mittelwerten sind es somit 10 Minuten. Siehe Kapitel 4.1.2 Seite 60 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 5.3 Datenbankeinträge zur Visualisierung im NMC Explorer Um die Applikationsschnittstellen im NMC Explorer sichtbar zu machen, ist es notwendig, die Model und View Klassen mit den entsprechenden Datenbankeinträgen zu registrieren. Tabellenname REF_CLASSES Funktion Hier wird eine eindeutige Klassenidentifikation mit dem Klassenpfad verknüpft. Es wird weiterhin festgelegt, ob es sich bei der Klasse um ein Modell oder ein Frame (View) handelt. NMC nutzt diese Tabelle um für die automatische Objekterzeugung die richtige Klasse aufzufinden. REF_OBJECTS Hiermit werden Kontexte im Explorer gruppiert. REF_CONTEXT Hier wird der Knoten im Baum angelegt. Ein Knoten entspricht einem Kontext. Dieser Kontext wird mit einer eindeutigen ID angelegt und mit einer Klasse verbunden. Damit „kennt“ das System die aufzurufende Klasse, wenn ein bestimmter Kontext im Baum gewählt wird, und kann sie über REF_CLASSES finden. REF_CONTEXTITEMS Mittels dieser Tabelle werden die hierarchischen Beziehungen innerhalb der Kontexte definiert und aufgebaut. Es gibt Vater und Kindkontexte. Hier wird z.B. der Kartenkonfigurationskontext mit dem DAISY Kontext verbunden. Das Resultat ist dann, dass beim Aufruf des Kontextmenüs am Explorerknoten DAISY der Kontext erscheint, mittels dessen man den Dialog zur Kartenkonfiguration aktivieren kann. Tabelle 5-1: NMC Datenbankeinträge Nachdem alles richtig eingetragen ist, sind, nach einem Neustart der NMC Applikation, alle applikationsseitigen Anwendungsfälle (Anwendungsfall 2-4) über den NMC Explorer ansteuerbar. Seite 61 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 5.4 Review des Pflichtenheftes Ein Blick in das Pflichtenheft verrät, dass alle gewünschten Anforderungen an den Prototypen erfolgreich umgesetzt werden konnten. Java GIS Funktionalität 1) Visualisierung von Layern und Karten 2) Visualisierung von Legenden 3) Standardnavigationselemente für Zoom und Verschieben der Karte 4) Grafische Repräsentation von Stationspunkten 5) Speicherung der Karte als Bilddatei 6) Kontextmenü für Stationspunkte 7) Wertabhängige Visualisierung von Stationspunkten 8) Visualisierung zeitlicher Abläufe Integration des GIS Prototypen in NMC / DAISY 9) Anpassung des Prototypen an das ModelView-Controller Pattern von NMC / DAISY 10) Datenmodel zur Abspeicherung der Kartenkonfiguration 11) Storeklassen zur Abspeicherung der Kartenkonfiguration 12) Dialog für die Kartenkonfiguration 13) Austausch von Messstationsdaten über die NMC Hauptselektion 14) Abfrage von Messwerten Status Umgesetzt im ersten Prototypen und übernommen in die MapShowFrameUI Klasse. Umgesetzt im ersten Prototypen und übernommen in die MapShowFrameUI Klasse. Umgesetzt durch Verwendung vorhandener MapObjects Beans in der MapShowFrameUI Klasse. Umgesetzt in der DrawLayer Klasse. Umgesetzt im der Klasse MapShowFrameUI. Die aktuell dargestellte Karte kann als Jpeg Grafik abgelegt werden. Umgesetzt mit der Klasse FeaturePopupMenu. Umgesetzt mit der GISFeature Klasse als Datenstruktur und dem LayerPropertyBean der MapObjects API. Umgesetzt mit der TimeToolBar. Umgesetzt in Design und Implementierung. Umgesetzt mit drei Datenbanktabellen. Umgesetzt mit den drei Storeklassen: MapConfigurationModelStoreJdbc, LayerSourceCollectionStoreJdbc und LayerSourceStoreJdbc. Umgesetzt mit der Klasse MapConfigurationFrame. Umgesetzt mit den Methoden updateFromMainSelection und updateToMainSelection in der DrawLayer Klasse. Umgesetzt mit der loadValues Methode in der DrawLayer Klasse. Tabelle 5-2: Review des Pflichtenheftes Ein Screenshot des Java GIS Prototypen ist auf der nächsten Seite dargestellt. Seite 62 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Abbildung 5-6: Java GIS Prototyp Screenshot Seite 63 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 6 Zusammenfassung und Ausblick Die Diplomarbeit hat gezeigt, welche Möglichkeiten Java basierte geografische Informationssysteme bieten. Nach einem einführenden Kapitel in die allgemeine Thematik der GIS wurde eine umfangreiche Produktanalyse durchgeführt, die den Markt der verfügbaren Java GIS Klassensammlungen für die Applikationsentwicklung beleuchtete. Mittels einer Grobanalyse wurde die Menge potentieller Softwarelösungen auf vier Produkte eingeengt. Die Feinanalyse bestand aus einem umfangreichen Test, der sowohl die Produktqualitäten, als auch die funktionale Leistungsfähigkeit abprüfte. Die Basis für diese Featureliste wurde durch die vorherige Evaluierung bestehender Messnetz GIS Lösungen gebildet. Unterstützt von dem Ergebnis der Feinanalyse konnte das Produkt gewählt werden, das die Anforderungen für die anschließende Prototypentwicklung erfüllen sollte – MapObjects für Java. Im vierten Kapitel wurden die Rahmenbedingungen für den Prototypen mittels objektorientierter Analyse und Design gelegt. Ein explorativer Prototyp war notwendig um eine ausreichende Wissensgrundlage für ein gutes Design aufzubauen. Die Erkenntnisse daraus waren sehr hilfreich für den weiteren Verlauf der Planungsphase und konnten mit Teilen in die spätere Implementierung übernommen werden. Der junge Produktstatus forderte oft zeitaufwendige Detailrecherchen über interne Funktionszusammenhänge. Das Pflichtenheft konnte vollständig umgesetzt werden und der Java GIS Prototyp wurde neben sein Grundfunktionalität auch vollständig in die bestehende Messnetzzentrale NMC / DAISY eingebunden. Der Prototyp veranschaulicht verschiedene Visualisierungsmöglichkeiten für Umweltmessdaten. Neben der Standarddarstellung von Messstationen beherrscht er eine werteabhängige Messwertdarstellung, die zudem noch über einer Zeitperiode manuell oder automatisch iteriert werden kann. Eine gewinnbringende Integration, was ursprüngliche Motivation für den Prototypen war, wurde auf diese Weise gezeigt. Die Erkenntnisse über die MapObjects Klassensammlung sollen nachfolgend in einem extra Abschnitt zusammengefasst werden. 6.1 Bewertung der MapObjects Java API Nach einer Prototypdesign und -implementierungszeit von etwa 3 Monaten konnten mit der MapObjects Java API einige Erfahrungen gesammelt werden. Diese Erfahrungen werden an dieser Stelle für eine Bewertung der API herangezogen. 6.1.1 Pro 1. Reichhaltiger Funktionsumfang: Die Klassensammlung bietet reichhaltige Möglichkeiten für die Implementierung vielfältiger GIS Funktionen. Ein umfangreiches Portfolio an grafischen und funktionalen Komponenten steht ebenso zu Verfügung wie zahlreiche durchdachte Datenstrukturen für viele Aufgaben, die bei der Entwicklung einer GIS Applikation auftreten. Seite 64 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 2. Zukunft: Eine Weiterentwicklung 34 der API wird nach offiziellen Angaben durchgeführt. 3. Einige Beispiele: Einige gut gemachte kleine Beispiele halfen über die ersten Hürden der Applikationsentwicklung hinweg und konnten einige Zusammenhänge klar machen. 6.1.2 Contra 1. Schlechte Produktdokumentation: Bei Analyse, Design und Implementierung traten oft Probleme auf, die auf Grund der schlechten Dokumentation nur unter großem Zeitaufwand gelöst werden konnten. Die JavaDoc Klassenbeschreibung enthält meist nur rudimentäre Einträge und hinterlässt ein herbes Gefühl von Unreife. 2. Keine Alternativdokumentation: Es gibt weder Bücher von ESRI noch von anderen Autoren. Es konnten weiterhin auch keine externen Dokumentationsquellen gefunden werden. 3. Bug im LayerPropertyBean: Das LayerProperty Bean liefert bei der Auswahl von Icons als Symbolvisualisierung immer eine 0 als Symbolgröße, ganz gleich, was man gewählt hat. Hier handelt es sich um einen Bug der sich folglich auch im GIS Prototyp wiederfindet. 4. Keine Koordinatentransformationen: Die Klassensammlung bietet zum aktuellen Zeitpunkt noch keinerlei Funktionalität um eine Koordinatentransformation durchzuführen. Es können also nur Layer verwendet werden, die bereits im korrekten Koordinatensystem vorliegen. Messstationspunkte müssten in das jeweilige Koordinatensystem durch eigene Algorithmen umgerechnet werden, was einen erheblichen Aufwand darstellt. Abbildung 6-1: Fehlende Unterstützung von Koordinatentransformationen (Quelle: http://forums.esri.com/Thread.asp?c=9&f=1193&t=69344&mc=10) 34 Siehe Abbildung 6-1, wo von einer Betaversion der Version 2.0 gesprochen wird. Seite 65 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 6.1.3 Fazit: Pro MapObjects Java Trotz der leicht überwiegenden Contra Punkte, halte ich die MapObjects Java API für die richtige Wahl zur Erstellung von Java basierten GIS Applikationen zur Visualisierung von Umweltmessdaten. Viele Probleme bei der Arbeit mit der MapObjects Java API wurden im Rahmen dieser Diplomarbeit gelöst. Der Sourcecode des Prototypen 35 und die hier vorliegende Dokumentation bilden ein solides Fundament für weitere Projekte und mildern den unvollendeten Dokumentationsstand der API. Der Arbeitsaufwand für zukünftige Projekte wird sich deshalb stark vermindern und es ermöglichen Applikationen schneller zu entwickeln. 6.2 Ausblick Dieser Abschnitt umfasst alle Ideen, die innerhalb der Diplomarbeit leider nicht realisierbar waren, aber dennoch genannt werden sollten. Die Gedanken könnten für zukünftige Weiterentwicklungen des Prototypen im Bereich der Visualisierung von Umweltmessdaten eingesetzt werden. 6.2.1 Schnittstellenerweiterungen Der GIS Prototyp besitzt momentan lediglich die Schnittstelle zur Hauptselektion über die er Stationsdaten erhält und mittels derer Messwerte extrahiert. Für die bessere Zusammenarbeit mit anderen NMC Komponenten wäre es hilfreich weitere Schnittstellen einzurichten um eine GIS Darstellung auch aus einer anderen NMC Komponente antriggern zu können. Eine Schnittstelle könnte sogar soweit flexibilisiert werden, dass eine vollständige Automation der GIS Einheit mögliche wäre. Realisieren könnte man dies durch eine Wrapperklasse, die eine Konfiguration von Außen (Eingabe) entgegennimmt. Die Klasse könnte mittels einer Schnittstelle Methoden zur externen Ansteuerung verschiedener Funktonen anbieten und die internen Komponenten entsprechend steuern (Verarbeitung). Das Resultat könnte als Bild oder ESRI Shape Datei zurückgegeben werden (Ausgabe). 6.2.2 Verbesserung der Konfigurierbarkeit Es wäre wünschenswert, die Konfigurationsmöglichkeiten einer Karte stark zu erweitern. So könnte man z.B. Messstationen vordefiniert in einer Konfiguration ablegen, was das manuelle Hinzufügen zur Hauptselektion ersparen würde. Sinnvoll wäre auch Kartenvisualisierungsoptionen (z.B. Symboleigenschaften) in einer Konfiguration zu speichern, um nicht nach jedem Laden der Karte alles neu setzen zu müssen. 35 mit seinen etwa 3300 Zeilen dokumentiertem Quellcode Seite 66 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten 6.2.3 Automatische Generierung von Bildern Die TimeToolBar könnte mit der Methode zur Bildgenerierung gekoppelt werden. Die so erzeugten Momentaufzeichnungen könnten auf vielfältige Art und Weise weiterverarbeitet werden. Die Bilder könnten zur Generierung von Reports genutzt werden. Mit dem Einsatz von XML wären hinsichtlich Flexibilität keine Grenzen gesetzt. Somit könnten z.B. für verschiedene Kunden angepasste HTML Webseiten generiert werden. Es wäre möglich, Reports per Email zu verschicken oder die Darstellung NMC intern, z.B. bei einer Alarmmeldung, als geeignete Visualisierung zu verwenden. 6.2.4 Automatische Generierung einer Animation Sobald eine Bilderreihe für einen bestimmten Zeitraum verfügbar ist, wäre es auch denkbar, mittels eines entsprechenden Tools eine GIF89 Animation 36 zu erzeugen, um sie z.B. auf einer Webseite darzustellen. 36 Anschauliche Beispiele darüber finden sich auf [http://www.geogr.unijena.de/~p6taug/demviewer/demv.html] Seite 67 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Literaturverzeichnis [DAISY] TechniData DAISY Produktbeschreibung [MapO] MapObjects Java Hilfe [NMC] TechniData ENVINET-NMC Produktbeschreibung [Frit94] Fritsch, Dieter: Raumbezogene Informationssysteme und digitale Geländemodelle, C.H. Beck, 1994 [Goep87] Göpfert, Wolfgang: Raumbezogene Informationssysteme, Karlsruhe 1987 [Oest98] Oestereich, Bernd: Objektorientierte Softwareentwicklung. Analyse und Design mit der Unified Modeling Language, 4. Auflage, Oldenbourg, München u.a. 1998 [Saur97] Saurer, Helmut; Behr, Franz-Josef: Geografische Informationssysteme. Eine Einführung, Darmstadt 1997 [Wilk86] Wilkinson, G.G. et. al: Review of Integrated Geo-Information Systems Techniques. A Study on Integrated Geo-Information Systems (Final Report on ESA Contract No. 6084/84/D/JS/SC), 1986 Seite 68 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Internetquellen Compass Informatics, http://www.compass.ie/geoshop/categories/devtools-index.html, 10.05.2002 DEMViewer, http://www.geogr.uni-jena.de/~p6taug/demviewer/demv.html, 03.05.2002 disy – Produkte – disy GISTerm, http://www.disy.net/de/Produkte/disy_GISterm/index.html, 10.05.2002 ESRI Shapefile Technical Description, http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf, 25.08.2002 GIS in Internet und Intranet – Technologie, Einsatzmöglichkeiten und Perspektiven, http://gio.uni-muenster.de/beitraege/ausg97_2/stahl/stahl.htm, 17.06.2002 GISToolkit, http://gistoolkit.sourceforge.net, 03.05.2002 JaGo, http://katla.giub.uni-bonn.de/jago, 10.05.2002 MapObjects Java Standard Edition, http://www.esri.com/software/mojava/index.html, 10.05.2002 TechniData AG, http://www.technidata.de, 21.08.2002 THREADS - ESRI Discussion Forums, http://forums.esri.com/Thread.asp?c=9&f=1193&t=69344&mc=10, 27.08.2002 VisAD Home Page, http://www.ssec.wisc.edu/~billh/visad.html, 03.05.2002 What is GIS?, http://www.gis.com/whatisgis/index.html, 05.04.2002 WIGeoGIS, http://www.wigeogis.com, 21.08.2002 Seite 69 von 70 Diplomarbeit: Geografische Informationssysteme zur Visualisierung von Umweltmessdaten Eidesstattliche Erklärung Ich erkläre hiermit an Eides Statt, dass ich die vorliegende Diplomarbeit selbstständig und ohne unzulässige fremde Hilfe angefertigt habe. Die verwendeten Quellen und Hilfsmittel sind vollständig zitiert. Furtwangen, den 28.08.2002 ________________________ Ralf Bierig Ralf Bierig Hoher Baum 3 D-74747 Ravenstein Seite 70 von 70