diplomarbeit am ikg - Institut für Kartographie und Geoinformatik
Transcrição
diplomarbeit am ikg - Institut für Kartographie und Geoinformatik
diplomarbeit am ikg Andreas Adam Entwicklung eines Fahrradtouren-Navigationssystems für Pocket PCs Betreuer: Dipl.-Ing. Birgit Elias Prüfer: Prof. Dr.-Ing. habil. Monika Sester Erklärung I Erklärung Ich versichere, dass ich die vorstehende Arbeit selbstständig und ohne fremde Hilfe angefertigt und mich anderer als der im beigefügten Verzeichnis angegebenen Hilfsmittel nicht bedient habe. Alle Stellen, die wörtlich oder sinngemäß aus Veröffentlichungen entnommen wurden, sind als solche kenntlich gemacht. ....................................……. Andreas Adam Hannover, 25. April 2004 Vorwort II Vorwort Die vorliegende Arbeit entstand während meines Studiums der Geodäsie und Geoinformatik am Institut für Kartographie und Geoinformatik der Universität Hannover. Infolge der komplexen zu behandelnden Thematik - der Umsetzung eines computergestützten Navigationssystems für Fahrradtouren - ist der Inhalt breit über viele Themen gefächert. Die aufgestellten Konzepte und Implementierungen wurden so gestaltet, dass sie sich problemlos auf andere ähnlich ausgerichtete Systeme übertragen lassen und als Ausgangspunkt für weiterführende Arbeiten in den einzelnen Teilbereichen herangezogen werden können. Danken möchte ich besonders Dipl.-Ing. Birgit Elias für die wissenschaftliche Betreuung der Arbeit und der Bereitstellung leistungsfähiger Hard- und Software-Elemente sowie eines umfassenden ATKIS-Basisdatenbestands. Prof. Dr.-Ing. habil. Monika Sester danke ich für die Evaluierung meiner Arbeit. Dank gebührt auch der LGN, die sämtliche, zur anwendungsspezifischen Implementierung erforderliche POI-Daten zur Verfügung gestellt hat. Für das Durchlesen dieser Arbeit und für die fachlichen und stilistischen Korrekturen gilt mein Dank Dipl.-Ing. Olga Gitlein und Studienassessor Markus Lentz. Des Weiteren bedanke ich mich bei meinen Eltern und meiner Familie, die mich auf all meinen bisherigen Wegen vorbehaltlos unterstützt haben. Abschließend möchte ich mich bei allen Personen bedanken, die durch konstruktive Kritik oder Beisteuerung guter Ideen zum Gelingen dieses Projekts beigetragen haben. III Inhaltsverzeichnis Inhaltsverzeichnis Erklärung................................................................................................................................I Vorwort ..................................................................................................................................II Inhaltsverzeichnis ................................................................................................................ III Abkürzungsverzeichnis ........................................................................................................ VI Darstellungsverzeichnis.....................................................................................................VIII 1 Einleitung.......................................................................................... 1 2 Fahrradtouren-Navigationssystem................................................... 3 2.1 Funktionalität..................................................................................................3 2.2 Anforderungen................................................................................................6 2.2.1 2.2.2 Hardware -Anforderungen................................................................... 6 Software -Anforderungen..................................................................... 7 2.3 Entwicklungsstand.........................................................................................7 2.4 Aktuelle Probleme und Forschungsbedarf.............................................10 3 Standardformate............................................................................. 11 3.1 HTML .............................................................................................................11 3.2 XML ................................................................................................................14 3.3 SVG .................................................................................................................17 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 Allgemein ............................................................................................. 17 Koordinatensystem............................................................................. 17 Syntax .................................................................................................. 17 Formen, Texte und Rastergraphiken ............................................... 18 Styling und graphische Effekte ......................................................... 19 Animation und Interaktivität ............................................................ 19 Bearbeitungssoftware ......................................................................... 20 Viewer.................................................................................................. 21 3.4 CSS ..................................................................................................................21 4 Ausrüstung...................................................................................... 24 4.1 HP iPAQ H5450............................................................................................24 4.1.1 4.1.2 4.1.3 Merkmale ............................................................................................ 24 Bedienung ............................................................................................ 26 Softwareprogrammierung ................................................................. 27 4.2 Holux GM-270 CF........................................................................................27 4.2.1 4.2.2 Grundlagen von GPS ......................................................................... 27 Merkmale ............................................................................................ 29 Inhaltsverzeichnis 5 IV Entwicklungsumgebung.................................................................. 31 5.1 ArcView 3.2....................................................................................................31 5.1.1 5.1.2 5.1.3 5.1.4 Einführung in GIS .............................................................................. 31 Struktureller Aufbau.......................................................................... 32 Bedienung ............................................................................................ 32 Avenue ................................................................................................. 35 5.2 EditPlus2 ........................................................................................................35 5.3 eMbedded Visual Basic...............................................................................36 5.3.1 5.3.2 5.3.3 Einführung .......................................................................................... 36 Bedienung ............................................................................................ 37 Erstellung von Programmen............................................................. 38 5.4 JavaScript ......................................................................................................39 6 Konzeption des Fahrradtouren-Navigationssystems ...................... 43 6.1 Allgemeine Konzeption...............................................................................43 6.2 Konzeption der Daten-Komponente ........................................................45 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 Geometriedaten................................................................................... 45 Sachdaten ............................................................................................ 47 Graphikdaten...................................................................................... 49 Integration der Tour- und der Standort-Daten............................... 50 Optimierung ........................................................................................ 51 Entwicklung ........................................................................................ 54 6.3 Konzeption der User-Interface-Komponente ........................................56 6.4 Konzeption der Visualisierungs-Komponente.......................................58 6.5 Konzeption der Positions-Komponente...................................................58 7 Anwendungsspezifische Implementierung...................................... 60 7.1 Ausgangsszenario.........................................................................................60 7.2 Entwicklung der Daten-Komponente ......................................................60 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 Generalisierung der ATKIS-Daten................................................... 61 7.2.1.1 Auswahl ................................................................................. 61 7.2.1.2 Klassifizierung....................................................................... 62 7.2.1.3 Zusammenfassung ................................................................. 63 7.2.1.4 Vereinfachung ....................................................................... 64 7.2.1.5 Symbolisierung...................................................................... 65 Graphische Gestaltung der ATKIS-Daten....................................... 66 Integration von Objektbeschriftung ................................................. 67 Integration der Tour-und der POI-Daten........................................ 69 Entwicklung der hybriden Kartengraphik ...................................... 71 7.2.5.1 Allgemein .............................................................................. 71 7.2.5.2 Geometriedaten...................................................................... 72 7.2.5.3 Graphikdaten ......................................................................... 73 Entwicklung der rasterbasierten Kartengraphik ............................ 76 Integration der Positionsangabe ....................................................... 77 Inhaltsverzeichnis V 7.3 Entwicklung der User-Interface-Komponente ......................................81 7.3.1 7.3.2 Benutzeroberfläche ............................................................................. 81 Interaktionen....................................................................................... 82 7.4 Entwicklung der Positions-Komponente ................................................83 8 Systemtest....................................................................................... 86 9 Bewertung....................................................................................... 89 10 Zusammenfassung und Ausblick.................................................... 92 Anhang................................................................................................................................. 94 Quellenverzeichnis............................................................................................................... 96 Abkürzungsverzeichnis Abkürzungsverzeichnis AdV Akku AOI API ATKIS Baud Bit BMP C/A-Code CF CSS PC DIN DKM DLM DOM DSK DTD ECMA eSVG eVB eVT GGA GIF GIS G-K GML GPS GSA GSV GUI HTML Internet ISO JPEG LBS LCD LED LGN MB MHz NMEA Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder der BRD Akkumulator Area of Interest Application Programming Interface Amtliches Topographisch-Kartographisches Informationssystem Bit/Sekunde Binary digit Bitmap Clear/Acquisition-Code Compact Flash Cascading Style Sheets Personal Computer Deutsche Industrie Norm Digitales Kartographisches Modell Digitales Landschaftsmodell Document Object Modell Digitale Straßenkarte Document Type Definition European Computer Manufacturers Association embedded Scalable Vector Graphics eMbedded Visual Basic eMbedded Visual Tools GPS Fix Data Graphics Interchange Format Geographisches Informationssystem Gauß-Krüger Geography Markup Language Global Positioning System GPS Dilution of Precision and Active Satellites GPS-Satellites in View Graphical User Interface Hypertext Markup Language International Network International Standardisation Organisation Joint Photographers Expert Group Location Based Services Liquid Cristal Display Light Emitting Diode Landesvermessung und Geobasisinformation Niedersachsen Megabyte Megahertz National Marine Electronics Association VI Abkürzungsverzeichnis OK OOP P-Code PDA PERL PHP Pixel PNG POI px RAM RMC ROM SD SGML SK SMIL SVG TK TXT UMTS URL USB VB W3C WGS-84 WWW WYSIWYG XML Objektartenkatalog Objektorientierte Programmierung Precision- oder Protected-Code Personal Digital Assistant Practical Extraction and Report Language PHP: Hypertext Preprocessor Picture Element Portable Network Graphics Points of Interest Pixel Random Access Memory Recommended Minimum Specific GPS Data Read Only Memory Secure Digital Standard Generalized Markup Language Signaturenkatalog Synchronized Multimedia Integration Language Scalable Vector Graphics Topographische Karte Text Universal Mobile Telecommunications System Uniform Resource Locator Universal Serial Bus Visual Basic World Wide Web Consortium World Geodetic System 1984 World Wide Web What You See Is What You Get eXtensible Markup Language VII Darstellungsverzeichnis VIII Darstellungsverzeichnis Darstellung 2-1: Skalierung von Vektor- und Rastergraphik. ............................................... 5 Darstellung 2-2: Benutzeroberfläche des Fahrradroutenplaners Fahrradies. ........................ 8 Darstellung 2-3: Fahrradcomputer naviiON. ......................................................................... 9 Darstellung 2-4: Mobiles Navigationssystem Thales Navigation Magellan SporTrak. ........ 9 Darstellung 3-1: SGML als Basis von HTML..................................................................... 11 Darstellung 3-2: XML als Teilmenge von SGML. .............................................................. 14 Darstellung 3-3: XML-Baumstruktur. ................................................................................. 16 Darstellung 3-4: SVG- Rendering mit eSVG-Viewer 1.6 und 2.0 auf iPAQ H5450. .......... 21 Darstellung 4-1: Technische Daten HP iPAQ H5450. ........................................................ 25 Darstellung 4-2: HP iPAQ H 5450. ..................................................................................... 26 Darstellung 4-3: GPS-Raumsegment................................................................................... 28 Darstellung 4-4: GPS-Positionsbestimmung. ...................................................................... 29 Darstellung 4-5: GPS-Empfänger Holux GM-270 CF. ....................................................... 29 Darstellung 4-6: Technische Daten Holux GM-270 CF...................................................... 30 Darstellung 5-1: ArcView 3.2 Projekt-Fenster. ................................................................... 33 Darstellung 5-2: ArcView 3.2 Oberfläche. .......................................................................... 33 Darstellung 5-3: ArcView 3.2 Script-, Diagramm-, Tabellen- und Layoutfenster.............. 34 Darstellung 5-4: EditPlus2-Benutzeroberfläche. ................................................................. 36 Darstellung 5-5: eVB 3.0-Entwicklungsoberfläche............................................................. 38 Darstellung 6-1: Aufbau des Fahrradtouren-Navigationssystems. ...................................... 43 Darstellung 6-2: Drei-Komponentenmodell für Objektarten. ............................................. 44 Darstellung 6-3: Spaghetti- Datenmodell ............................................................................. 45 Darstellung 6-4: Verbindungen zwischen Geometrie-, Graphik- und Sachdaten. .............. 46 Darstellung 6-5: Layerkonzept in SVG. .............................................................................. 47 Darstellung 6-6: Semantisches Modell. ............................................................................... 48 Darstellung 6-7: Graphische Gestaltung von Geometrie-Daten. ......................................... 49 Darstellung 6-8: Integration von Tour und Position in die Daten-Komponente. ................ 50 Darstellung 6-9: Hybride Kartengraphik mit sich überlagernde Teilgraphiken. ................. 52 Darstellung 6-10: Hybride Kartengraphik mit benachbarten Teilgraphiken. ...................... 53 Darstellung 6-11: Graphiken im Fahrradtouren-Navigationssystem................................... 54 Darstellung 6-12: Generierung der Datenkomponente. ....................................................... 54 Darstellung 6-13: Generalisierung des Datenbestands. ....................................................... 56 Darstellung 6-14: Benutzeroberfläche der User-Interface-Komponente............................. 57 Darstellung 6-15: Datenmodifikation der Positions-Komponente. ..................................... 59 Darstellung 7-1: Originärer Datenbestand ohne Beschriftung mit Interessengebiet. .......... 61 Darstellung 7-2: Datenbestand ohne Beschriftung nach der Datenauswahl........................ 62 Darstellung 7-3: Klassifizierung von Objekten. .................................................................. 63 Darstellung 7-4: Zusammenfassung von Flächenobjekten einer Objektklasse. .................. 64 Darstellung 7-5: Linienglättung mit Douglas-Peuker-Algorithmus. ................................... 65 Darstellung 7-6: Symbolisierung von Flächenobjekten. ..................................................... 65 Darstellung 7-7: Graphische Gestaltung der generalisierten ATKIS-Daten. ...................... 66 Darstellung 7-8: Behandlung von Objektbeschriftung. ....................................................... 67 Darstellungsverzeichnis IX Darstellung 7-9: Beschriftung von Gemeindestraßen. ......................................................... 69 Darstellung 7-10: Kartenausschnitt mit Tour- und POI-Daten. ........................................... 70 Darstellung 7-11: HTML-Datei mit POI-Sachinformationen. ............................................ 70 Darstellung 7-12: Eingabemaske des ArcView-Scripts Theme to SVG. ............................ 71 Darstellung 7-13: Aufbau der hybriden Kartengraphik für die Tour 149 ........................... 72 Darstellung 7-14: Legende der hybriden Kartengraphik. .................................................... 75 Darstellung 7-15: Hybride Kartengraphik der Daten-Komponente. ................................... 76 Darstellung 7-16: Rastergraphik der Daten-Komponente. .................................................. 77 Darstellung 7-17: SVG und ϕ,λ-Koordinatensystem. ......................................................... 78 Darstellung 7-18: Benutzeroberfläche von KSDTrans. ....................................................... 79 Darstellung 7-19: Wiedergabe der Standortangabe in der Kartengraphik........................... 80 Darstellung 7-20: Benutzeroberfläche des Fahrradtouren-Navigationssystems.................. 81 Darstellung 7-21: Programmlayout der Positions-Komponente GPSLog. .......................... 83 Darstellung 7-22: Benutzeroberfläche der Positions-Komponente GPSLog. ..................... 84 Darstellung 8-1: Zoomstufen des Fahrradtouren-Navigationssystems................................ 87 Darstellung 8-2: Startpunkt des GeoLife Fahrradtourenvorschlags 149. ............................ 88 Darstellung 9-1: Wiedergabe von Flächenobjekten mit Umrandung auf Gridgrenze. ........ 89 Darstellung 9-2: Wiedergabe von Beschriftungs-Objekten nahe Gridgrenze. .................... 90 1 Einleitung 1 1 Einleitung Computergestützte Navigationssysteme haben sich längst in der Fahrzeugführung, der Schiffsführung sowie in anderen Bereichen bewährt und erfüllen eine Vielzahl an Aufgaben. Standortbestimmung, Streckenplanung und Streckenverfolgung sind hierfür nur einige Beispiele. Bisher wurden entsprechende Systeme aufgrund ihres relativ hohen Platzund Energiebedarfs überwiegend fest in eine Plattform, exemplarisch ein Kraftfahrzeug, eingebaut. Heute ergeben sich mit der Entwicklung transportabler, leistungsfähiger Endgeräte und Module neue Möglichkeiten, einem breiten Publikum mobile, komprimierte sowie kostengünstige Navigationslösungen zur Verfügung zu stellen. Neue Nutzergruppen sind beispielsweise Fahrradfahrer oder Fußgänger. Die Akzeptanz in der jeweiligen Zielgruppe wird durch eine individuelle Systemanpassung hinsichtlich Informationsgehalt und Informationswiedergabe erhöht. Der aktuelle Trend auf dem Gebiet der mobilen Navigation geht zur Verwendung von standortbezogenen Diensten, sogenannten Location Based Services (LBS) hin. Diese nutzen Informationen über die aktuelle Position eines mobilen Endgeräts (PDA, Handy, etc.), um dem Anwender, basierend auf den Standortkenntnissen, individuelle Dienstleistungen und Geo-Daten anzubieten [VOLKMER & WALDENMAIER, 2003]. Dazu muss die transportable Einheit über eine Ortungs-Komponente, zum Beispiel einen GPSReceiver, und über eine Datenübertragungs-Komponente, zum Beispiel ein UMTS-Modul, verfügen. Mit einer anwendungsspezifischen Realisierung entsprechender Systeme beschäftigen sich unter anderem die europäischen Projekte „Geospatial info-mobility service by real-time data-integration and generalisation“, kurz GiMoDig [GIMODIG, 2004], „Public Safety &Commercial Info Mobility Applications & Services in the Mountains“, kurz PARAMOUNT [PARAMOUNT, 2004], und WebPark [WEBPARK, 2004]. Einen Nachteil von LBS stellt die erforderliche kostenverursachende Datenverbindung dar, wodurch die Technologie für einige Zielgruppen mobiler Navigationssysteme wenig attraktiv erscheint. Ziel der vorliegenden Arbeit ist die konzeptionelle und prototypische Entwicklung eines transportablen, effizienten sowie zuverlässigen Navigationssystems für Fahrradtouren. Das Konzept geht grundsätzlich von der Tourplanung beziehungsweise Tourauswahl an einem stationären Personalcomputer aus. Dadurch wird, im Gegensatz zu LBS-Systemen, keine mobile Verbindung zu einem Server benötigt. Die für die ausgewählte Tour benötigten raumbezogenen Informationen werden mit anderen Systemdaten auf einen GPS-gestützten PDA übertragen. Der PDA, als primäre Systemeinheit, wird während der Fahrradtour mitgeführt und liefert eine standortabhängige visuelle Situationsbeschreibung. Sämtliche vorgestellte Methoden und Implementierungen lassen sich auch auf andere, ähnlich ausgelegte Projekte übertragen. Für die zweckmäßige Konzeption und Entwicklung des Navigationssystems sind als erstes die Funktionalitäten, die Anforderungen und der momentane Entwicklungsstand in Kapitel 2 formuliert. Davon ausgehend werden die gewählten Datenformate (Kapitel 3), Hardware- 1 Einleitung 2 Komponenten (Kapitel 4) sowie Entwicklungsumgebungen (Kapitel 5) vorgestellt. Den konzeptionellen Aufbau des Systems und einzelner Systembestandteile beschreibt Kapitel 6. Anschließend erfolgt die anwendungsspezifische Implementierung der entworfenen Strategien anhand des GeoLife Fahrradtouren-Vorschlags 149 „Maschsee-Route zur Expo“ [GEOLIFE, 2004] (Kapitel 7). Durch einen Systemtest wird geprüft, inwiefern das erstellte Navigationssystem den Nutzeransprüchen entspricht (Kapitel 8). In Kapitel 9 findet die Bewertung der verwendeten Konzepte und System-Komponenten statt. Zuletzt gibt Kapitel 10 eine kurze Zusammenfassung und einen Ausblick für die behandelte Thematik. 2 Fahrradtouren-Navigation 3 2 Fahrradtouren-Navigationssystem Die traditionelle analoge Karte kann den individuellen Ansprüchen des Anwenders nur noch teilweise entsprechen. Besonders der touristische Bereich des Radwanderns macht diese Position deutlich. Analoge Produkte finden hier überwiegend mobile Verwendung und erweisen sich oft als unhandlich und unkomfortabel. Zum Beispiel erschweren Witterungsbedingungen (Regen, Wind, etc.) den Gebrauch. Darüber hinaus ist die Karteninterpretation für den Nutzer, in der Regel ein Tourist, keine triviale Angelegenheit. So treten unter anderem Probleme bei der aktuellen Standortbestimmung innerhalb der Karte auf. Aufgrund des mangelnden Platzangebots repräsentieren Analogkarten lediglich grundlegende Informationen. Detaillierte Auskünfte (Adressen, Ansichten, Beschreibungen, etc.) über Touristenattraktionen, Hotels oder Gaststätten sind, sofern vorhanden, in einer externen Kartenbeilage aufgeführt. Als Beispiel ist hier die Freizeitkarte der LGN 1 zu nennen. Möchte also der Nutzer mehr Informationen über bestimmte Kartenobjekte erhalten, muss er ein sekundäres Produkt heranziehen. Konkurrenzfähige Alternativen zur herkömmlichen Radwanderkarte stellen computerbasierte Navigationssysteme dar. Primäres Anliegen dieser Systeme ist die Standortbestimmung sowie das „Routing“ (Wegführung). Daneben können sie Entscheidungsfindungen des Anwenders durch weitere raumbezogene Informationen unterstützen. Denkbar sind exemplarisch Auskünfte über Position, Art und Öffnungszeit einer standortnahen Gaststätte. Der Vorteil dieser Lösungen liegt folglich in der Möglichkeit, zusätzliche Funktionalitäten zu integrieren und dem Nutzer eine individuell angepasste Komplettlösung anzubieten. Während sich Fahrzeug-Navigationssysteme bereits etabliert haben, ist das Angebot an speziell auf Fahrradtouren angepassten Systemen begrenzt. Tendenzen weisen aber darauf hin, dass sich die Situation in den nächsten Jahren, nicht zuletzt wegen des großen Marktpotentials von FahrradtourenNavigationssystemen sowie der technischen Weiterentwicklung im Hard- und Softwarebereich, deutlich verbessern wird. Das Kapitel stellt zunächst die erforderlichen Funktionalitäten eines Fahrradnavigationssystems zusammen und beschreibt darauf aufbauend die Anforderungen an einzelne Systemkomponenten. Danach wird der momentane Entwicklungsstand auf dem Gebiet der Fahrradnavigation analysiert und der sich daraus ergebende Forschungs- und Entwicklungsbedarf formuliert. 2.1 Funktionalität Voraussetzung für das Betreiben eines Navigationssystems auf dem Fahrrad sind kompakt konstruierte, leistungsfähige Hardware-Bestandteile. Als mobiles Endgerät empfiehlt sich 1 Landesvermessung und Geobasisinformation Niedersachsen. 2 Fahrradtouren-Navigation 4 ein PDA2 mit Hardware-Schnittstelle, der durch spezielle im Fachhandel erhältliche Adapter am Fahrrad-Lenker befestigt wird. Die Schnittstelle dient dem Anschluss der Positionierungskomponente, in der Regel ein GPS-Receiver. Dieser liefert geographische Standortkoordinaten, die auf das Bezugssystem WGS-84 bezogen sind. Das System erfordert einen umfangreichen, detaillierten Datenbestand. Einerseits begrenzt sich die Nutzung von Fahrrädern nicht allein auf Straßen, so dass auch andere befahrbare Objekte (Wege, Plätze, Wohngebiete, etc.) von Interesse sind. Andererseits liegt der Verwendungsschwerpunkt von Navigationssystemen, neben der Wegbeschreibung, auf der Übermittlung von Objektcharakteristiken. Ein Tourist benötigt beispielsweise zusätzliche Objektinformationen, um sich ein präzises Bild von der Streckenattraktivität machen zu können. Ausführliche Geo-Informationen haben zudem den positiven Nebeneffekt, die Orientierung für den Nutzer zu erleichtern und steigern somit die Anwenderfreundlichkeit. In Anlehnung an die digitale Straßenkarte 1:10000 (DSK10) der LGN mit ausführlichem Wegenetz und sehr gut lesbaren Straßennamen ist es zweckmäßig, auch für die Fahrradnavigation Karten im Maßstab 1:10000 einzusetzen und auf diese Weise dem geforderten hohen Detaillierungsgrad angemessen zu entsprechen. Zur Präsentation von Geo-Informationen hat sich die Verwendung kartographischer Gestaltungsmittel in analogen Produkten als sehr sinnvoll erwiesen und spielt auch im mobilen Sektor eine bedeutende Rolle [BUZIEK, 2002]. Digitale Karten sind für ein niveauvolles Navigationssystem obligatorisch. Neben den gespeicherten Geo-Daten zeigen sie zudem den aktuellen Standort an. Da prinzipiell das GPS-Bezugssystem WGS-84 vom Karten-Bezugssystem, wie zum Beispiel Potsdam Datum/Rauenberg, abweicht, setzt die Integration der Position eine Koordinatentransformation voraus. Der große Nachteil mobiler Endgeräte ist das kleine Display mit einer exemplarischen Auflösung von 240 x 320 Pixel. Dieses kann den räumlichen Überblick und die großen Orientierungszusammenhänge nur teilweise und unter Einbeziehung dynamischer Vorgänge (Zoomen, Verschieben, etc.) sicherstellen [KELNHOFER, 2002]. Aufgrund der notwendigen Dynamik eignen sich für Darstellungszwecke in erster Linie vektorbasierte Graphiken, die Objekte mit Hilfe von Grundstrukturen (Punkt, Linie, Polygon) wiedergeben. Gegenüber den aus gleichförmigen Grundelementen (Pixel) aufgebauten Rastergraphiken besitzen sie den Vorteil auf Skalierungen ohne optische Qualitätsveränderungen zu reagieren (Darstellung 2-1). 2 PDA ist die Abkürzung für Personal Digital Assistant. 2 Fahrradtouren-Navigation Vektor- bzw. Rastergraphik im Original 5 Rastergraphik im Maßstab 2:1 Vektorgraphik im Maßstab 2:1 Darstellung 2-1: Skalierung von Vektor- und Rastergraphik. Damit ein Anwender die Dynamik steuern beziehungsweise mit der Kartengraphik kommunizieren kann, bedarf es kartographischer Interaktionen. Diese erlauben das Auswählen verschiedener Kartenausschnitte und unterschiedlicher Maßstäbe (Pan und Zoom) sowie die Gewinnung von Zusatzinformationen [GARTNER, 2000]. Vorstellbar ist zum Beispiel das Aufrufen einer Adresse durch Anklicken des entsprechenden Gebäudes. Eine spezielle Form der Interaktion, das adaptive Zoomen, ermöglicht die Anpassung des kartographischen Datensatzes (Informationsgehalt, Informationsdichte, etc.) an den Kartenmaßstab [BRÜHLMEIER, 2000]. Insbesondere auf mobilen Displays wird diese Methode notwendig, um dem Nutzer eine nahezu gleichbleibende Kartenqualität bereitzustellen. Da der Anwender generell keine Hand für die Eingabe von Befehlen frei hat (Hände am Fahrrad-Lenker), muss die notwendige manuelle Systembedienung während des Fahrradfahrens durch geeignete Funktionalitäten minimiert werden. Zum Beispiel kann die automatische Zentrierung der Kartengraphik mit Bezug auf den aktuellen Standpunkt eine manuelle Nachführung des Kartenausschnitts vermeiden. Visuelle Schnittstelle für Interaktionen ist die graphische Benutzeroberfläche, kurz GUI3 . Wegen des mangelnden Flächenangebotes auf Kleindisplays konkurriert die graphische GUI-Gestaltung mit der Darstellung von Kartengraphik [BUZIEK, 2002]. GUIs sollten daher platzsparend angelegt sein, ohne die Bedienung zu erschweren. Des Weiteren steigert eine einfach gehaltene, möglichst selbsterklärende Benutzerführung die Akzeptanz des Navigationssystems. Zusammenfassend sind in einem Fahrradtouren-Navigationssystem folgende wesentliche Funktionalitäten inbegriffen: 1. Bestimmung der GPS-Standortkoordinaten und Transformation dieser in das Kartenbezugssystem, 3 GUI steht für Graphical User Interface. 2 Fahrradtouren-Navigation 6 2. Integration und Visualisierung der Position innerhalb der Kartengraphik in Echtzeit, 3. Generierung von Routen unter differierenden Aspekten (kürzester Weg, schnellster Weg, Streckenattraktivität, etc.), 4. Visualisierung der Tour, 5. Effiziente, vektorbasierte Darstellung detaillierter Geo-Daten im Maßstab 1:10000, 6. Standortbezogene touristische Anfragen (Sehenswürdigkeiten, Hotels, etc.), an Points Of Interest, kurz POI 7. Integration einer kompakten, anwenderfreundlichen Benutzeroberfläche, 8. Integration grundlegender Interaktionen: Zoom, Pan, GPS ON/OFF, 9. Adaptive Zoomfunktionalität, 10. Möglichst wenig Bedienung des Systems durch den Anwender während einer Fahrradtour. Auf die komplexe Thematik der Routenplanung und -berechnung wird im Rahmen dieser Arbeit nicht eingegangen. Eingehende Charakteristiken der Problematik veranschaulicht exemplarisch BÄR (2002). 2.2 Anforderungen Wie bereits erwähnt, soll ein Fahrradtouren-Navigationssystem eine Vielzahl an Aufgaben erfüllen. Die Anforderungen an die Hard- und Software lassen sich aus den im vorherigen Abschnitt beschriebenen Funktionalitäten ableiten. 2.2.1 Hardware-Anforderungen Mobile Navigationssysteme stellen hohe Ansprüche an die einzelnen, kompakt gehaltenen Hardwarebestandteile. Angesichts des Einsatzes im Außenbereich unterliegen sie unterschiedlichsten Witterungsbedingungen und Belastungen. Aus diesem Grund ist eine Resistenz gegenüber Regen, Temperaturveränderungen oder Erschütterungen für alle Komponenten verbindlich. Für den reibungslosen Systemablauf (Datenverwaltung, Systemsteuerung, etc.) wird eine leistungsfähige Zentraleinheit (z.B. PDA) vorausgesetzt. Je größer die Prozessor- und Speicherkapazität ist, desto niveauvoller präsentiert sich das Navigationssystem. Damit ein Anwender die diversen graphischen Objekte auf dem Display jederzeit eindeutig identifizieren kann, muss dieses eine Farbtiefe von mindestens 8 Bit (256 Farben) unterstützen und nahezu unempfindlich gegenüber Veränderungen der Lichtverhältnisse oder des Blickwinkels sein. 2 Fahrradtouren-Navigation 7 Bei der Auswahl der GPS-Systemkomponente hat die Kompatibilität zur Zentraleinheit und der darauf installierten Software höchste Priorität. Darüber hinaus erfordert die genaue Standortbestimmung in Echtzeit eine hohe Aktualisierungsrate (ca. 1 Hz) und eine Positionsgenauigkeit im Meter-Bereich. Das größte Problem einer mobilen Einheit ist die Energieversorgung. Fahrradtouren dauern generell mehrere Stunden, so dass eine Betriebsdauer von mindestens 5 Stunden abzusichern ist. Da dem komplexen Navigationssystem ein hoher Energieverbrauch zugrunde liegt, kommen nur hochwertige Akkumulatoren (Akku) als Energiequelle in Betracht. Nachfolgend werden die elementaren Anforderungen an die Hardware aufgelistet: 1. Resistenz der Komponenten gegenüber Umwelteinflüssen, 2. Leistungsfähige Zentraleinheit mit Schnittstelle für GPS-Receiver, 3. Resistenz des Farb-Displays gegenüber Betrachtungswinkel und Lichteinfall, 4. Hohe Aktualisierungsrate und ausreichende Positionierungsgenauigkeit des GPSEmpfängers, 5. Gewährleistung einer Betriebsdauer von mindestens 5 Stunden durch Verwendung eines hochwertigen Akkus. 2.2.2 Software-Anforderungen Anforderungen an die Software basieren auf der Implementierungsart des FahrradtourenNavigationssystems. Durch Festlegung der Programmierumgebung, die Programmiersprachen und Standardformate beinhaltet, definiert der Entwickler alle für den fehlerfreien Programmablauf notwendigen Software-Bedingungen. Das in dieser Arbeit vorgestellte Navigationssystem ist für die Nutzung auf einem mobilen Endgerät, vorzugsweise dem PDA, ausgerichtet und beansprucht folgende SoftwareKomponenten: 1. Betriebssystem Microsoft Windows CE, 2. SVG-Viewer, zum Beispiel Intesis eSVG-Viewer, 3. HTML-Viewer, zum Beispiel Microsoft Pocket Internet Explorer. 2.3 Entwicklungsstand Dieser Abschnitt soll einen Eindruck über den Entwicklungsstand von FahrradtourenNavigationssystemen vermitteln sowie die Stärken und Schwächen einzelner Lösungsstrategien der derzeitig auf dem Markt erhältlichen Produkte für die Fahrradnavigation aufzeigen. 2 Fahrradtouren-Navigation 8 Internet-basierte, GIS-gestützte Fahrradroutenplaner wie das in Darstellung 2-2 abgebildete Fahrradies [FAHRRADIES , 2001] ermöglichen die Tourplanung und -gestaltung über das World Wide Web (WWW). Der Anwender kann aus vorgegebenen Routenvorschlägen wählen oder mit Hilfe der vielfältigen Werkzeuge eine individuelle Tour zusammenstellen. Druck- und Speicheroptionen gewähren die Mitnahme der Ergebniskarte in analoger oder digitaler rasterbasierter Form. Für die Nutzung reicht ein Internet-Browser aus, so dass theoretisch ein Zugriff über mobile internetfähige Plattformen erfolgen kann. Entscheidender Nachteil dieser Methode ist die fehlende Positionierungskomponente, wodurch der Anwender auch weiterhin die Aufgabe der Standortbestimmung und Kartenorientierung übernehmen muss. Darstellung 2-2: Benutzeroberfläche des Fahrradroutenplaners Fahrradies. Hochentwickelte Fahrradcomputer, wie zum Beispiel der naviiON [NAVIION, 2003], bieten eine einfache tourspezifische Punkt zu Punkt Navigation an (Darstellung 2-3). Nach dem Herunterladen vorgegebener Routen oder der Erstellung individueller Touren auf einem PC werden die Daten auf das mobile Gerät übertragen. Am Anfangspunkt der Route teilt der Anwender dem Gerät den Tourstart mit. Daraufhin berechnet der Computer, unter Auswertung von Fahrtrichtung, zurückgelegter Strecke und Höhenänderung, den aktuellen Standpunkt. Leider bedingt das Verfahren, dass sich das Fahrrad permanent auf der berechneten Strecke befinden muss. Zwar teilt der Fahrradcomputer mit, wenn die Ist- von der Soll-Strecke abweicht, jedoch fehlt die Möglichkeit den Anwender auf die Route zurückzuführen. 2 Fahrradtouren-Navigation 9 Darstellung 2-3: Fahrradcomputer naviiON. GPS-gestützte mobile Fahrradtouren-Navigationssysteme bilden Geo-Informationen im Allgemeinen durch sogenannte Topogramme, einer stark schematisierten kartographischen Präsentationsform, ab. Die einfache Kartengraphik basiert überwiegend auf Rasterdaten, in wenigen Fällen auf Vektordaten und begrenzt sowohl die Anzahl als auch die Qualität darstellbarer Thematiken. Das System bestimmt über einen GPS-Receiver den Standpunkt und visualisiert diesen. Weitere Funktionalitäten unterstützen zudem die Tourplanung und -anzeige. Exemplarisch ist hier die Thales Navigation Magellan SporTrak-Serie [THALES NAVIGATION, 2004] zu nennen (Darstellung 2-4). Darstellung 2-4: Mobiles Navigationssystem Thales Navigation Magellan SporTrak. Aus Darstellung 2-4 werden die Schwächen des Magellan-Navigationssystems leicht ersichtlich. Die vektorbasierte Kartengraphik beschränkt sich auf die Wiedergabe von Verkehrswegen sowie einer begrenzten Anzahl an POIs. Für einen Anwender, der lediglich von einem Punkt A zu einem Punkt B gelangen will, ist diese Information ausreichend. Da 2 Fahrradtouren-Navigation 10 aber ein Fahrradtouren-Navigationssystem neben der Wegeführung auch die Aufgabe einer detaillierten Situationsbeschreibung übernehmen soll [vgl. Kapitel 2.1], wird das System den Nutzeransprüchen nicht gerecht. Alle aufgeführten Technologien bieten lediglich einen Teil der in Kapitel 2.1 aufgestellten Funktionalitäten. Dementsprechend müssen Lösungen für die Realisierung eines umfassenden Fahrradtouren-Navigationssystems gefunden werden. 2.4 Aktuelle Probleme und Forschungsbedarf Aus dem vorherigen Abschnitt wird ersichtlich, dass auf dem komplexen Gebiet der mobilen Fahrradtouren-Navigation noch immer ein beträchtlicher Forschungs- und Entwicklungsbedarf existiert. Als besonders problematisch erweist sich die Organisation der großen Datenmenge, die Einbeziehung von Interaktionen und die Integration von Zusatzinformationen. Eine detaillierte, für Fahrradtouren entworfene Situationsdarstellung verlangt die Speicherung, Verwaltung und Verarbeitung großer Datensätze. Infolge der begrenzten Rechen- und Speicherkapazität mobiler Endgeräte kann es dabei zu Systemüberlastungen oder zu inakzeptablen Laufzeiten kommen. Ziel ist somit die Entwicklung und Nutzung effizienter Methoden für die Informationsablage, -abfrage und -wiedergabe. Gegenwärtige, GPS-gestützte, mobile Produkte, wie zum Beispiel die Fugawi GPS Karten Software [FUGAWI, 2004], setzen zu detaillierten Präsentationszwecken vornehmlich Rastergraphiken ein. Diese lassen sich zwar einfach anfertigen, sind aber gegenüber Vektorformaten für Interaktionen eher ungeeignet [vgl. Kapitel 2.1]. Es gilt demnach zu prüfen, inwiefern Vektorgraphiken visuelle Aufgaben in einem zweckgerechten Fahrradtouren-Navigationssystem übernehmen können. Obgleich POIs und deren Merkmale eine hohe Bedeutung für den Touristen haben, werden sie oft in mobilen Navigationssystemen nicht mit einbezogen. Während einfache Symbole die POI-Standorte markieren, erfordert die Darbietung beschreibender Informationen zusätzliche Funktionalitäten. Denkbar ist beispielsweise die Datenwiedergabe durch den Aufruf eines Datenfensters oder einer externen Datei über das POI-Symbol. 3 Standardformate 11 3 Standardformate Hinsichtlich der Entwicklung von Anwendersoftware ist eine möglichst flexible, zukunftssichere Gestaltung besonders wichtig. Die Optimierung im Hinblick auf Plattformund Software-Unabhängigkeit hat höchste Priorität [BILL, 1999A ]. Demnach empfiehlt es sich, bei der Erstellung von Programmen auf einheitliche, konventionelle und klar definierte Standardformate zurückzugreifen. Kennzeichnend für Standardformate sind ihre übergreifende Akzeptanz und Verwendung. Unterschieden wird zwischen de-jure und defacto Standards. De-jure Standards, auch als Normen bezeichnet, besitzen offizielle Gültigkeit. Dagegen stellen de-facto Standards Empfehlungen dar und weisen lediglich auf die weite praktische Verbreitung hin [WINTER, 2000]. Spezifikationen von Standards werden von nationalen und internationalen Standardisierungsorganisationen (z.B. DIN und ISO) herausgegeben [HELD, 2003]. Da das im Rahmen dieser Arbeit entwickelte Fahrradtouren-Navigationssystem ausdrücklich auf Kompatibilität und Anpassungsfähigkeit ausgelegt ist, bilden Standardformate die Systemgrundlage. Dieses Kapitel beschreibt die in der Implementierung der Anwendung [s. Kapitel 7] integrierten Datenstandards HTML, XML, SVG und CSS. Die jeweilige Charakterisierung entspricht den Empfehlungen des World Wide Web Consortiums, kurz W3C. 3.1 HTML HyperText Markup Language (HTML) ist als Publikationssprache die grundlegende und demzufolge wichtigste Technologie im WWW. Darüber hinaus wächst ihre Bedeutung in anderen Bereichen. So können heute viele Programme Dokumente im HTML-Format erstellen, und auch in Betriebssystemen und Anwendungen ist HTML fester Bestandteil [STEYER, 2001]. Entwickelt wurde HTML von Tim Berners-Lee am Europäischen Kernforschungszentrum CERN im Jahre 1991 [LAGERSTROM , 2003]. Grundlage der HTML, wie in Darstellung 3-1 abgebildet, ist die normierte Standard Generalized Markup Language (SGML) [vgl. KAHLISCH & VOGEL, 1997] mit der entsprechenden Document Type Definition (DTD). SGML DTD von SGML HTML Darstellung 3-1: SGML als Basis von HTML [NOACK, 2002A]. 3 Standardformate 12 SGML, als ein generalisiertes System, dient der Erstellung von speziellen Auszeichnungssprachen (Markup Languages). Typisch für eine Markup Language ist die interne Datenstrukturierung mit Hilfe von Auszeichnungen (Markups). Formatierungen, wie Lage oder Größe, haben keinen Einfluss. Die relative Positionierung bei der Datenwiedergabe wird lediglich anhand des inhaltlichen Aufbaus festgelegt [WOLF, 2001]. Gültige Sprachelemente und -attribute sowie deren Definition in einem Dokument legt die DTD4 zentral und verbindlich fest. In Anlehnung an SGML geht das Konzept von HTML von einer Trennung der inneren, logischen Dokumentstruktur und der physischen Repräsentation aus [WEINGÄRTNER, 1999]. Die Umsetzung erfolgt durch die Erstellung der HTML-Datei in reiner Textform. Durch das Vermeiden von Formatierungen bleibt das Dokument plattformneutral. Zur Präsentation wird eine spezielle, plattformabhängige Software (Browser) benötigt, welche den Text interpretiert und darstellt [STEYER, 2001]. Bekannte Browser sind der Microsoft Internet Explorer oder der Netscape Navigator. In den vergangenen Jahren wurden von dem W3C mehrere HTML-Standards veröffentlicht. Die wichtigsten Spezifikationen sind HTML 3.2, HTML 4.0 und XHTML 2.0. HTML 3.2 bietet ein für heutige Ansprüche geringes Maß an Funktionalität und ist als Minimalstandard anzusehen. Bei HTML 4.0 sind zusätzliche Komponenten, wie zum Beispiel die Einbettung von Objekten (Frame-Technik), integriert. Der große Nachteil des HTML-Standards ist die hohe Komplexität und Rechenintensität bei der Interpretation. Diese geringe Effizienz hat zwar keinen signifikanten Einfluss bei der Wiedergabe durch stationäre High-End-Computer, kann aber auf mobilen Geräten (PDA’s, etc.), aufgrund der geringen Rechen- und Speicherleistung, Probleme verursachen [LAGERSTROM , 2003]. Aus diesem Grund hat das W3C 1999 entschieden, HTML nicht weiterzuentwickeln und den neuen Standard Extensible Hypertext Markup Language (XHTML) einzuführen. XHTML basiert explizit auf XML [s. Kapitel 3.2], enthält aber in der aktuellen Version XHTML 2.0 ebenfalls Grundstrukturen des HTML-Standards [W3C, HYPERTEXT MARKUP LANGUAGE, 2004]. Die erneuerte Spezifikation hat das Bestreben, dem Anspruch der Plattformunabhängigkeit auch in der Praxis gerecht zu werden. Wie bereits erwähnt, speichert HTML seine Daten im blanken Textformat ab. Folglich kommen für die Programmierung einfache Texteditoren oder so genannte WYSIWYGEditoren in Frage [WEINGÄRTNER, 1999]. Texteditoren wie der EditPlus2-Editor von ESComputing [s. Kapitel 5.3] haben den Vorteil, dass die Eingabe der einzelnen Befehle und Strukturen direkt stattfindet, wodurch der Inhalt des Dokuments uneingeschränkt vom Entwickler kontrolliert wird. Allerdings ist die Durchführung einer solchen Programmierung sehr arbeitsintensiv und nicht ohne Vorkenntnisse in HTML möglich. Dagegen bieten die „What You See Is What You Get“-Editoren (WYSIWYG) die Alternative, auch ohne eingehende Kenntnisse im Umgang mit HTML komplexe Dokumente zu erstellen. So verfügen die heute am weitesten verbreiteten HTML-Tools (z.B. Microsoft FrontPage, Adobe GoLive oder NetObjects Fusion) über multifunktionale, graphische Oberflächen und Werkzeuge. Die Übersetzung der mit diesen Tools erstellten Dokumente in das HTML-Format verläuft anschließend automatisch. Hier zeigt sich der 4 Die DTD eines Standardformats wird von dem zuständigen Standardisierungsgremium veröffentlicht. 3 Standardformate 13 große Nachteil dieser Editoren, weil der Autor keinen Einfluss mehr auf die Erstellung der HTML-Datei hat und sich auf die Umsetzung durch die Software verlassen muss. Daher empfiehlt es sich, bei der Generierung und Optimierung von HTML-Seiten auf beide Arten von Editoren zurückzugreifen. Zur Verfassung und Organisation eines Dokuments stellt HTML vordefinierte Bestandteile bereit. Fundamentale Sprachkomponenten sind Elemente und Attribute. Elemente legen die logische Struktur der Daten fest. Während Blockelemente (z.B. Tabellen) den Datenbestand in einzelne Absätze unterteilen, werden Inline-Elemente, wie zum Beispiel Styleeigenschaften, in den Kontext mit eingefügt. Des Weiteren gibt es unsichtbare Elemente (z.B. interne Kommentare), welche der Browser nicht anzeigt [WEINGÄRTNER, 1999]. Attribute legen die Eigenschaften der einzelnen Bestandteile fest. Die Auszeichnung von Elementen und Attributen geschieht immer mittels einer Start- und einer End-Marke (Tags). Der Name eines Tags ist in spitzen Klammern eingebettet, wobei das End-Tag zusätzlich mit einem Schrägstrich gekennzeichnet ist: <name> inhalt </name> Der prinzipielle, strukturelle Aufbau eines HTML-Dokuments stellt sich wie folgt dar: <html> <head> <title>...</title> </head> <body> … </body> </html> Das html-Element weist die Datei als HTML-Dokument aus. Im Dokumentkopf, dem headElement, werden Titel (title-Element) sowie zusätzliche Informationen hinterlegt. Dabei ist das Deklarieren des title-Elements obligatorisch. Hauptteil des Dokuments ist das bodyElement. Hier wird der wesentliche Inhalt der Datei gespeichert. Neben den bereits beschriebenen gibt es noch eine Vielzahl anderer Elemente, auf die aber an dieser Stelle nicht weiter eingegangen werden soll. Eine ausführliche Beschreibung von HTML und den dazugehörigen Elementen ist der entsprechenden Fachliteratur, zum Beispiel POWELL (2003), zu entnehmen. 3 Standardformate 14 3.2 XML Angesichts der Definition von HTML als reine Anwendung von SGML [vgl. Kapitel 3.1] ist der HTML-Standard sehr statisch und unflexibel gegenüber anwendungsspezifischen Erweiterungen. Darum hat das W3C im Jahre 1998 den neuen Standard eXtensible Markup Language (XML) veröffentlicht. XML steht für ein sehr anpassungsfähiges und einfaches Format, das für mehr Interaktivität in Bereichen wie Datenmanagement und Datenaufbereitung sorgt [WEINGÄRTNER, 1999]. Schon heute spielt XML eine herausragende Rolle beim Informationsaustausch im WWW und in anderen Medien. Der XML-Standard zeigt sich nach Darstellung 3-2 als Teilmenge von SGML und besitzt damit alle grundlegenden SGML-Funktionalitäten. XHTML SGML XML DTD von XML MathML GML Darstellung 3-2: XML als Teilmenge von SGML [NOACK, 2002A]. Wie SGML stellt XML ausschließlich Vorschriften zur Festlegung von Typdefinitionen zur Verfügung und umfasst keinen verbindlichen, strukturellen Aufbau in Form einer DTD [NOACK, 2002A ]. Folglich gibt es die Möglichkeit, basierend auf XML, anwendungsabhängige Sprachelemente zu deklarieren. So abgeleitete Anwendungen, welche sich mittlerweile als de-facto Standards durchgesetzt haben, sind unter anderem XHTML, MathML (Mathematical Markup Language) und GML (Geography Markup Language). Im Februar 2004 publizierte das W3C die dritte Edition der XML 1.0. Die aktualisierte Version löste das Original von 1998 ab [W3C, EXTENSIBLE MARKUP LANGUAGE, 2003]. Überdies wurde mit XML 1.1 gleichzeitig ein neuer Standard herausgegeben, der die Funktionalität, Integrität und Kontrolle von XML-Dokumenten steigert. Eine detaillierte Beschreibung der Spezifikationen ist in W3C, EXTENSIBLE MARKUP LANGUAGE (2003) einzusehen. Eine XML-Datei beruht, übereinstimmend mit anderen Auszeichnungssprachen, auf reinem Textformat und kann sowohl mit einem Texteditor als auch mit entsprechender Tool-Software erstellt werden. XML-Tools (z.B. Microsoft XML Notepad) sind in der Regel frei im Internet, zum Beispiel unter [SELFAKTUELL, 2004], zu finden und beinhalten neben Werkzeugen zur Entwicklung auch Hilfsmittel für die Kontrolle der Struktur. Zur Interpretation der XML-Daten kommt ein sogenannter XML-Parser, wie er zum Beispiel in allen gängigen Web-Browsern integriert ist, zum Einsatz. Aufgrund der Auszeichnung von XML-Daten in Klartext ist das Speichervolumen im Verhältnis zu einem Binärcode relativ 3 Standardformate 15 groß. Abhilfe schafft hier die Datenkomprimierung durch geeignete Packprogramme, wie GNU ZIP (gzip) [GAILLY, 2003]. Im Gegensatz zu HTML, das Daten formatiert, strukturiert reines XML die Informationen einer Datei und beachtet allein deren Bedeutung, nicht deren Aussehen [SALATHE, 2001]. Ohne zusätzliche Stylesheets, wie CSS [s. Kapitel 3.4], oder speziellen Programmen ist die Formatierung von XML-Daten nicht realisierbar. Der Inhalt eines XML-Dokuments erscheint in einer Art Baumstruktur, die mittels des Parsers aufgebaut wird [NOACK, 2002A ]. Dadurch können entsprechende Anwendungen auf einzelne Baumknoten (Elemente) zugreifen. Die Art und die Anzahl von Elementen sind in XML nicht begrenzt und können frei gewählt werden [WOLF, 2001]. Für XML gilt die strenge Grundregel der Wohlgeformtheit. Sie dient der eindeutigen Standardisierung und verhindert die differierende Umsetzung des Standards durch konkurrierende Firmen oder Institutionen. Wohlgeformtheit ist die Syntax eines Instanzdokuments und eine Abweichung führt unweigerlich zu einer Fehlermeldung [FIBINGER, 2002]. Jedes Element muss des Syntax entsprechend in Tags eingebettet sein [vgl. Kapitel 3.1]. Des Weiteren gibt es ein Root-Element, welches alle anderen Elemente umschließt. XML-Auszeichnungen sind „case-sensitive“, so dass auf Groß- und Kleinschreibung zu achten ist. Grundsätzlich besteht eine XML-Datei aus dem Prolog, der DTD-Definition und den eigentlichen Informationen [HELD, 2003]. Zunächst signalisiert der Prolog dem Browser, dass es sich um ein XML-Dokument handelt und informiert über zusätzliche Attribute, wie der zugrunde liegenden Version: <?xml version=“wert“ encoding”wert“ ...?> Anschließend folgt die DTD-Definition zur Festlegung der Struktur. Die DTD-Deklaration enthält das Root-Element, einen Verweis auf die Zugänglichkeit (PUBLIC oder SYSTEM), den Namen der DTD und die URL der DTD-Datei: <!DOCTYPE rootelement zugang ”name“ “url” > Aus Sicht der Wohlgeformtheit ist die Deklaration einer DTD nicht erforderlich. Jedoch kontrolliert der Parser, nach Prüfung des XML-Dokuments unter dem Aspekt der Wohlgeformtheit, auch die Identität des Inhalts bezüglich der DTD. Dieser Vorgang, auch Validierung genannt, setzt eine Dokumenttyp-Definition voraus. Nach der DTD wird der primäre Datenteil in Form einer Baumstruktur hinterlegt. Jedes Element (Knoten) kann eine beliebige Anzahl an Unterelementen (Child) innehaben, darf aber nur einem übergeordneten Element (Parent) zugewiesen werden. Eine Ausnahme bildet das RootElement, welches lediglich Child-Elemente aufweist. Ein einfaches Beispiel spiegelt Darstellung 3-3 wieder. 3 Standardformate 16 Europa Frankreich Deutschland Einwohner Flaeche ... ... Darstellung 3-3: XML-Baumstruktur. Europa ist hier das Root-Element und hat als Child-Elemente Frankreich und Deutschland. Deutschland seinerseits sind die Elemente Einwohner und Flaeche nebst Werten zugeordnet. In einem XML-Dokument stellt sich die Situation wie folgt dar: <Europa> <Frankreich> </Frankreich> <Deutschland> <Einwohner> ... </Einwohner> <Flaeche> ... </Flaeche> </Deutschland> </Europa> Neben den Elementen enthält die XML-Struktur noch Attribute und Kommentare. Attribute bestimmen zusätzliche Charakteristiken und werden innerhalb des Starttags eines Elements deklariert: <element attribut1=“wert“ ...> ... </element> Kommentare, die nur im Quellcode sichtbar sind, aber bei der Interpretation ignoriert werden, erhalten den Ausdruck: <!-- kommentar --> Für weiterführende Instruktionen zur Verwendung und Implementierung von XML wird auf adäquate Literatur, zum Beispiel AMMELBURGER (2004), verwiesen. 3 Standardformate 17 3.3 SVG Dieser Abschnitt stellt die prinzipiellen Eigenschaften und Funktionalitäten von Scalable Vector Graphics (SVG) vor. 3.3.1 Allgemein SVG ist ein neuer, offizieller Standard der W3C zur Wiedergabe zweidimensionaler Vektordaten. Der Vorteil dieses offenen Formats liegt in der Multifunktionalität. So werden Vektor- sowie Rastergraphiken mit hoher Qualität verarbeitet und Möglichkeiten der Animation und Interaktion angeboten. Durch diese Flexibilität und Leistungsfähigkeit besitzt SVG schon heute eine bedeutende Stellung im Bereich Webdesign. Daneben ist zu erwarten, dass sich das Format auch in anderen Bereichen, in denen graphische Gestaltung im Vordergrund steht, durchsetzt. SVG ist eine XML-Instanz und hat deshalb alle Vorzüge und Merkmale von XML [vgl. Kapitel 3.2]. Eine erste SVG-Empfehlung, SVG 1.0, erschien 2001. Im Jahre 2003 ersetzte SVG 1.1 die alte Version und beseitigte Schwachstellen. Parallel dazu kam es zur Veröffentlichung der mobilen Versionen SVG Basic und SVG Tiny. Die Empfehlungen für mobile Anwendungen konkretisieren nur einen Teil der SVG-Spezifikationen und tragen somit der geringen Speicher- und Prozessorleistung mobiler Endgeräte Rechnung. Derzeit arbeitet die W3C an der neuen Version SVG 1.2 und an weiteren Empfehlungen für bestimmte Endgeräte, wie beispielsweise Drucker. Charakteristiken aktueller Versionen können unter W3C, SCALABLE VECTOR GRAPHICS (2004) nachgelesen werden. Langfristig gesehen soll SVG gegenwärtige Graphikformate, wie zum Beispiel GIF, JPEG oder PNG, ersetzen [MEINIKE, 2002] und den hohen Ansprüchen von Entwicklern als auch Anwendern entsprechen. Eine weitreichende Übersicht der Gestaltungsmöglichkeiten von SVG liefern ADAM (2002) und LAUCHARDT (2003). 3.3.2 Koordinatensystem Dem SVG-Format liegt ein Koordinatensystem zugrunde, welches die Aufgabe der genauen Positionierung graphischer Elemente übernimmt. Das System ist durch die obere linke Ecke (Ursprung), die horizontale, nach rechts gerichtete X-Achse und die vertikale, nach unten gerichtete Y-Achse eindeutig festgelegt. Als Werteinheit stehen relative (z.B. Pixel) und absolute Angaben (z.B. Zentimeter) zur Auswahl. Werden Koordinaten ohne Einheit deklariert, weist SVG diesen Größen automatisch den Default-Wert px (Pixel) zu. 3.3.3 Syntax Wegen der festen Beziehung zu XML entspricht auch die SVG-Datei dem XML-Syntax [vgl. Kapitel 3.2] mit der generellen Untergliederung in Prolog, DTD und Inhalt. Während sich der Prolog gegenüber dem des reinen XML-Formats nicht ändert, weist die DTD auf eine Strukturierung nach dem SVG-Format hin: 3 Standardformate 18 <!DOCTYPE svg PUBLIC “-//W3C//DTD SVG 1.0//EN” “http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd“> Den Hauptteil bettet das Root-Element svg ein. Diesem sind weitere Elemente, einschließlich der entsprechenden Attribute, untergeordnet. Generell beinhaltet das RootElement eigene Zusätze, welche die Ansicht des SVG-Bildes beschreiben. Die Attribute width und heigth bestimmen den maximal sichtbaren Bereich (Bildgröße) und das Attribut viewbox steuert, welcher Ausschnitt der SVG-Graphik im Bild sichtbar ist: <svg width=“...“ height=“...“ viewbox=”… … … …”> In SVG wird zwischen strukturierenden und graphischen Elementen differenziert. Strukturierende Elemente dienen der Organisation und verringern die Größe einer Datei. Dabei fasst zum Beispiel das Container-Element <g> eine beliebige Anzahl von Elementen als Gruppe zusammen. Modifikationen des <g>-Elements wirken sich dann auf alle Gruppenmitglieder aus und müssen nicht in jedem Element enthalten sein. Graphische Elemente, wie geometrische Grundformen oder Texte, repräsentieren den eigentlichen Zeicheninhalt einer SVG-Datei. Position und Aussehen werden durch Hinzufügen spezieller Attribute festgelegt. Die Wiedergabe graphischer Objekte ist kontinuierlich. Das heißt, dass ein am Ende des Quellcodes stehendes Element zuletzt gezeichnet wird und alle überlappenden Flächen überdeckt, beziehungsweise abdunkelt5 . Dadurch ist SVG befähigt, unterschiedliche Ebenen auszuzeichnen. 3.3.4 Formen, Texte und Rastergraphiken Die DTD präzisiert vordefinierte graphische Standardgeometrien, die sehr einfach und schnell darzustellen sind. In der Version SVG 1.1 gibt es unter anderem Rechtecke, Kreise und Linien. Entsprechende Tags lauten <rect>, <circle> und <line>. Jedem Tag gehören Pflichtattribute an, ohne die das Element, nach der DTD, nicht gültig ist. Zum Beispiel erfordert <circle> das Attribut r (Radius). Der Kreismittelpunkt (cx , cy ) ist dagegen optional anzugeben: <circle cx=“...“ cy=“…“ r=”...“/> Für komplexere Objekte existiert das Tag <path> , mit dem sich beliebige Pfade beschreiben lassen. Das Pflichtattribut ist d und umfasst eine Liste der benötigten Punktinformationen: <path d=“M x1 y 1 L x2 y 2 … Z “/> Buchstaben innerhalb des Pfades kennzeichnen die geometrische Wiedergabe des Pfades. M (moveto) legt den Startpunkt fest und Z (closepath) schließt den Pfad zu einer Fläche. Absolute, auf den Nullpunkt bezogene oder relative, auf den Vorgänger bezogene 5 Der Grad der Abdeckung ist abhängig von der Eigenschaft der Opazität (Durchlässigkeit) des jeweiligen Elements. 3 Standardformate 19 Koordinaten (x i, y i) speichern die Positionen der einzelnen Punkte. Dabei entsprechen Großbuchstaben einer absoluten, Kleinbuchstaben einer relativen Positionierung. Segmentlinien sind als Geraden (L), aber auch als Bezier- oder elliptische Kurven ausgeprägt. Zur Textauszeichnung stellt SVG das Element <text> bereit. Dementsprechend lassen sich nahezu alle Formatierungen, Effekte und Funktionalitäten auf Texte übertragen, so dass sich für die Gestaltung unzählige Möglichkeiten ergeben. Eine einfache Textdeklaration sieht folgendermaßen aus: <text x=“...“ y=“...“>inhalt</text> Den Startpunkt der Text-Grundlinie beschreiben die Attribute x und y . Neben den Graphikobjekten Form und Text können auch Bilder (Bitmap oder SVG) integriert werden. Das notwendige Element heißt <image> und unterstützt in SVG 1.1 die Formate PNG, GIF, JPEG und SVG. Beim Laden eines SVG-Bildes wird dieses nur statisch repräsentiert, womit jede Dynamik und Interaktion verloren geht. Notwendiges Attribut von <image> ist xlink:href, das den Pfad der Bilddatei angibt. Die Position und Größe markieren die Attribute x , y , width und height . Der gesamte Ausdruck lautet dann exemplarisch: <image xlink:href=“bild.png“ x=“...“ y=“...“ width=“…” height=”…”/> 3.3.5 Styling und graphische Effekte Stylingeigenschaften beeinflussen die Wiedergabe graphischer Elemente. Sie sind für die eigentliche Formatierung, wie Füllfarbe, Durchlässigkeit oder Strichstärke, verantwortlich und werden mit Hilfe von Präsentationsattributen oder CSS deklariert. Jedes Präsentationsattribut gehört zu einer gleichnamigen Eigenschaft. Beispielsweise erklärt das Attribut fill die Füllfarbe eines Kreises: <circle ... fill=“farbe“/> Auf die Erläuterung von CSS wird an dieser Stelle verzichtet und auf das Kapitel 3.4 verwiesen. Spezielle graphische Effekte komplettieren die Gestaltungsmittel. So präsentiert SVG Elemente und Attribute für Verläufe, Füllmuster, Masken und Filtereffekte. Diese können einzeln und in Kombination auf alle graphischen Elemente eingesetzt werden. 3.3.6 Animation und Interaktivität Ein großer Vorteil von SVG gegenüber herkömmlichen Graphik-Formaten ist die Möglichkeit, Animationen und Interaktivitäten auf einfachstem Weg zu implementieren. 3 Standardformate 20 Für die Animation liefert die Syntax unterschiedliche Elemente und Attribute. Diese entstammen dem XML-Multimediastandard Synchronized Multimedia Integration Language (SMIL) [FIBINGER, 2002]. Es werden Funktionalitäten für schlagartige oder interpolierte Veränderungen von Geometrie, Position oder Farbe angeboten. Optionale Attribute kontrollieren Beginn, Dauer und Ende der Animation. Interaktivität verleiht SVG-Anwendungen die Fähigkeit auf benutzergesteuerte Ereignisse (Events) dynamisch zu reagieren. Auslösende Events können Mausoperationen, Tastatureingaben oder auch Statusänderungen einzelner Elemente sein. Die Aktivierung eines Events startet einen dem Ereignis zugewiesenen Prozess, wie das Schließen des Dokuments. Instrumente zum Erzielen von Interaktivität sind Hyperlinks und Scripte. Der Hyperlink ist lediglich imstande ein Objekt, prinzipiell eine externe Datei, aufzurufen. Anspruchsvollere, individuelle Interaktionen liefert die Implementierung interner oder externer Scripte. Sie werden in der Programmiersprache ECMAScript, einem JavascriptDialekt formuliert. Die Charakteristiken dieser Sprache stellt Kapitel 5.4 vor. 3.3.7 Bearbeitungssoftware Begründet in der wachsenden Bedeutung von SVG, steigt stetig die Anzahl publizierter SVG-Software. Nachstehend wird die Funktionalität und das Potential aktueller SVGEditoren und -Konverter vorgeführt. Für die Erstellung einfacher, statischer SVG-Graphiken liefern die aktuellen Graphikprogramme Corel Draw 11.0 [COREL, 2004] und Adobe Illustrator 10.0 [ADOBE, 2004] ausreichend Funktionalität. Der Vorteil dieser Programme liegt in der automatischen Konvertierung von Graphiken in das SVG-Format. Zugleich handelt es sich um reine WYSIWYG-Tools, so dass keine Vorkenntnisse über die Syntax notwendig sind. Leider unterstützen die aktuellen Versionen weder Animationen noch Interaktivitäten. Im professionellen Bereich finden komplexe, explizit auf den Export von SVG-Graphiken optimierte Tools Verwendung. Zum Beispiel zeigt Jasc WebDraw [JASC SOFTWARE, 2004] Graphiken wahlweise in der Zeichenebene, als Quellcode oder als Viewer-Vorschau an. Weiterhin überprüft die Software den Quellcode auf Gültigkeit und verfügt über multiple Zeichen- und Animations-Werkzeuge. Erweiterungen zu vektorbasierten Graphik-Programmen ermöglichen die Konvertierung aus einem, meist firmeninternen Format in den SVG-Standard. So kann die Software MapViewSVG [UISMEDIA , 2004] der Firma UISMedia Karteninformationen aus Arcview GIS 3.x (s. Kapitel 5.1) in SVG-Daten umwandeln. Durch eine neue Strategie auf dem Markt bietet dieser komplette Lösungen für die Konstruktion, Nutzung und Aktualisierung stationärer und mobiler SVG-Anwendungen an. Die Firma Intesis präsentiert mit dem Projekt eSVG [INTESIS, 2004] eine solche Komplettlösung an. Das eSVG-Paket6 wartet unter anderem mit einer 6 Die aktuelle Version eSVG 2.0 ist seit Januar 2004 erhältlich. 3 Standardformate 21 Entwicklungsumgebung und einem sehr schnellen und leistungsfähigen SVG-Viewer auf. Ob sich das System auf lange Sicht durchsetzen wird, bleibt abzuwarten. In W3C, SVG IMPLEMENTATIONS (2004) sind Programme mit SVG-Unterstützung aufgelistet. 3.3.8 Viewer SVG-Viewer interpretieren und präsentieren die Informationen in SVG-Dateien. Sie sind als eigenständige Programme oder als Plugin, das als eine Art Zusatzprogramm dient, für vorhandene Software erhältlich. Beispielsweise gibt es mit dem Adobe SVG Viewer 3.0 ein kostenloses Plugin zur Darstellung von SVG-Graphiken im Microsoft Internet Explorer. Nicht jeder Parser unterstützt derzeit alle Eigenschaften des SVG-Standards. Demnach müssen SVG-Anwendungen individuell an den jeweiligen Viewer angepasst werden. Außerdem differiert, in Abhängigkeit von implementierten Algorithmen, die Wiedergabegeschwindigkeit. Darstellung 3-4 vergleicht die SVG-Ladezeiten des eSVGViewers 1.6 und die des eSVG-Viewers 2.0 auf einem PDA der Marke Compaq iPAQ H5450. Die neue Version 2.0 gibt dank einer neuen Rendering-Technik die SVGs mit einer bis zu 30% höheren Geschwindigkeit wieder. Schlussfolgernd sind langsame RenderingAlgorithmen besonders bei der Anzeige umfangreicher SVG-Graphiken auf mobilen Endgeräten (PDA, etc.) kritisch zu betrachten. Es zeigt sich weiterhin, dass das graphische Datenvolumen in mobilen Applikationen möglichst kleingehalten werden muss, damit die Ladezeiten für den Anwender akzeptabel sind. Dateigröße (in kb) 10 20 50 100 200 400 eSVG-Viewer 1.6 eSVG-Viewer 2.0 Ladezeit (in s) 3 5 9 15 33 74 Ladezeit (in s) 2 4 6 10 22 74 Darstellung 3-4: SVG-Rendering mit eSVG-Viewer 1.6 und 2.0 auf iPAQ H5450. 3.4 CSS Cascading Style Sheets (CSS) ist ein weit verbreitetes Format zur Präsentation von Elementen im WWW. So empfiehlt das W3C, HTML lediglich für die struktur-relevanten Informationen zu verwenden und deklarierte CSS im Jahre 1996 als de-facto Standard der graphischen Gestaltung [vgl. Kapitel 3.1]. CSS bietet die Möglichkeit der flexiblen Aufbereitung und Manipulation strukturierter Daten, wodurch sich die Funktionalität und Effizienz der HTML erhöht. Neben HTML nutzen auch andere Auszeichnungssprachen, wie XML oder SVG, die Vorteile von CSS. 3 Standardformate 22 Theoretisch präsentiert sich CSS als plattformneutral und von jedem Browser interpretierbar. In der Praxis wurde dieser Anspruch jedoch nur eingeschränkt realisiert. Besonders die komplexeren Stylesheet-Definitionen sind von den momentan führenden Browserherstellern (u.a. Microsoft und Netscape) nur teilweise implementiert [DILTHEY, 2003]. Die Tendenzen weisen aber auf eine deutliche Verbesserung der Situation in den nächsten Jahren hin. Eine Übersicht aktueller CSS-Browser und -Software ist in W3C, CASCADING STYLE SHEETS (2004) aufgeführt. Das W3C gibt kontinuierlich neue Sprachversionen von CSS heraus. Der aktuell gültige Standard heißt CSS2 und ist seit 1998 gültig. Daneben gibt es die ältere Version CSS1 und spezielle Varianten für andere Geräte (z.B. PDA, Telefon, Drucker). An einer CSS3 Empfehlung wird derzeit intensiv gearbeitet. Generierung und Speicherung der CSS-Syntax können durch einfache Texteditoren oder spezielle CSS-Hilfsmittel erfolgen. In HEINICKE (2003) sind einige kostenlose, leistungsstarke CSS-Programme erläutert. Die wesentliche Verwendung von CSS soll am Beispiel von SVG [vgl. Kapitel 3.3] gezeigt werden. Prinzipiell besteht eine CSS-Deklaration aus einem zu formatierenden Element und einer zugehörigen Stylesheet-Anweisung. Eine Anweisung unterteilt sich in Eigenschaften und den dazugehörigen Werten. Als Elemente kommen einzelne Objekte (z.B. ein bestimmtes Objekt der Klasse line), Objektklassen (z.B. alle Objekte der Klasse line) und Objektgruppen, das heißt alle Objekte innerhalb einer allgemeinen Klasse, in Frage. Für die Verknüpfung der Elemente mit dem jeweiligen Layout gibt es unterschiedliche Möglichkeiten. Am Gebräuchlichsten sind die direkte Einbindung, die Referenzierung mittels Entities und die Verbindung zu externen CSS-Dokumenten. Bei der direkten Auszeichnung werden, unter Verwendung des Attributs style, die Formateigenschaften nebst Werten nacheinander in das Element-Tag geschrieben und per Semikolon voneinander getrennt: <element style=“eigenschaft:wert; ...“/> identifiziert die zugewiesenen Zeichendaten als CSS-Syntax und beschränkt die Formatierung auf das jeweilige Objekt. Im Gegensatz dazu bietet die Variante der Referenzierung die Chance, CSS-Formate oder auch Attribute einmalig zu beschreiben und an anderer Stelle auf diese zurückzugreifen. Voraussetzung dieser Methode ist die DTDErweiterung der XML-Applikation [vgl. Kapitel 3.2]. Hierfür werden die benötigten Entities in rechteckige Klammern eingebettet und am Ende der DOCTYPE-Deklaration eingefügt: style <?xml?> <!DOCTYPE svg PUBLIC “-//W3C/DTD SVG 1.0//EN” [ <!ENTITY name “eigenschaft:wert; …“> ]> 3 Standardformate 23 Der Zugriff verläuft innerhalb des SVGs über einen so genannten „Pointer” (”&name“), wobei mehrere Pointer auf ein Entity zeigen können: <element style=“&name;“/> Infolge der Beseitigung redundanter Layout-Daten innerhalb einer Datei unterstützt die Entity-Methode eine optimale Strukturierung von Dokumenten. Externe CSS-Stylesheets haben dort Priorität, wo mehrere Dokumente die gleichen Formatierungen verwenden. Eigenschaften werden nur einmal definiert und der Abruf ist durch mehrere Dokumente möglich. Auf diese Weise minimiert sich die Datenmenge der CSS und ein Anwender kann mit geringem Aufwand den Inhalt kontrollieren und modifizieren. Die Stylesheets sind in einer mit dem Suffix .css benannten Datei abgelegt: .name {eigenschaft: wert; ...} ... Am Anfang einer jeden Layout-Festlegung steht der Style-Name, dem ein Punkt vorangestellt ist. Anschließend sind die entsprechenden Stylesheet-Anweisungen in geschweiften Klammern deklariert. Im SVG-Dokument referenziert der Stylesheet-Prolog die CSS-Datei mit dem Ausdruck: <?xml-stylesheet href=“dateiname.css“ type=“text/css“?> SVG-Elemente sind durch das Attribut class an die jeweilige Formatierung gebunden: <element class=“name“/> Ausgelagerte CSS-Anweisungen haben sich durch ihre Flexibilität und Effektivität als Grundform der Dokumentgestaltung etabliert. Sie ermöglichen eine klare und eindeutige Trennung von Struktur und Layout, wie es vom W3C für Auszeichnungssprachen gefordert ist. Weitergehende Erläuterungen und Spezifikationen sind unter W3C, CASCADING STYLE SHEETS HOME PAGE (2004) zu finden. 4 Ausrüstung 24 4 Ausrüstung Beim Entwerfen eines Navigationssystems sind die Hardwarekomponenten von großer Bedeutung. Insbesondere der mobile Sektor stellt hohe Anforderungen hinsichtlich Kompaktheit und Leistungsfähigkeit. Darüber hinaus müssen Softwarepakete mit den zur Verfügung stehenden Geräten abgestimmt werden. Nur die uneingeschränkte Kompatibilität zwischen Hard- und Software garantiert optimale Performance. Um den in Kapitel 2.2.1 formulierten Hardware-Anforderungen zu entsprechen, wird für die Fahrradnavigation eine hochwertige Zentraleinheit mit Farbdisplay sowie ein GPSEmpfänger benötigt. Das Kapitel beschreibt die Hardwarebestandteile des in dieser Arbeit vorgestellten Fahrradtouren-Navigationssystems. Haupteinheit ist der PDA HP iPAQ H5450. Das System komplettiert ein GPS-Receiver des Typs Holux GM-270 CF. 4.1 HP iPAQ H5450 Nicht zuletzt wegen der expliziten Entwicklung für den mobilen Markt avanciert der „Personal Digital Assistant“7 (PDA) zur weltweit bedeutendsten Plattform im HandheldBereich. PDAs sind multimediale Geräte und können eine Vielzahl an Aufgaben übernehmen. Unter anderem ist eine Nutzung als Terminplaner, Diktier- oder Navigationsgerät denkbar. Trotz ihrer geringen Größe liefern aktuelle Modelle ein relativ hohes Maß an Rechenleistung und Speicherkapazität. Als Betriebssystem hat sich Microsoft Windows CE 3.0 durchgesetzt, das speziell auf die Bedürfnisse mobiler Endgeräte angepasst wurde. Mit dem iPAQ H5450 offeriert die Firma Hewlett Packard [HEWLETT PACKARD, 2004] einen ausgereiften PDA der neuesten Generation. 4.1.1 Merkmale Um den multimedialen Ansprüchen gerecht zu werden, integriert der iPAQ H5450 diverse Elemente. Der eingebaute Prozessor des Typs Intel PX250 arbeitet mit einer Taktrate von 400 MHz und repräsentiert den derzeit schnellsten Chipsatz im Mobilcomputer-Sektor. Als Arbeitsspeicher stehen 48 MB ROM und 64 MB RAM zur Verfügung. Da die im RAM gespeicherten Daten bei Verlust der Spannungsversorgung verloren gehen, sollten wichtige Informationen, wenn möglich, im ROM abgelegt werden. Das Display ist ein transflektives 3,8 Zoll Touchscreen-LCD mit der Auflösung von 240 x 320 Pixel. Es kann eine Farbtiefe von 16 Bit (65536 Farben) wiedergeben und besticht, mit Hilfe der Transflektiv-Methode, durch eine hohe Wiedergabequalität. Bei der Transflektiv-Technologie realisiert die Displaybeleuchtung von hinten hohe Kontrastwerte. Gleichzeitig verhindert eine Reflektion der von vorne eintreffenden Lichtstrahlen die Überstrahlung. Für die nötige Spannung sorgt ein Lithium-Polymer-Akku, welches nach GIEVERS (2003) eine 7 In der Literatur auch als Organizer oder Pocket PC bezeichnet. 4 Ausrüstung 25 Betriebsdauer von ungefähr 10 Stunden garantiert. Allerdings verbraucht der PDA auch im ausgeschalteten Modus Strom und erfordert so ein Aufladen in regelmäßigen Abständen. Weitere Komponenten sind unter anderem Mono-Lautsprecher, Mikrophon und Kopfhöreranschluss. Darstellung 4-1 liefert eine Übersicht der wichtigsten Spezifikationen. Merkmal Prozessor RAM ROM Display Betriebsdauer Gewicht Betriebssystem Preis (Stand: März 2004) Daten Intel PXA250 Taktrate: 400 MHz 64 MB 48 MB Flash-ROM Typ: Transflektives TFT-Touchscreen LCD; Größe: 3,8 Zoll; Auflösung 240 x 320 Pixel; Farben: 65536 ca. 10 Stunden 206 g Windows CE 3.0 ca. 500 € Darstellung 4-1: Technische Daten HP iPAQ H5450 [HEWLETT P ACKARD, 2003]. Mit Hilfe eines Synchronisationskabels kann das Gerät über den seriellen Eingang oder den USB-Port mit einem stationären PC kommunizieren. Eine Dockingstation erleichtert die Verbindungsherstellung. Infrarot- und Bluetooth-Schnittstelle befähigen zum kabellosen Datenabgleich mit anderen Geräten. Hardware-Erweiterungen, wie zum Beispiel Speicherkarte, Modem, GPS-Receiver, steigern das Leistungspotential. Zur Integration existiert ein Erweiterungssteckplatz für CF- und SD-Karten. Der iPAQ nutzt zusätzlich das Jacket-Konzept, nach dem ein Aufsteckmodul (Jacket) dem PDA übergestreift wird und so die Funktionalität erweitert [REINELT, 2002]. Auf das mobile Gerät sind Anwendungsprogramme für stationäre Computer nicht übertragbar. Darum gibt es speziell auf den PDA zugeschnittene Software. Zum Lieferumfang des iPAQs gehören obligatorisch mehrere praktische Programme. Das Betriebssystem Windows CE 3.0 enthält beispielsweise eine verkleinerte Version des auf Desktop-Computern weit verbreiteten Microsoft Office Pakets (Word, Excel, Internet Explorer, Media Player, etc.). Weitere freie und kommerzielle Applikationen decken nahezu jeden erdenklichen Anwendungsbereich (z.B. Utilities, Multimedia, Spiele) ab. Ein breit gefächertes Angebot ist im WWW, zum Beispiel unter [MOBILE2DAY, 2004], oder im Handel zu finden. Die Programminstallation und -deinstallation verläuft prinzipiell über die Verbindung zu einem stationären PC. Als Verwaltungsassistent fungiert die Synchronisationssoftware Microsoft ActiveSync, die mit jedem iPAQ mitgeliefert wird. In der Regel liegen Anwendungen in Form einer ausführbaren Datei (*.exe) auf dem Desktop-PC vor. Nach dem Start der Datei werden Teile des Programms in einem bestimmten Ordner des Desktops eingerichtet. Danach prüft das mobile Gerät die Daten auf Integrität und Kompatibilität. Wenn hier keine Probleme auftreten, wird das Programm übertragen. Neben den Programmen koordiniert ActiveSync auch den Datenabgleich zwischen stationärem und mobilem Gerät. Exemplarisch kann eine Synchronisation von Organizer- 4 Ausrüstung 26 Informationen in Microsoft Outlook (Termine, Kontakte, etc.) automatisch ablaufen. Darüber hinaus konvertiert ActiveSync, bei der Übertragung von Dokumenten auf den PDA und vice versa, die Dateien in ein auf der Zielplattform lesbares Format [GRIESER, 2002]. 4.1.2 Bedienung Im Gegensatz zu einem Desktop-PC wird der PDA über einen Touchscreen sowie mit den am Gehäuse befindlichen Schalttasten bedient. Die wesentlichen Bestandteile konkretisiert Darstellung 4-2. Ein Stift ersetzt die PC-Maus und unterstützt die präzise Ansteuerung einzelner Elemente. Dabei entspricht das Berühren des Displays dem Klicken einer Maustaste. Per On/Off-Schalter lässt sich das Gerät ein- beziehungsweise ausschalten. Nach dem Einschalten des PDAs erscheint die zuletzt genutzte Anwendung. Soll ein System-Neustart stattfinden, ist ein auf der unteren Seite liegender Reset-Schalter mit Hilfe des Stifts zu betätigen. Die Navigationstaste auf der Front-Seite ersetzt die Cursor-Tasten einer PC-Tastatur. Sie hat eine 5-Wege-Funktionalität und spricht, abgesehen von den vier Richtungen Oben, Unten, Links und Rechts auch auf Drücken an. Durch die vier KombiTasten, die sich individuell programmieren lassen, können oft genutzte Programme direkt gestartet werden. Zur vereinfachten Nutzung des Mobilcomputers als Diktiergerät existiert auf der linken Seite eine Record-Taste für das unmittelbare Starten und Beenden akustischer Aufnahmen. Stift Record-Taste Display On/Off-Schalter Navigations-Taste Kombi-Tasten Reset-Schalter Darstellung 4-2: HP iPAQ H 5450. Angesichts des kleinen Displays weicht die Windows CE Benutzeroberfläche leicht von der Ansicht stationärer Versionen ab. So sind zum Beispiel die Startmenüleiste am oberen und Menüs am unteren Displayrand positioniert. Für die Zeicheneingabe wird über ein 4 Ausrüstung 27 Symbol in der unteren rechten Ecke eine visuelle Tastatur aktiviert, die im unteren Teil des Displays erscheint. Dynamische Vorgänge, wie das Öffnen eines Fensters, wirken in Relation zu Desktop-Systemen leicht verlangsamt. Als eher ungewöhnlich erweist sich die Funktionalität der X-Schaltfläche in der rechten oberen Ecke eines Menü- oder Programmfensters. Das Aktivieren des Symbols führt lediglich zu einem Minimieren des Fensters und gibt keinen Arbeitsspeicher frei. Da eine Beenden-Anweisung in mehreren Programmen fehlt, bedarf es zum Schließen eines Menü- oder Programmfensters einer anderen Methode. Am Unkompliziertesten ist die Verwendung eines Zusatztools. Beispielsweise stattet Hewlett Packard den iPAQ mit dem iTask-Tool aus, das gezielt Anwendungen beenden kann. 4.1.3 Softwareprogrammierung Wie bereits erwähnt, sind Desktop-Anwendungen auf dem PDA nicht oder nur eingeschränkt lauffähig. Microsoft bietet mit eMbedded Visual Tools 3.0 (eVT 3.0) [MICROSOFT, EMBEDDED VISUAL TOOLS 3.0-2002 EDITION, 2002] ein kostenloses Desktop-Entwicklungspaket für die individuelle Erstellung mobiler Programme an. eVT unterstützt die Sprachen Visual Basic [s. Kapitel 5.3] und Visual C++. Voraussetzung für die Nutzung Java-basierter Applikationen ist die Installation einer Java Virtual Machine (z.B. Insignia Jeode [INSIGNIA , 2004]), die als Plug-In in den Pocket Internet Explorer integriert wird. Somit lassen sich beispielsweise Java-Applets problemlos ausführen. Neben der Programmentwicklung unter Verwendung stationärer PCs gibt es mit PocketC [ORBWORKS, 2003] eine umfangreiche Programmierlösung für mobile Plattformen. Die Software umfasst unter anderem einen prozessorunabhängigen Compiler und mehrere Bibliotheken, in denen nützliche Funktionen abgelegt sind [REINELT, 2002]. Bei der Entwicklung von HTML-Dokumenten muss beachtet werden, dass der Pocket Internet Explorer derzeit ausschließlich das HTML 3.2 Format [vgl. Kapitel 3.1] unterstützt. Infolgedessen sind mobile HTML-Editoren speziell auf diese Version ausgerichtet. 4.2 Holux GM-270 CF Die Bestimmung des aktuellen Standorts ist die Grundlage der Navigation. Dementsprechend wird eine geeignete Hardwarekomponente für das Navigationssystem benötigt. Als einfache Lösung erweist sich die Integration eines GPS-Geräts, das die Position durch Satellitenunterstützung genau ermittelt. GPS-Receiver haben, je nach Anwendungsbereich, sehr unterschiedliche Bauweisen. Zur mobilen Nutzung auf einem Fahrrad kommen, aus praktischer Sicht, nur sehr kompakte Geräte in Frage. Ein mögliches Produkt präsentiert Holux [HOLUX, 2004]mit dem GM-270 CF. Dieser Empfänger arbeitet sehr zuverlässig und kann universell eingesetzt werden. 4.2.1 Grundlagen von GPS Die Darlegungen dieses Abschnitts gehen, sofern nicht anders erwähnt, aus SEEBER (2003) hervor. 4 Ausrüstung 28 Das Global Positioning System (GPS) steht für ein satellitengestütztes Radionavigationssystem, das genaue 3D-Positions-, Navigations- und Zeitinformationen liefert. Es hat den Vorteil, nahezu weltweit und zu jedem Zeitpunkt nutzbar zu sein. Prinzipiell unterteilt sich der Aufbau in Raum-, Kontroll- und Nutzersegment, die im Folgenden näher erläutert werden. Zum Raumsegment zählen 24 Satelliten, die mit einer Bahnhöhe von 20200 Kilometern und einer Umlaufzeit von 12 Stunden, in 6 Bahnebenen platziert sind (Darstellung 4-3). Diese Konstellation befähigt zu einer ortsunabhängigen Verwendung von mindestens 4 Satelliten. Jeder Satellit sendet kontinuierlich zwei Trägerfrequenzen, L1 mit 1600 MHz und L2 mit 1200 MHz aus. Den Trägerfrequenzen sind Navigationssignale (Codes) und Systemdaten aufmoduliert. Während L1 den genauen P-Code (10 MHz) und den weniger genauen C/A-Code (1 MHz) enthält, umfasst L2 ausschließlich den P-Code. In der Auswertung wird durch Kombination der unterschiedlichen Signale die Messgenauigkeit gesteigert. Darstellung 4-3: GPS-Raumsegment [GARMIN, 2004]. Aufgabe des Kontrollsegments ist die Beobachtung und Anpassung des Systems. Weltweit verbreitete Monitorstationen, die permanent alle Satellitensignale aufzeichnen, übertragen die empfangenen Informationen zu einer Hauptkontrollstation. Diese wertet die Daten aus und sendet Korrekturen mit anderen Informationen über Bodenantennen zu den einzelnen Satelliten. GPS-Receiver bilden das Nutzersegment (Darstellung 4-4). Sie erkennen die GPS-Signale und wandeln diese in brauchbare Messwerte, wie Position, Geschwindigkeit oder Zeit, um. Zunächst leitet das Empfangsgerät aus den eingegangenen, codierten Signalen PseudoStrecken zu den Satelliten ab. Mit Hilfe der Satellitenpositionen werden dann die Standortkoordinaten berechnet. Aus geometrischer Sicht sind für die Positionsbestimmung drei Pseudo-Strecken ausreichend. Eine weitere Beobachtung ist jedoch notwendig, da die Receiver-Uhr nicht mit der Satellitenuhr übereinstimmt. Der sich so ergebende Synchronisationsfehler ist der Grund für die Bezeichnung Pseudo-Strecke. 4 Ausrüstung 29 Die Positionen beziehen sich auf das räumliche Bezugssystem WGS-84 mit den geographischen Koordinaten Länge (λ), Breite (ϕ) und Höhe (h). Je nach Instrumentarium, Messmethode und Messbedingung variiert die Positionsgenauigkeit zwischen einem Zentimeter und einigen Metern. Beispielsweise erhöht sich die Qualität mit steigender Anzahl sichtbarer Satelliten. GPS-Satellit GPS-Receiver Darstellung 4-4: GPS-Positionsbestimmung. 4.2.2 Merkmale Der GPS-Receiver GM-270 CF der Firma Holux, abgebildet in Darstellung 4-5, ist als Steckkarte konzipiert und zeichnet sich durch eine platzsparende Bauweise sowie dem geringen Gewicht von unter 50 g aus. Seine Leistungsmerkmale stellen die einfache Verwendung und Integration sicher [HOLUX, 2003]. LED Schnittstelle für externe Antenne Darstellung 4-5: GPS-Empfänger Holux GM-270 CF. Für die schnelle Standortbestimmung wird neben dem P-Code der Trägerfrequenz L1 auch der C/A-Code analysiert. Zudem besitzt das Gerät eine hohe Aufnahmekapazität, die eine gleichzeitige Verfolgung von bis zu 12 Satelliten garantiert. Die Aktualisierung der Ausgabedaten findet im Sekundentakt (1 Hz) statt. Bezogen auf die durchschnittliche Geschwindigkeit eines Fahrrads von 25 km/h entspricht das einer Standortveränderung von 7 Metern und erfüllt bei weitem die Aufdatierungs-Anforderungen im Bereich der 4 Ausrüstung 30 Fahrradnavigation. Dank der implementierten Algorithmen ist selbst in abgeschatteten Gebieten, wie Städten oder Waldrändern, eine absolute Genauigkeit von 5 bis 25 Metern [HOLUX, 2003] erreichbar. Das Produkt unterstützt den CF-Kartenanschluss Typ I zur Integration in andere Systeme (z.B. PDA oder PC). Sollte die Sicht zum Himmel stark eingeschränkt sein, kann der Anschluss einer, optional erhältlichen, externen Antenne Abhilfe schaffen. Eine LED gibt den Gerätestatus wieder. Wenn sie leuchtet, sucht der GPS-Receiver nach verwertbaren Signalen; blinkt sie, werden Satellitensignale erfasst. Das Ausgabeprotokoll basiert auf der NMEA 0183 Spezifikation und setzt sich aus den Datenformaten GGA, GSA, GSV und RMC zusammen. StandardKommunikationsparameter sind 4800 Baud, 8 Datenbits, 1 Stopbit und kein Paritätsbit 8 . Die Formate GGA und RMC konkretisieren die für Navigationszwecke erforderlichen Positionsdaten. Die GSA- und GSV-Datensätze treffen zusätzliche Aussagen bezüglich der Situation und Konstellation der Satelliten. Entscheidende Spezifikationen des Holux GPS-Empfängers resümiert Darstellung 4-6. Merkmal Satellitenverfolgungskanäle Signale Aktuallisierungsrate Positionsgenauigkeit (ohne SA) Ausgabeprotokoll Ausgabeformat Schnittstelle Gewicht Preis (Stand: März 2004) Daten 12 P-Code auf L1, C/A-Code 1 Hz 5 - 25 m NMEA 0183 ( Baud rate: 4800 bps, Data bit: 8, Parity: N, Stop bit: 1) GGA, GSA, GSV, RMC CF Typ I < 50 g 180 € Darstellung 4-6: Technische Daten Holux GM-270 CF [HOLUX, 2003]. 8 Die Bedeutung einzelner Parameter erklärt exemplarisch KIRSCH (2004). 5 Entwicklungsumgebung 31 5 Entwicklungsumgebung Eine effiziente Software-Entwicklung setzt die Verwendung geeigneter Programmierwerkzeuge voraus. Angesichts der Komplexität mobiler Systeme kommen bei der Erstellung des Fahrradtouren-Navigationssystems unterschiedliche EntwicklungsPakete und Programmiersprachen zum Einsatz. Auswahlkriterien sind unter anderem die Verfügbarkeit, die Funktionalität, die Unterstützung der implementierten Datenformate [vgl. Kapitel 3] sowie die Kompatibilität zu den Hardwarekomponenten. Innerhalb dieses Kapitels werden die Merkmale der zur prototypischen Implementierung [s. Kapitel 7] verwendeten Entwicklungsumgebungen ArcView 3.2, EditPlus2, eVB und Javascript zusammengestellt. 5.1 ArcView 3.2 Eine der weltweit am weitesten verbreiteten Desktop-Anwendungen im Bereich Geographic Information Systems (GIS) ist ArcView [ESRI, 2004]. Das Programm kommt aus dem Hause ESRI und umfasst zahlreiche Funktionen zur Integration, Präsentation, Verwaltung und Analyse raumbezogener und situationsbeschreibender Informationen (Geometrie- und Sachdaten). Im Rahmen dieser Arbeit wurde ausschließlich die Version ArcView 3.2 genutzt. 5.1.1 Einführung in GIS Da es sich bei ArcView um ein GIS-Produkt handelt, folgt zunächst eine generelle Betrachtung. ARONOFF (1991) charakterisiert GIS als computergestütztes System, dessen vier Potentiale die Eingabe, Verwaltung, Verarbeitung und Ausgabe geo-refenzierter Daten sind. Der Begriff „geo-referenziert“ weist darauf hin, dass GIS-Daten Objekte reflektieren, die mit einem erdbasierten Koordinatensystem verknüpft sind. Als mögliche Datenquellen bieten sich Karten, Luftbilder oder Tabellen an. Die Eingabe der Informationen verläuft durch Import beziehungsweise Anbindung digitaler Daten (z.B. Informationen aus externen Datenbanken) und Digitalisierung analoger Daten (z.B. Informationen aus analogen Karten). Dateisysteme und/oder Datenbanken kommen für die Verwaltung in Frage. In der Regel findet eine Trennung von Geometrie- und Sachdaten statt [LIEBIG & SCHALLER, 2000], wobei bei der Verarbeitung zwischen der Datenmanipulation und der Datenanalyse zu differenzieren ist. Während die Manipulation lediglich einer Änderung vorhandener Daten entspricht, tragen Analysen, wie beispielsweise die Objektverschneidung, zur Gewinnung neuer Informationen auf Basis des vorliegenden Datenbestands bei. Ausgabemedien wie Karten, Tabellen und Diagramme repräsentieren alle, sowie einzelne Informationen in digitaler oder analoger Form. 5 Entwicklungsumgebung 32 5.1.2 Struktureller Aufbau Das ArcView GIS umschließt die Grundbestandteile Thema (Theme), Tabelle (Table), Ansicht (View), Diagramm (Chart), Layout, Script und Projekt (Project). • Anhand der Geometrie (Punkt, Linie, Polygon) und der einzelnen Objekteigenschaften separieren Themen die räumlichen Objekte. Dabei fasst ein Thema zweckmäßig Daten eines bestimmten Typs zusammen (z.B. Straßen oder Gewässer). • Tabellen listen Objekte und deren Attribute auf. Jede Zeile steht für ein Objekt und jede Spalte für ein Attribut, das einen räumlichen oder sachlichen Bezug haben kann. • Die Ansichten kontrollieren die Datenzusammenstellung und -darstellung. Darüber hinaus sind sie mit diversen Werkzeugen zur Analyse und Bearbeitung von Daten verbunden. ArcView ordnet Themen nach dem Layerprinzip. Demnach überlagern sich einzelne, voneinander unabhängige Themen (Layer), wodurch ein Gesamtbild entsteht. • Diagramme zeigen in graphischer Form die zahlenmäßige Abhängigkeit zwischen zwei oder mehr Attributen einer Tabelle. Dabei werden Attribute innerhalb eines Diagramms dynamisch aktualisiert, so dass sich Änderungen in der entsprechenden Tabelle unmittelbar auf die Graphik auswirken. • Der Schwerpunkt von Layouts liegt in der Datenausgabe. Layouts definieren Karten, die Ansichten, Diagramme, Tabellen und andere Elemente miteinander kombinieren und wiedergeben. Modifikationen im Datenbestand wirken sich unmittelbar auch auf Layouts aus. • Um den individuellen Nutzeransprüchen zu entsprechen, integriert ArcView eine Script-Komponente. Scripte enthalten Quellcodes in Avenue, der systeminternen Programmierumgebung [s. Kapitel 5.1.5]. Sie befähigen den Anwender Prozesse zu automatisieren, neue Funktionen hinzuzufügen und spezifische Applikationen oder Erweiterungen zu entwickeln [ESRI, 1998]. • Das Projekt ist ein Verwaltungsinstrument in ArcView. Es verweist auf alle Themen, Tabellen, Ansichten, Layouts, Scripte und andere Objekte, die einem bestimmten Projekt angehören. Das gleichzeitige Öffnen mehrerer Projekte wird in ArcView nicht unterstützt. 5.1.3 Bedienung Die Benutzeroberfläche von ArcView ist menügesteuert und trotz einer Vielzahl an Funktionalitäten relativ leicht zu bedienen. Überdies können Anwender individuelle Anpassungen vornehmen. Die Komponenten gliedern sich originär in Projekt-Fenster, 5 Entwicklungsumgebung 33 Menüleiste, Buttonleiste, Toolleiste, Ansichten-, Tabellen-, Diagramm-, Layout- und Script-Fenster. Darstellung 5-1: ArcView 3.2 Projekt-Fenster. Nach dem Start des Programms oder Laden eines vorhandenen Projekts erscheint das in Darstellung 5-1 gezeigte Projekt-Fenster. Es listet alle Dokumente (Ansichten, Tabellen, etc.), die dem Projekt zugeordnet sind, nach deren Art auf und dient primär der Projektorganisation. Jedes Dokument wird beim Öffnen oder Erstellen in einem eigenen Fenster angezeigt. Inhaltsverzeichnis Ansichten-Fenster Menüleiste Toolleiste Darstellung 5-2: ArcView 3.2 Oberfläche. Buttonleiste 5 Entwicklungsumgebung 34 Darstellung 5-2 illustriert die Kontrollleisten inklusive dem Ansichten-Fenster. Der Inhalt der Kontrollleisten passt sich dem aktiven Fenster, also der Art des geöffneten Dokuments an. Systematisierte Befehlslisten in der Menüleiste gewähren Zugriff auf fundamentale Funktionen und Hilfsmittel (z.B. Speicheroptionen). Die Buttonleiste verfügt über mannigfaltige Kontrollen für den schnellen und direkten Zugriff auf Prozesse (z.B. Hinzufügen eines Themas). Werkzeuge aus der Toolleiste (z.B. Verschiebehand) sind speziell auf die Arbeit mit dem Datenbestand abgestimmt, wobei ein markiertes Tool solange aktiviert bleibt, bis ein anderes ausgewählt wird. Das Ansichten-Fenster stellt eine Art interaktive Karte dar und erfüllt die Aufgabe der Präsentation und Modifikation von Themen. Wichtigstes Detail ist das Inhaltsverzeichnis, welches die Darstellung innerhalb der Ansicht steuert und alle Themen auflistet. Zur Manipulation der Themenwiedergabe kann über das Verzeichnis ein Legendeneditor aufgerufen werden. Einen Eindruck über die Erscheinung weiterer Fenster vermittelt Darstellung 5-3. Innerhalb des Tabellenfensters gibt es die Möglichkeit, einzelne oder mehrere Objekte zu selektieren, zu bearbeiten und zu analysieren. Die zweckmäßige und formgerechte Informationsausgabe koordinieren Diagramm- und Layoutfenster. Hinter dem ScriptFenster verbirgt sich ein einfacher Text-Editor für die Programmierung in Avenue. Script-Fenster Diagramm-Fenster Tabellen-Fenster Layout-Fenster Darstellung 5-3: ArcView 3.2 Script-, Diagramm-, Tabellen- und Layoutfenster. 5 Entwicklungsumgebung 35 5.1.4 Avenue Avenue ist eine speziell auf ArcView abgestimmte, objektorientierte Programmiersprache und gestattet die Bearbeitung vorhandener sowie die Entwicklung neuer Funktionalitäten. Der Vorteil einer objektorientierten Programmierung (OOP) liegt in der Syntax, die konsequent aus Klassen, Objekten und Anfragen gebildet wird. Eine Klasse bestimmt die konzeptuellen Eigenschaften der ihr zugeordneten Objekte. Diese sind Programmteile, die Funktionen und Daten zu einer Einheit zusammenpacken. Dadurch lassen sich komplexe Aufgaben durch einfache Anfragen an das jeweilige Objekt durchführen. In Avenue gibt es vordefinierte Klassen für den Zugriff auf sämtliche Komponenten, Daten und Funktionen. Der Benutzer kann dadurch ArcView nahezu beliebig anpassen und erweitern. Leider beinhaltet das Programm lediglich einen sehr einfachen Quelltext-Editor, das Script-Fenster. Besonders bei der Entwicklung vielschichtiger Scripte wirken die integrierten Werkzeuge recht simpel, im Vergleich zu anderen Editoren. So wird weder der Funktionsaufruf über die rechte Maustaste, noch die Scroll-Funktion der Maus unterstützt. Im WWW sind kostenlose oder kommerzielle ArcView-Scripte und -Erweiterungen in großer Anzahl verfügbar. Beispielsweise offeriert ESRI freie Anwendungen unter http://arcscripts.esri.com. 5.2 EditPlus2 Mit EditPlus2 [ES-COMPUTING, 2003] bietet die Firma ES-Computing eine sehr komfortable Software für die Erstellung textbasierter Dateien an. Es kann als einfacher Text- und als Programmier-Editor verwendet werden. Das Programm unterstützt die Formate HTML, CSS, XML, PHP, PERL, C/C++, Java, JavaScript und VBScript, wobei auch die Möglichkeit besteht, eigene Syntaxen zu erstellen. Die Benutzeroberfläche ist nach Darstellung 5-4 sehr übersichtlich angeordnet und enthält, abgesehen von dem eigentlichen Text, diverse Werkzeuge und Funktionalitäten. Innerhalb des Textes sind Syntaxelemente durch differenzierte Farbgebung hervorgehoben, die optional eine individuelle Anpassung ermöglich. Für die Entwicklung und Bearbeitung von Dokumenten stehen Hilfsmittel wie die automatische Vervollständigung, das Einfügen spezifischer Textausschnitte oder die leistungsfähigen Suchoptionen zur Verfügung. Darüber hinaus unterstützt EditPlus2 die Integration eigener Tools. Entsprechend der hohen Flexibilität und Anwenderkontrolle wird das Programm auch professionellen Ansprüchen gerecht und eignet sich sehr gut für den effizienten Aufbau von Dokumenten. Eine funktionsfähige Trial-Version von EditPlus2 ist unter ES-COMPUTING (2003) abrufbar. 5 Entwicklungsumgebung 36 Darstellung 5-4: EditPlus2-Benutzeroberfläche. 5.3 eMbedded Visual Basic Microsoft hat mit eMbedded Visual Basic9 (eVB) eine kostenlose Umgebung zur Entwicklung von Programmen für mobile, auf Windows CE basierende Endgeräte bereitgestellt. Die hier aufgeführten Erläuterungen und Aspekte beziehen sich auf die aktuelle Version eVB 3.0 und sind, sofern nicht anders angegeben, MICROSOFT, EMBEDDED VISUAL BASIC 3.0 (2000) entnommen. 5.3.1 Einführung Wegen der weiten Verbreitung im stationären und mobilen Bereich sowie der einheitlichen Darstellung und Bedienung, gelten Windows-Programme als sehr anwenderfreundlich. eVB stattet Programmentwickler mit einem leistungsfähigen Instrument für die Konstruktion mobiler Anwendungen aus. Das Entwicklungssystem besteht aus einem Emulator, einem Quellcode-Editor, einem Form-Editor und diversen Werkzeugen. Der Emulator simuliert ein mobiles Gerät und gestattet das Testen von Windows CE Programmen auf stationären Plattformen. Um das Auftreten von Fehlern zu minimieren, gibt es einen Debugger, der zur Entwurfszeit den Quelltext hinsichtlich Syntax und Variablen überprüft. eVB erzeugt keine Stand-Alone-Anwendungen, so dass zur 9 Die Vollversion von eVB 3.0 ist im WWW unter http://msdn.microsoft.com erhältlich. 5 Entwicklungsumgebung 37 Programmausführung immer ein Interpreter10 benötigt wird. Dieser übersetzt das Programm zur Laufzeit in Maschinensprache. Besondere Funktionalität bieten die RemoteTools. Sie ermöglichen die Kommunikation zwischen stationärem PC und mobilem Gerät. Exemplarisch ist die Abbildung der mobilen Ansicht auf dem Desktop-Computer denkbar. Generell setzt sich die eVB-Syntax aus Eigenschaften, Methoden, Objekten und Anweisungen zusammen. Eigenschaften legen bestimmte Charakteristiken von Objekten fest und können kreiert oder abgefragt werden. Methoden sind innerhalb eines Objekts deklarierte Prozeduren und beschreiben die dynamische Reaktion von Objekten auf Ereignisse. Schlussfolgernd erscheinen Objekte als Kombination von Eigenschaften und Methoden. Der innere Programmablauf wird unter Verwendung von Anweisungen, wie Kontroll- oder Schleifenstrukturen, organisiert. Vertiefende Informationen über eVB stellt unter anderem Grattan (2002) dar. 5.3.2 Bedienung Die originäre Entwicklungsoberfläche von eVB ist aus Darstellung 5-5 ersichtlich und kann individuell angepasst und erweitert werden. Als Hauptkomponenten dienen Menüleiste, Standard-Toolleiste, Projekt-Explorer, Toolbox, Form-Fenster, Code-Fenster und Eigenschaften-Fenster. In der Menüleiste befinden sich mehrere Befehlslisten, die generelle Funktionen zur Steuerung und Erscheinung von eVB einschließen. Um dem Anwender einen optimierten Zugriff auf häufig benutzte Befehle zu gewähren, umfasst die Standard-Toolleiste Symbole, die bei Aktivierung den entsprechenden Prozess starten, zum Beispiel das Öffnen oder Schließen eines Projekts. Neben der StandardSymbolleiste gibt es Toolleisten für die Fehlerbehandlung, der Quelltext- und der Formbearbeitung. Für die Gestaltung der Form stellt die Toolbox verfügbare Elemente (Controls) wie Linien, Schaltflächen oder Textfelder bereit. Nach der Markierung des betreffenden Symbols kann das Objekt im Form-Editor gezeichnet werden. Der Projekt-Explorer verwaltet alle, einem Projekt zugeordneten Dateien und listet diese in Form einer Baumstruktur auf. Er ermöglicht dem Entwickler einzelne Dateien anzusprechen und zwischen Code- und Formansicht zu wechseln. Das Layout des Form-Fensters entspricht der Benutzeroberfläche des eVB-Programms. Danach kommt die Form einer visuellen Schnittstelle zwischen Anwender und Programm gleich und beinhaltet sämtliche Dialog-, Eingabe- und Ausgabeelemente. Objekte, die Prozesse im Hintergrund der Anwendung steuern (z.B. Timer Control oder File Control), sind für den Anwender unsichtbar. 10 Dem eVB-Packet ist bereits ein Interpreter beigefügt. 5 Entwicklungsumgebung 38 Ein Quelltexteditor steht in Form des Code-Fensters bereit. Er dient explizit der Eingabe und Bearbeitung von Ereignisprozeduren, die mit Objekten einer Form verknüpft sind. Zur Erleichterung der Code-Eingabe sind zwei Listenfelder in das Fenster integriert. Im Objekt-Listenfeld wird eine Übersicht der vorhandenen Objekte gegeben und das Prozedur-Listenfeld reflektiert die möglichen Ereignisse eines bestimmten Objekts. Standardmäßig ist die farbige Darstellung des Quelltextes unterschiedlich. Unter anderem erhalten Schlüsselwörter das Farbattribut Blau, Anweisungen das Farbattribut Schwarz. Jedes Objekt in eVB hat spezielle Charakteristiken wie Name, Farbe oder Position. Die Merkmale eines im Form-Fenster markierten Elements registriert das EigenschaftenFenster. Innerhalb des Fensters können die den Eigenschaften zugewiesenen Werte verändert werden. Menüleiste Toolbox Standard-Toolleiste Form-Fenster Code-Fenster Projekt-Explorer Eigenschaften-Fenster Darstellung 5-5: eVB 3.0-Entwicklungsoberfläche. 5.3.3 Erstellung von Programmen eVB ist eine ereignisorientierte Programmiersprache und dementsprechend vor allem für die Entwicklung interaktiver Anwendungen geeignet. Aufgrund der notwendigen relativ zeitaufwendigen Interpretation des eVB-Codes wird bei rechenintensiven Programmen 5 Entwicklungsumgebung 39 eine Implementierung in C oder C++ favorisiert. Der Vorteil dieser Sprachen liegt in der Integration eines Compilers, der die Programme optimiert und vollständig in Maschinensprache übersetzt. Anwendungen können so direkt vom Prozessor gelesen und ausgeführt werden. Die Programmentwicklung in eVB erfolgt nach LEHMANN (1999) in sechs Arbeitsschritten: Schritt 1: Analyse der Aufgabenstellung Vor der eigentlichen Programmierung ist der graphische und funktionale Inhalt einer Anwendung klar zu definieren. Dann empfiehlt sich die Zusammenstellung wichtiger Objekte und die grobe Strukturierung des Programmablaufs. Schritt 2: Gestaltung der Benutzeroberfläche Im Form-Fenster entsteht das geometrische Programmlayout durch Positionierung aller notwendigen Elemente. Schritt 3: Festlegung der Eigenschaften Für jedes Objekt sind, unter Verwendung des Eigenschaften-Fensters, die Attribute zu fixieren. Schritt 4: Programmierung der Ereignisprozeduren Reaktionen einzelner Elemente auf bestimmte Ereignisse beschreiben Ereignisprozeduren. Diese werden in Form von Anweisungen innerhalb des Code-Fensters entworfen. Schritt 5: Prüfung der Anwendung Umfangreiche Tests der Anwendung dienen der Kontrolle und dem Erkennen von Fehlern. Zusätzlich decken sie konzeptionelle und programmiertechnische Schwachstellen auf, die der Entwickler dann beseitigen kann. Schritt 6: Erstellung einer ausführbaren Programmdatei Zuletzt wird ein Programmordner mit Hilfe des Application Install Wizards, einem eVBTool, erstellt. Der Ordner enthält als Hauptbestandteil eine Setup-Datei, die automatisch das Programm und alle zur Ausführung erforderlichen Dateien auf der Anwenderplattform installiert. 5.4 JavaScript In Anlehnung an Java11 haben die Kooperationspartner Sun und Netscape mit Javascript eine neue, sehr einfache Programmiersprache entwickelt und 1995 veröffentlicht [ROTTER, 2002]. Motivation war es, dem Anwender neben den komplizierten Sprachen C, C++ und Java eine leicht zu erlernende und für einfache Aufgaben ausreichende Version anzubieten. Im Wesentlichen ergänzt JavaScript Auszeichnungssprachen wie HTML oder SVG um 11 Einzelheiten zu der Programmiersprache Java finden sich unter anderem in PEARSON (2004). 5 Entwicklungsumgebung 40 zusätzliche Funktionalität und Interaktion. Deshalb bildet die Sprache einen sehr wichtigen Baustein bei der Erstellung anspruchsvoller Webseiten und anderen, dynamischen Dokumenten. Javascript ist eine Interpretationssprache und wird daher ausschließlich in reinem Textformat deklariert. Ein Browser (Viewer) übernimmt dann die Interpretation des Dokuments zur Laufzeit der Anwendung. Da nicht alle Browser den gesamten JavaScriptUmfang unterstützen, empfiehlt es sich, die Anwendungen in mehreren bekannten Viewern zu testen. 2001 gab Sun mit Javascript 1.3 die letzte aktualisierte Version heraus. Daneben veröffentlicht das Gremium ECMA 12 kontinuierlich allgemeingültige Standards für Internet-Scriptsprachen. Der ECMA-Standard für Javascript heißt ECMAScript und gilt als Muster für Hersteller von Sprachinterpretern. Die Integration einer Javascript-Anwendung in ein SVG-Dokument soll nachstehend dargelegt werden. Eine SVG-Datei kann beliebig viele interne und externe Scripte aufweisen. Diese sind unter Verwendung des Container-Elements <script> an beliebiger Stelle innerhalb des Root-Elemets <svg> deklariert. Der Ausdruck für interne Scripte lautet: <script type=“text/javascript“> <!CDATA[ script-anweisungen ]]> </script> ist ein Pflichtattribut von <script> und informiert den Parser über den Scripttyp. Durch die Einbettung in CDATA (Character Data) erkennt der Interpreter, dass es sich nicht um SVG-Daten handelt. Auf externe Scripte wird mit Hilfe des Attributs xlink:href verwiesen: type <script type=“text/javascript“ xlink:href=“dateiname.js”/> Ein Javascript-Code besteht grundsätzlich aus Variablen, Operatoren, Anweisungen (Statements), Funktionen und Objekten. Variablen entsprechen einem reservierten Speicherplatz, der anhand des Namens kontrolliert wird. Beispielsweise kann die Variable zahl den Wert 10 zugewiesen bekommen: var zahl=10; 12 ECMA gehören mehrere Softwarehersteller, wie Microsoft oder Netscape, an. 5 Entwicklungsumgebung 41 leitet die Deklaration der Variablen ein. Als Datentypen kommen Zahlen, Strings, boolesche Werte und Objekte in Betracht. Ein Semikolon schließt die Anweisung ab. var Die Operatoren stellen Verknüpfungen und Vergleiche zwischen Variablen her. Es gibt unter anderem Vergleichsoperatoren (z.B. <, >, ==), Berechnungsoperatoren (z.B. +, -, *, /) und logische Operatoren (z.B. &&, ||). Die Anweisungen entsprechen der Kombination von Variablen und Operatoren. Sie steuern den Programmablauf und können mit Bedingungen oder Schleifen verknüpft sein. Anweisungsblöcke in geschweiften Klammern fassen einzelne Statements zu einer Einheit zusammen. Funktionen umfassen eine unbegrenzte Anzahl an Anweisungen, die eine gewisse Dynamik bewirken. Optional können sie eingehende Parameter und einen Rückgabewert einschließen: function name (parameter) { anweisung; ... return variable; } identifiziert das Element name als Funktion. Soll ein Wert erzeugt werden, ist dieser mit der return-Anweisung zu deklarieren. function Objekte setzen sich aus Attributen und Methoden zusammen. Attribute beschreiben das Objekt und Methoden sind spezielle, dem Objekt zugeordnete Funktionen. Exemplarisch legt das Schlüsselwort this die Attribute Einwohner und Flaeche für die Objektdefinition Land fest: function Land(EW, FL) { this.Einwohner=EW; this.Flaeche=FL; } Objekte werden dann per new-Anweisung instantiiert: var Deutschland=new Land(79000000, 357000); Die neue Variable Deutschland bezieht als Datentyp ein Objekt der Objektdefinition Land mit den Attributen Einwohner=79000000 und Flaeche=357000. Javascript verfügt über eigene, vordefinierte Objekte, die dem Entwickler einfachen Zugriff auf sonst komplexe Variablen und Methoden verschaffen. Math-, Date-, und Window-Objekt sind hier nur einige Beispiele. Besondere Bedeutung kommt den EventObjekten zu, die die wichtigste Schnittstelle für Interaktionen bilden. SVG unterstützt 5 Entwicklungsumgebung 42 sowohl Maus-, Tastatur- als auch Dokument-Events. Sogenannte Event-Handler, welche prinzipiell mit anwenderspezifischen Funktionen verknüpft sind, werden beim Eintreten des Ereignisses vom Browser aufgerufen. Der Ausdruck <circle … onclick=“name()”/> entspricht zum Beispiel dem Auslösen einer Funktion name nach dem Klicken mit der Maus (Event: click; Event-Handler: onclick) auf das Element circle. Javascript kann einzelne SVG-Elemente über das Document Object Model13 (DOM), einem API (Application Programming Interface), ansprechen und manipulieren, was in der hierarchischen Baumstruktur von XML begründet ist [vgl. Kapitel 3.2]. Das DOM ist ein neutrales Modell zur Repräsentation der Objektzusammenhänge in Form einer Baumstruktur [FIBINGER, 2002]. Es legt weiterhin die Art und Weise der dynamischen Veränderung des Baums fest [SALATHE, 2002]. Die in diesem Abschnitt beschriebenen Charakteristiken sollen einen kleinen Eindruck über die Funktionsweise und Leistungsfähigkeit der Programmiersprache JavaScript vermitteln. Detailliertere Informationen sind in FLANAGAN (2003) oder alternativer Literatur nachzulesen. 13 DOM-Spezifikationen werden vom W3C herausgegeben. 6 Konzeption 43 6 Konzeption des Fahrradtouren-Navigationssystems In Kapitel 2 wurde eine Einführung in die Thematik der Fahrradtouren-Navigation gegeben und die Funktionalitäten sowie Anforderungen eines entsprechenden mobilen Systems spezifiziert. Darauf aufbauend beschreibt dieses Kapitel das Konzept für ein solches Fahrradtouren-Navigationssystem und geht dabei detailliert auf einzelne Komponenten ein. 6.1 Allgemeine Konzeption Die Systemarchitektur kann, basierend auf den unterschiedlichen Funktionalitäten, in mehrere Komponenten gruppiert werden. Eine Komponente, auch als Modul bezeichnet, ist ein Software-Teil, der eine sinnvoll einsetzbare Funktionalität kapselt und über eine Schnittstelle mit anderen Komponenten kommunizieren kann [BÄR, 2002]. Daten-Komponente Visualisierungs-Komponente Positions-Komponente Querverbindung User-Interface-Komponente Routing-Komponente Darstellung 6-1: Aufbau des Fahrradtouren-Navigationssystems. Mit Bezug auf das mobile Fahrradtouren-Navigationssystem kann, wie aus Darstellung 6-1 ersichtlich ist, eine Aufteilung der Systemarchitektur in 5 Komponenten erfolgen: 1. Daten-Komponente, 2. User-Interface-Komponente, 3. Visualisierungs-Komponente, 4. Positions-Komponente, 5. Routing-Komponente. 6 Konzeption 44 Die Funktion der Daten-Komponente ist die effiziente Speicherung, Verwaltung und Anfragebearbeitung raumbezogener Informationen. Hierzu gehören unter anderem die Organisation und Modifikation von Geo-Objekten sowie die Integration der Standortinformationen. Nach dem Drei-Komponentenmodell für Objektarten, in Darstellung 6-2 verdeutlicht, besteht ein räumliches Objekt aus Geometrie-, Sach- und Graphikdaten [BILL, 1999A ]. Geometriedaten definieren die Form und Lage des Objekts. Um die in Kapitel 2.1 aufgestellten Funktionalitäten zu erfüllen, wird für die Geometrie ein vektorbasiertes Datenmodell angelegt. Sachdaten beschreiben nichtgeometrische Charakteristiken (Eigenschaften, Bezeichnungen, Zahlenwerte, etc.) des Objekts und besitzen Verknüpfungen zu den entsprechenden Objekt-Geometrien. Graphikdaten treffen Aussagen über die Objekt-Darstellung und müssen demnach für Geometriedaten zugänglich sein. Das Speichern und Organisieren der unterschiedlichen Daten geschieht in separaten, miteinander verlinkten Dateien. Räumliche Objekte Geometriedaten Sachdaten Graphikdaten Darstellung 6-2: Drei-Komponentenmodell für Objektarten [BILL, 1999A]. Zur Realisierung von Anwender-Interaktionen liefert die User-Interface-Komponente umfassende Möglichkeiten. Das Hauptaugenmerk liegt auf dem Zugriff und der Steuerung aller Systemkomponenten. Neben den herkömmlichen Zoom- und Pan-Funktionen besitzt die Komponente beispielsweise Positionierungs- und Datenabfrage-Funktionalitäten. Wichtiger Bestandteil ist die Benutzeroberfläche, die unter Verwendung eines vektorbasierten Graphikformats entwickelt wird. Als visuelle Schnittstelle zwischen Anwender und Navigationssystem dient sie dem Starten und Beenden von Prozessen. Zu diesem Zweck werden einzelne Graphikobjekte mit geeigneten Eventhandlern ausgestattet. Bei der Visualisierungs-Komponente handelt es sich um ein Programmpaket, das die diversen Systeminformationen, welche in den verschiedensten Datenformaten vorliegen, graphisch verarbeiten und repräsentieren kann. Zusätzlich erfordert die dynamische Datenwiedergabe innerhalb des Navigationssystems eine Unterstützung von Interaktionen. Angaben über den Standort liefert die Positions-Komponente. Sie analysiert die vom GPSReceiver ausgegebenen Informationen und identifiziert die obligatorischen Daten. Damit andere Komponenten auf die Standortangaben zugreifen können, müssen die Informationen in einem leicht zugänglichen, standardisierten Format abgespeichert werden. Eine Echtzeit-Navigation setzt die Datenaktualisierung in konstanten Zeitintervallen von wenigen Sekunden voraus. 6 Konzeption 45 Routengenerierungsund Routenverfolgungs-Funktionalitäten bietet die RoutingKomponente unter Auswertung der Geo-Daten sowie der Standortangaben an. Um den Rechenprozess zu minimieren, muss die Komponente über einen schnellen Generierungsalgorithmus verfügen. In Hinsicht auf die Routenverfolgung ist eine Wegbeschreibung in Form von reinen Strecken- und Richtungsangaben nur mit Vorbehalt zufrieden stellend. Fahrradfahrer favorisieren die Einbeziehung von Orientierungspunkten (z.B. Kirche, Hochhaus, Tankstelle), sogenannten Landmarken, die eine wichtige Hilfe bei der menschlichen Navigation darstellen [ELIAS & HAMPE, 2003]. Angesichts der komplexen und umfangreichen Problematik der Wegführung wird auf die Konzeption einer Routing-Komponente im Rahmen dieser Arbeit verzichtet. 6.2 Konzeption der Daten-Komponente In diesem Abschnitt wird zunächst ein Überblick über die grundlegenden Konzepte einzelner Datentypen der Daten-Komponente gegeben. Anschließend erfolgt die konzeptuelle Anpassung der Systemkomponente an die Charakteristiken des mobilen Endgeräts. Abschließend beschreibt der Abschnitt die Integration von Standortinformationen sowie den Generierungsprozess der Komponente. 6.2.1 Geometriedaten Der Forderung nach einem vektororientierten Graphenmodell zur Speicherung und Wiedergabe von Geo-Objekten wird mit einem Spaghetti-Datenmodell (Darstellung 6-3) entsprochen. Nach diesem Modell lassen sich Form und Position der Objekte mit Hilfe der durch Koordinaten beschriebenen Grundelemente Punkt, Linie und Polygon definieren. Datenmodell Datenstruktur Objekt 1 3 2 ID Geometrie Punkt 1 x,y-Koordinaten Linie 2 x1 ,y1 ... xn ,yn Polygon 3 x1 ,y1 ... xn ,yn ID – Objekt-Identifikator Darstellung 6-3: Spaghetti-Datenmodell [HAKE ET AL., 2002]. Das Spaghetti-Datenmodell ermöglicht eine einfache Datenstrukturierung und Datenerfassung. Typisches Generierungsbeispiel ist die linienweise Digitalisierung einer analogen Karte. Innerhalb der Datenstruktur können Objekte mühelos hinzugefügt oder entfernt werden. Nachteil des Konzepts ist die Datenredundanz sowie die fehlende explizite Topologie. Datenredundanz ergibt sich aus der notwendigen, wiederholten Abspeicherung von Punkten, die mehreren Objekten angehören. Topologie zeigt 6 Konzeption 46 Nachbarschaftsbeziehungen zwischen den Geo-Objekten auf und ist damit ein wichtiges Kriterium für raumbezogene Analysen. Topologische Beziehungen leiten sich im Spaghetti-Datenmodell lediglich aus den redundanten Geometriedaten ab. Demzufolge genügt das Modell nur bedingt den Anforderungen analytischer Funktionalitäten, wie zum Beispiel der Routensuche. Es eignet sich aber sehr gut zur effizienten Entwicklung digitaler Kartengraphiken. Die Spaghetti-Datenstruktur der Geometriedaten wird unter Verwendung des Standardformats SVG umgesetzt. SVG ist als eine XML-Applikation auf die Speicherung und Präsentation von Vektorgraphiken explizit ausgerichtet. Als weiterer Vorteil erweist sich die Unterstützung dynamischer Zugriffe auf einzelne Elemente und die einfache Möglichkeit der Datenmodifikation [vgl. Kapitel 3.2]. Einen Bezug zu den Graphik- und Sachdaten bilden die im geometrischen Datenmodell erstellten Elemente über speziell definierte Verweise (Darstellung 6-4). Individuelle Sachdaten Attribute 2 Attribute 3 Geometriedaten Geometrie 1 Geometrie 2 Geometrie Graphikdaten Attribute 1 Gestaltung 1 Gestaltung 2 Darstellung 6-4: Verbindungen zwischen Geometrie -, Graphik- und Sachdaten. Da die Darstellungsart für Objekte einer Objektart gleich ist und redundante Daten möglichst vermieden werden sollen, sind Objekt-Geometrien nach dem Layerkonzept zusammengefasst. Das Layerkonzept ordnet die Geometriedaten anhand ihrer unterschiedlichen Thematik in verschiedene Ebenen (Layer) ein [BARTELME, 2000]. Jede Ebene besitzt so nur eine Verknüpfung zu den entsprechenden Graphikdaten. Durch Übereinanderlegen einzelner Layer ergibt sich eine Gesamtdarstellung der Situation. SVG simuliert das Ebenenprinzip durch thematische Einteilung der Objekte in Gruppen. Während der graphischen Datenpräsentation überlagern Gruppen, die in der SVG-Datei am Ende positioniert sind, alle zuvor definierten Datensätze (Darstellung 6-5). Im Gegensatz zu den graphischen Beschreibungen gibt es unter den Sachinformationen auch Attribute, die sich auf individuelle Objekte beziehen. Dadurch müssen betroffene Objekt-Geometrien direkt auf diese spezifischen Sachinformationen verweisen. 6 Konzeption 47 Datenstruktur in SVG Datenpräsentation ... Gruppe 3 Gruppe 1 Gruppe 2 Gruppe 2 Gruppe 1 Gruppe 3 ... Darstellung 6-5: Layerkonzept in SVG. 6.2.2 Sachdaten Sachdaten beschreiben semantische Kennzeichen raumbezogener Objekte. Mit Semantik werden die inhaltlichen Objektinformationen bezeichnet. Demnach erfordert die sinnvolle Abstraktion realer Objekte, neben einer Festlegung der Geometriedaten, auch die Definition signifikanter Sachdaten. Einfaches Beispiel ist die Modellierung einer Straße. Deren Objekt-Geometrie, prinzipiell eine Linie, gibt nicht eindeutig zu erkennen, ob es sich um eine Straße, eine Bahnlinie oder einen Fluss handelt. Erst durch die Zuweisung des semantischen Kennzeichens STRASSE wird eine Abgrenzung der Straße zu anderen Objekten erreicht. Als Sachdaten kommen exemplarisch Namen, Texte und Zahlen in Betracht. Das semantische Datenmodell des Fahrradtouren-Navigationssystems abstrahiert, nach Methode der Klassifikation, Objekte mit gemeinsamen Attributen durch eine Gruppe. Dadurch entstehen Objektklassen, deren Strukturierung dem im vorherigen Abschnitt geschilderten Layerprinzip entspricht. In Abhängigkeit von der Priorität einer Klasse wird diese in das Layermodell eingeordnet. Wichtige Klassen sind weiter oben, unwichtige weiter unten situiert. Grundlage der Entwicklung des semantischen Modells bildet der ATKIS-Objektartenkatalog [s. Kapitel 6.2.6], da die verwendeten Geo-Daten den ATKISDatenbeständen entstammen. Begründet in der umfangreichen Themenaufschlüsselung und dem objektklassenbasierten hierarchischen Aufbau des Objektartenkataloges müssen die vorgegebenen Objektklassen für die Verwendung im Fahrradtouren-Navigationssystem selektiert, generalisiert, aggregiert und komplettiert werden [s. Kapitel 6.2.6]. Darstellung 6-6 führt das semantische Modell des Fahrradtouren-Navigationssystems vor. Demnach abstrahieren 24 in unterschiedlichen Layern abgelegte Objektbereiche die reale Welt. Dieses ausführliche Datenmodell kommt der auf dem Gebiet der Fahrradnavigation geforderten detaillierten Situationsbeschreibung nach. Eine weitere geforderte Funktionalität des Systems ist die Bereitstellung von Zusatzinformationen über bestimmte POIs. Infolge der begrenzten Darstellungsmöglichkeiten auf dem PDA-Displays erweist sich eine Integration der Daten in die Kartengraphik als wenig sinnvoll. Darum wird für jedes POI-Objekt eine HTMLDatei angelegt, die alle benötigten Informationen enthält [vgl. Kapitel 3.1]. Die HTML- 6 Konzeption 48 Datei ist mit der Objekt-Geometrie verknüpft und lässt sich über diese optional aufrufen. Im Rahmen des konzipierten Navigationssystems sind Objekte der Layer Rastinfo und Kulturinfo mit zusätzlichen Sachdaten, wie zum Beispiel einer eingehenden Objektbeschreibung ausgestattet. Rastinfo Kulturinfo Stadion Schwimmbad Zoo Camping Bahn Autobahn Bundesstraße Straße Weg Abstrahierte, reale Welt Fließgewässer Wasserfläche Moor, Heide Parkplatz Sportanlage Grünanlage Wald Grünland Bahnhof Friedhof Punkt-Geometrie Wohngebiet Linien-Geometrie Industriegebiet Flächen-Geometrie Acker Darstellung 6-6: Semantisches Modell. 6 Konzeption 49 6.2.3 Graphikdaten Aufgabe der graphikbeschreibenden Daten ist die Festlegung, wie raumbezogene Objekte (Geometrie- und Sachdaten) graphisch repräsentiert werden sollen. Darstellung 6-7 zeigt, dass die Kombination von Geometriedaten mit Daten der graphischen Ausgestaltung zur Präsentationsgraphik führt [BILL, 1999A ]. Als kartographische Gestaltungsmittel kommen exemplarisch Farbe, Füllung, Strichstärke oder Text in Betracht. Die Auswahl objektspezifischer Graphikdaten geschieht unter Beachtung des Prägnanzprinzips (Prinzip der guten Gestalt). Demzufolge setzen sich Objekte bevorzugt aus graphischen Elementen zusammen, die eine möglichst geschlossene, stabile, in sich folgerichtige und einfache Gestalt ergeben [HAKE ET AL., 2002]. Gewöhnlich stellt eine Einhaltung dieses Grundsatzes die eindeutige Identifizierung von Objekten sicher, auch unter variierenden Gegebenheiten, wie beispielsweise Maßstabs-, Kontrast- oder Farbänderung. Geometriedaten 1 1 3 + 2 Graphik Graphikdaten Objektart 1 Objektart 2 Objektart 3 3 = 2 Darstellung 6-7: Graphische Gestaltung von Geometrie -Daten. Da die Geo-Daten im Fahrradtouren-Navigationssystem, wie bereits erwähnt, aus ATKISDatenbeständen abgeleitet sind und im Bereich der Fahrradnavigation ein maximaler Kartenmaßstab von 1:10000 ausreicht, liegt dem graphischen Modell der ATKISSignaturenkatalog 1:10000 (ATKIS-SK10) zugrunde [s. Kapitel 6.2.6]. Die Vorgaben des Kataloges wurden, sofern erforderlich, an die Eigenarten des mobilen Systems angepasst. Unter anderem bedingen die begrenzten Rechen- und Speicherkapazitäten die Vereinfachung komplexer Objektsignaturen. Innerhalb der Kartengraphik entfällt die Darstellung der Kartenrandangaben, des Kartenrandes und anderen traditionellen Kartenbestandteilen. Dies begründet sich durch das begrenzte Platzangebot auf dem PDA-Display. Um dennoch eine korrekte Interpretation von einzelnen Kartenobjekten zu gewährleisten, wird eine externe Zeichenerklärung (Legende) unter Nutzung von SVG erstellt und in einer HTML-Datei eingebettet. Somit kann der Anwender bei Bedarf auf erläuternde Informationen durch Aufruf der Legende zurückgreifen. Generell befinden sich sämtliche Graphikdaten der Datenkomponente in einer CSS-Datei. CSS ist ein Standardformat für die Präsentation strukturierter Informationen und verfügt über umfangreiche graphische Elemente [vgl. Kapitel 3.3]. Durch die Kompatibilität zu 6 Konzeption 50 SVG und den unkomplizierten Zugriffs- und Modifikationsfunktionalitäten stellt CSS die ideale Lösung für die Speicherung graphischer Beschreibungen dar. Graphikdaten einer Thematik werden gemeinsam unter einem Identifikator abgelegt und lassen sich über diesen abfragen und bearbeiten. 6.2.4 Integration der Tour- und der Standort-Daten Die fundamentale Aufgabe des Fahrradtouren-Navigationssystems besteht in der Navigation des Anwenders. Darum muss die Daten-Komponente neben den modellierten Objekten der realen Welt auch die eigentlichen Tourdaten sowie die Standortangabe mit einbeziehen (Darstellung 6-8). Es ist wichtig, dass die entsprechenden Informationen nicht nur gespeichert und präsentiert, sondern auch mit den räumlichen Objekten eindeutig in Beziehung gesetzt werden. Erst dann kann sich der Bediener in seiner aktuellen Umgebung orientieren. Eine einfache Möglichkeit der Visualisierung bietet die Datenintegration in die Kartengraphik. Topologische Eigenschaften lassen sich so direkt ableiten. Kartengraphik Layer der Tour Layer der Position Andere Layer Transformation Positionskoordinaten in XML-Datei Darstellung 6-8: Integration von Tour und Position in die Daten-Komponente. Routeninformationen beschreiben den nach bestimmten Aspekten festgelegten Weg von einem Start- zu einem Zielpunkt. Sie entstehen demzufolge durch die Kombination linearer Geo-Objekte (Straßen, Wege, etc.) unterschiedlicher Objektklassen (Ebenen). Da das Layerkonzept keine individuelle graphische Gestaltung von Objekten innerhalb einer Ebene zulässt [vgl. Kapitel 6.2.3], wird für die Tourdaten ein zusätzlicher Layer angelegt, der die anderen Graphikebenen, mit Ausnahme des Positions-Layers, überdeckt. Diese Abgrenzung der routenbasierten Informationen von anderen Geo-Objekten gestattet die unabhängige Erstellung, Gestaltung und Bearbeitung der Tourdaten. Konzepte für die Generierung und Modifikation der Tourdaten sind nicht Inhalt dieser Arbeit. Informationen über die Standortposition werden ebenfalls durch Darstellung in einem übergeordneten unabhängigen Layer in die Kartengraphik mit eingebunden. Geometrisch präsentiert sich der Standort als Punkt, dessen Kartenposition durch ein Koordinatenpaar bestimmt ist. Eine separate XML-Datei enthält die von der Positions-Komponente ausgegebenen Standortkoordinaten Breite und Länge [vgl. Kapitel 4.2.1]. Vorteil des XML-Formats ist das strukturierte Ablegen von Daten und die Unterstützung des direkten Zugriffs auf bestimmte Elemente [vgl. Kapitel 3.2]. Somit kann die Kartengraphik geometrische Standortinformationen explizit abfragen. Die graphische Wiedergabe der 6 Konzeption 51 Position setzt eine Transformation der abgespeicherten geographischen Koordinaten, die sich auf das räumliche WGS-84 Bezugssystem beziehen, in das zweidimensionale Graphikkoordinatensystem voraus. Gelingt die ausreichend genaue Transformation bei kleineren Gebieten noch mit einem affinen Ansatz über in beiden Systemen bekannte Punkte, bedarf es bei weitläufigen Gebieten einer vollständigen komplexen Koordinatenumwandlung. Letztere beansprucht eine hohe Rechenkapazität, so dass, insofern möglich, eine Affintransformation vorzuziehen ist. Für eine Übertragung der Standortinformation an den Systembediener in Echtzeit muss die Daten-Komponente über Funktionen verfügen, welche in bestimmten Zeitintervallen alle notwendigen Informationen abfragen und die Kartengraphik dementsprechend aktualisieren. 6.2.5 Optimierung Das Konzept der Daten-Komponente des Fahrradtouren-Navigationssystems geht grundsätzlich von der Datenpräsentation in Form einer Vektorgraphik aus. Wie in Kapitel 2.1 gefordert, muss die Kartengraphik detaillierte Geo-Informationen im Maßstab 1:10000 darstellen. Aufgrund des umfassenden Informationsgehaltes und der begrenzten Rechenund Speicherkapazitäten auf mobilen Endgeräten kann es während der dynamischen Graphikanzeige auf dem PDA zu extremen Laufzeitverzögerungen oder sogar zu Systemüberlastungen kommen. Demzufolge werden Lösungen gesucht, die ohne graphische Qualitäts- und Quantitätsänderung das Auftreten solcher nachteiligen Systemerscheinungen verhindern. Durch die Präsentation der Situation im Maßstab 1:10000 wird auf dem 3,8 Zoll Kleindisplay des PDAs nur ein geringer Teil der Kartengraphik wiedergegeben. Exemplarisch abstrahiert die Displaybreite von 5,8 Zentimetern eine reale Entfernung von 580 Metern. Unter der Annahme einer Ost-West-Ausdehnung der Gesamtsituation von 10 Kilometern sind auf der Geräteanzeige weniger als 20 Prozent der Kartengraphik sichtbar. Trotzdem bedingt die vektorbasierte Daten-Komponente eine vollständige, rechenintensive Generierung der Kartengraphik. Abhilfe schafft die Umwandlung der einfachen Vektorgraphik in eine hybride Graphik, welche Raster- und Vektortechniken miteinander kombiniert. Die vektororientierte Kartengraphik wird in separate Grids (Rechtecke) unterteilt, die in einer übergeordneten Rasterstruktur positioniert sind. Jedes Grid enthält eine eigenständige Vektorgraphik, deren Größe mindestens dem Ausmaß des sichtbaren Ausschnitts entspricht. Während der Kartenpräsentation erstellt das Navigationssystem allein die auf dem Display sichtbaren Elemente und minimiert damit die Systemauslastung. Prinzipiell gibt es zwei Möglichkeiten die Hybridgraphik aufzubauen: Methode 1: Unterteilung der Kartengraphik in sich überlagernde Grids, Methode 2: Unterteilung der Kartengraphik in benachbarte Grids. Nach Methode 1, illustriert in Darstellung 6-9, zeigt das System ausschließlich ein Kartensegment an. Gelangt der sichtbare Ausschnitt an die Grenze des geladenen Grids, wird dieses aus der Kartengraphik entfernt und das nächstliegende Segment geladen. Entscheidender Faktor für das Auswählen und Wechseln des aktiven Grids ist die Position 6 Konzeption 52 des Displaymittelpunktes innerhalb der Rasterstruktur. Das Datensystem bildet immer das Grid ab, dessen Zentrum den kleinsten Abstand zum Displaymittelpunkt besitzt. Um eine lückenlose Situationswiedergabe zu gewährleisten, müssen sich die einzelnen Kartensegmente überdecken. Dies führt zu einer Redundanz der Daten und einer großen Anzahl an Teilgraphiken. Zum Beispiel werden für die Unterteilung einer Kartengraphik in Segmente mit einem Überdeckungsgrad von 50 Prozent und einem Viertel des ursprünglichen Kartenausmaßes 9 Teilgraphiken benötigt (Darstellung 6-9). Ein erhöhter Speicherbedarf der Daten-Komponente ist die Folge. Hybride Kartengraphik mit sich überlagernde Teilgraphiken Anzahl n der Teilgraphiken (Überdeckung: 50%) n = (2x1 -1) (2x2 -1) mit x1 , x2 ∈ N x1 = Breite der Kartengraphik Breite der Teilgraphik x2 = Höhe der Kartengraphik Höhe der Teilgraphik Kartengraphik Teilgraphik Darstellung 6-9: Hybride Kartengraphik mit sich überlagernde Teilgraphiken. Methode 2 geht von einer Unterteilung der Kartengraphik in benachbarte Elemente aus (Darstellung 6-10). Da sich die einzelnen Teilgraphiken nicht überdecken, bleibt die Segmentanzahl relativ klein und der Umfang der Daten-Komponente nahezu gleich. Exemplarisch besteht die Kartengraphik in Darstellung 6-10 aus 9 Teilgraphen mit einer jeweiligen Größe von 1 /9 der Gesamtgraphik. Allerdings müssen im ungünstigsten Fall vier Segmente gleichzeitig geladen und dargestellt werden. Darum ist eine Nutzung des Konzeptes erst sinnvoll, wenn die hybride Kartengraphik aus mehr als vier Grids besteht. Ähnlich der ersten Methode bestimmt das Datensystem über den Abstand des Gridzentrums vom Displaymittelpunkt die zu aktivierenden Teilgraphiken. Als Nachteil der Segmentierung in benachbarte Grids erweist sich die Behandlung von Objektbeschriftungen, wie Bezeichnungen von Straßen, Stadtteilen oder Gebäuden. Eine vollständige Wiedergabe von Textelementen ist nur dann möglich, wenn diese nicht die Grenzen einer Teilgraphik schneiden. Infolgedessen können Informationsverluste auftreten. Die Beschreibung der beiden Methoden macht deutlich, dass in Abhängigkeit von den individuellen Charakteristiken einer Anwendung das eine oder das andere Konzept zu favorisieren ist. Im Rahmen der Entwicklung des anwendungsspezifischen FahrradtourenNavigationssystems findet wegen des geringeren Speicherbedarfs der zweiten Methode ein Aufbau der hybriden Kartengraphik unter Nutzung benachbarter Teilgraphiken statt. Zu diesem Zweck werden die geometrischen Informationen der Daten-Komponente in 6 Konzeption 53 regelmäßige Teilgraphiken eingeordnet. In der für Geometrie-Daten zuständigen SVGDatei wird ein Graphiksegment durch die Einteilung der entsprechenden Informationen in eine übergeordnete Gruppe gebildet. Den eindeutigen Aufruf eines Grids ermöglicht ein dem Grid zugeteilter Identifikator. Hybride Kartengraphik mit benachbarten Teilgraphiken Anzahl n der Teilgraphiken n = x1 x2 mit x1 , x2 ∈ N x1 = Breite der Kartengraphik Breite der Teilgraphik x2 = Höhe der Kartengraphik Höhe der Teilgraphik Kartengraphik Teilgraphik Darstellung 6-10: Hybride Kartengraphik mit benachbarten Teilgraphiken. Das Konzept der Hybridgraphik nutzt den Umstand, dass auf einem Kleindisplay nur ein geringer Teil der Kartengraphik sichtbar ist. Bei der Anzeige größerer Kartenausschnitte gehen die Vorteile des Modells durch die hohe Anzahl darzustellender Grids verloren. Folglich eignet sich das hybride Datenmodell, mit Hinblick auf das Navigationssystem, lediglich für großmaßstäbige Darstellungen. Weil aber die Erfassung der Orientierungszusammenhänge und der räumlichen Übersicht innerhalb der Kartengraphik eine dynamische Kartenskalierung erfordert, die neben der detaillierten Informationswiedergabe auch eine überblickende Situationsbeschreibung unterstützt [vgl. Kapitel 2.1], muss ein komplettierendes Graphikformat gefunden werden. Eine einfache Möglichkeit bietet die Überlagerung der Hybrid-Graphik mit einer Rastergraphik. Diese hat exakt die Ausmaße der hybriden Graphik und ist, im Bezug auf die Auflösung, den Informationsgehalt sowie der Informationsdichte, an die kleinmaßstäbige Wiedergabe der Situation angepasst. Gegenüber einer Vektorgraphik hat die Rastergraphik den Vorteil, jedem Bildpunkt direkt einen Wert zuzuweisen, wodurch ein schneller Kartenaufbau erreicht wird. Die Speicherung der Rastergraphik sollte vorzugsweise im Format JPG oder PNG erfolgen. Im Gegensatz zum herkömmlichen BMP-Format, welches jeden Bildpunkt einzeln abspeichert, nutzen diese Formate spezielle Bildkomprimierungstechniken und verringern somit den Datenumfang der Bilddatei. In Abhängigkeit vom aktuellen Maßstab bildet das Fahrradtouren-Navigationssystem entweder die detaillierte hybride Graphik oder die schematisierte Rastergraphik ab (Darstellung 6-11). Zusammenfassend reduzieren die in der Daten-Komponente enthaltenen komplexen Graphikmodelle die Systemauslastung und fördern damit den störungsfreien Ablauf des Fahrradtouren-Navigationssystems. Zusätzlich erfüllen sie die Forderung nach einer adaptiven Skalierung der Kartengraphik [vgl. Kapitel 2.1]. 6 Konzeption 54 Hybride Graphik Rastergraphik mit detaillierten räumlichen Informationen mit schematisierten räumlichen Informationen Maßstab Detailansicht Maßstab 1:10000 Übersicht Maßstab <1:100000 Darstellung 6-11: Graphiken im Fahrradtouren-Navigationssystem. 6.2.6 Entwicklung Nachdem in den vorherigen Abschnitten der konzeptionelle Aufbau der DatenKomponente ausführlich beschrieben wurde, schildert dieser Abschnitt die notwendigen Entwicklungsschritte. Die Vorgehensweise bei der Erstellung der Systemkomponente ist mit der Darstellung 6-12 gegeben. Grundlage bildet ein umfassender Datenbestand raumbezogener Informationen, der sich generell in einem GIS befindet. Für die Verwendung im Fahrradtouren-Navigationssystem wird zunächst der gesamte Dateninhalt generalisiert und, insofern erforderlich, vervollständigt. Aus der Datenmodifikation resultiert ein reduzierter, auf das Navigationssystem abgestimmter Datensatz. Dieser liegt in unterschiedlichen GIS-spezifischen Datenformaten vor und muss in die systemspezifischen Datenformate transformiert werden. Ergebnis der Umformung ist die Daten-Komponente. Datenbestand raumbezogener Informationen GIS Generalisierung Reduzierter, angepasster Datenbestand Umformung Daten-Komponente Darstellung 6-12: Generierung der Datenkomponente. 6 Konzeption 55 Als Hauptdatenquelle des Fahrradtouren-Navigationssystems dient der Datenbestand des Amtlichen Topographisch-Kartographischen Informationssystems (ATKIS) [ATKIS, 2004]. ATKIS ist ein Projekt der Arbeitsgemeinschaft der Vermessungsverwaltungen der Länder der Bundesrepublik Deutschland (AdV) und hat zum Ziel, bundeseinheitliche digitale topographische Informationen über Objekte, Erscheinungsformen und Relief der Erdoberfläche bereitzustellen. Für die Modellierung und Erfassung raumbezogener Daten in digitalen Landschaftsmodellen (DLM) wird ein objektstrukturiertes Datenmodell verwendet. Dieses gliedert sich hierarchisch in Objektbereiche, -gruppen und –arten. Die entsprechende semantische Objektklassifizierung und -verschlüsselung erfolgt nach dem ATKIS Objektartenkatalog (ATKIS-OK). Neben einem an der analogen topographischen Karte 1:25000 (TK25) angelehnten Basis-DLM (DLM25) bietet die AdV derzeit das DLM250 und das DLM1000 an. In etwa entspricht die numerische Angabe der durch 1000 dividierten Kartenmaßstabszahl. Die Bildung digitaler kartographischer Modelle (DKM) aus einem DLM regeln maßstabsabhängige Signaturenkataloge (SK). Sie enthalten unter anderem Gestaltungsvorschriften für die Objektarten sowie Kriterien für das Erscheinungsbild des DKMs (Kartenrand, Kartenrahmen, etc.). Exemplarisch führt die kartographische Modellierung des Basis-DLMs nach dem ATKIS-SK10 zum DKM10. Aufgrund des im Fahrradtouren-Navigationssystem maximal darzustellenden Kartenmaßstabs von 1:10000 basiert die Daten-Komponente auf Informationen aus dem Basis-DLM sowie dem ATKIS-SK10. Ergänzt werden die ATKIS-Daten durch Geometrieund Sachinformationen von touristischen Objekten (POI), welche durch die Landesvermessung und Geobasisinformation Niedersachsen (LGN) bereitgestellt wurden. Sämtliche relevante Daten sind in ArcView GIS 3.2 organisiert [vgl. Kapitel 5.1]. ArcView erlaubt die Integration, Verwaltung und Modifikation von Geo-Informationen und besitzt umfassende Funktionalitäten zur Generierung der Daten-Komponente. Das Anpassen und Reduzieren der Geo-Daten erfolgt mit Hilfe der Generalisierungsvorgänge Auswählen, Klassifizieren, Zusammenfassen, Vereinfachen und Symbolisieren (Darstellung 6-13). Beim Auswählen werden Geo-Objekte, die außerhalb des für die Fahrradtour relevanten Gebiets liegen oder für die Fahrradnavigation keine Bedeutung haben, entfernt. Die Methode der Klassifizierung vereinigt Objekte unterschiedlicher Objektarten zu einer Objektgruppe, wodurch sich die Anzahl der zu integrierenden Klassen vermindert. Eine weitere Verallgemeinerung des Datenbestands erreicht die Zusammenfassung von mindestens zwei Objekten einer Klasse zu einem Objekt. Dieser Vorgang ist anzuwenden, wenn Klassenobjekte dicht beieinander liegen. Bei der Vereinfachung werden unwesentliche Punkte der Objekt-Geometrien eliminiert und damit das Datenvolumen reduziert. Zuletzt ersetzt das Verfahren der Symbolisierung flächenhafte Objekte (Polygone) durch individuelle graphische Elemente. Zur Erstellung der Daten-Komponente aus dem angepassten GIS-Datenbestand, mit den fundamentalen Datenformaten SVG und CSS [vgl. Kapitel 3], wird eine geeignete Prozedur benötigt. Da vorhandene ArcView-Scripte, wie beispielsweise Shp2svg [ROGERS, 2002], lediglich generelle Lösungen anbieten, ist ein anwendungsspezifisches in Avenue entwickeltes Script zu nutzen. Dieses ermöglicht eine weitestgehend automatische Generierung der Bestandteile der Daten-Komponente. 6 Konzeption 56 Original Auswahl Ergebnis Klassifizierung Symbolisierung Zusammenfassung Vereinfachung Darstellung 6-13: Generalisierung des Datenbestands. 6.3 Konzeption der User-Interface-Komponente Eigenschaften und Operationen einzelner Systembestandteile des FahrradtourenNavigationssystems modifiziert beziehungsweise steuert der Anwender über die UserInterface-Komponente. Diese gliedert sich in die für dynamische Vorgänge notwendigen Prozeduren und der sichtbaren Benutzeroberfläche (GUI). Letztere dient der Wiedergabe von Informationen der Daten-Komponente sowie dem Starten und Beenden einzelner Prozeduren. Der wesentliche Aufbau der Benutzeroberfläche geht aus Darstellung 6-14 hervor. Angesichts der beschränkten Anzeigemöglichkeiten auf einem Kleindisplay sollte die GUI aus einem maximierten Kartenfeld und einer kompakten, am unteren oder oberen Rand des Bildschirms positionierten Symbolleiste bestehen. Das Kartenfeld hat den Zweck, die von der Daten-Komponente definierte Kartengraphik dynamisch in die Benutzeroberfläche einzubetten. Bei der Graphik handelt es sich dabei, in Abhängigkeit vom Maßstab, um eine rasterorientierte oder um eine hybride Darstellung [vgl. Kapitel 6.2.5]. Die Regelung der Art und Weise der Datenpräsentation erfolgt über graphische Objekte in der Symbolleiste. Wegen des Platzmangels auf dem Bildschirm sieht das Konzept des FahrradtourenNavigationssystems lediglich Kontrollen für das Zoomen, das Verschieben, die Standortangabe, die Zeichenerklärung sowie die Routensuche und -wiedergabe vor. Der Zugriff auf Routing-Funktionalitäten ist hier aus Gründen der Vollständigkeit mit aufgelistet, wird aber im Rahmen der anwendungsspezifischen Implementierung in Kapitel 7 nicht weiter berücksichtigt [vgl. Kapitel 2.1]. Während das Ausführen von Zoom-, Pan-, Ortungs- oder Routing-Prozessen direkt eine Veränderung der Kartenansicht beziehungsweise des Karteninhalts im Kartenfeld bewirkt, 6 Konzeption 57 startet das Navigationssystem beim Aufruf der Legende einen externen HTML-Viewer, der die in einer HTML-Datei integrierte Zeichenerklärung [vgl. Kapitel 6.2.3] abbildet. Neben den über die Symbolleiste kontrollierbaren Vorgängen, kann der Bediener durch Ansprechen von Objektsymbolen in der Kartengraphik auf Sachinformationen entsprechender POIs zugreifen. Da diese objektbeschreibenden Daten ebenfalls im Format HTML gespeichert sind [vgl. Kapitel 6.2.2], übernimmt der HTML-Viewer die Präsentation. Um die vom Navigationssystem geforderte Dynamik der User-Interface-Komponente zu verwirklichen, findet die graphische Gestaltung der Benutzeroberfläche im vektororientierten Format SVG, welches speziell auf Interaktionen ausgerichtete Funktionalitäten umfasst [vgl. Kapitel 3.3], statt. Graphische Objekte der Symbolleiste werden mit Eventhandlern versehen, die beim Eintreten des festgelegten Ereignisses, in der Regel ein Mausklick, einen vordefinierten Prozess auslösen. Sämtliche Prozeduren sind in der Programmiersprache Javascript [vgl. Kapitel 5.4] formuliert und in einer externen Datei abgelegt. Durch die explizite Ausweisung von Javascript als Ergänzung zu SVG können die Bestandteile der GUI über einfache Verknüpfungen auf die JavascriptProzeduren zugreifen. Benutzeroberfläche Symbolleiste Routing Kartenfeld Route Karte kleinsten Maßstabs Ortung Standort Pan Verschiebung Karte größten Maßstabs Zoom Skalierung In Abhängigkeit vom Maßstab Darstellung der Raster- oder Legende Externer HTML-Viewer Zeichenerklärung Sachinformation der hybriden Kartengraphik Points Of Interest Darstellung 6-14: Benutzeroberfläche der User-Interface-Komponente. 6 Konzeption 58 6.4 Konzeption der Visualisierungs-Komponente Die wesentliche Aufgabe der Visualisierungs-Komponente besteht in der Übertragung von Geo-Informationen der Daten-Komponente zum Anwender. So müssen die Geometrie-, Sach- und Graphikdaten richtig interpretiert und sinngemäß dargestellt werden. Weiterhin erfordert die in Kapitel 2.1 aufgestellte Funktionalität der dynamischen Datenwiedergabe eine Unterstützung interaktiver Prozesse. Infolge der begrenzten Eingabemöglichkeiten des PDAs nimmt die Visualisierungs-Komponente auch eine herausragende Position bei der Bedienung des Navigationssystems durch den Anwender ein. Sie präsentiert die graphische System-Benutzeroberfläche und leitet Befehle des Anwenders an die entsprechenden Prozeduren der User-Interface-Komponente weiter. Begründet in der standardisierten Entwicklung der Daten- und der User-InterfaceKomponente [vgl. Kapitel 6.2 und Kapitel 6.3] kann die Visualisierungs-Komponente aus unterschiedlichen Softwarepaketen bestehen. Es werden leistungsfähige Viewer für die Wiedergabe von HTML- und SVG-Dateien benötigt. Als HTML-Viewer bietet sich der im Betriebssystem Microsoft Windows CE bereits integrierte Pocket Internet Explorer an. Dieser dient dem Anzeigen der zusätzlichen Sachinformationen von POIs und der zeichenerklärenden Legende. Alle weiteren Elemente visualisiert ein SVG-Viewer, der die Standardformate SVG und CSS sowie die in der Programmiersprache Javascript geschriebenen dynamischen Vorgänge unterstützt. Das in dieser Arbeit vorgestellte Navigationssystem verwendet als SVG-Viewer den Intesis eSVG-Viewer, wobei ein Einsatz alternativer Programme denkbar ist. 6.5 Konzeption der Positions-Komponente Das Konzept des Fahrradtouren-Navigationssystems geht von der Entwicklung einer vom System unabhängigen Positions-Komponente in Form einer Standalone-Applikation aus. Dadurch lässt sich diese leicht in andere Systeme integrieren und kann vielseitig eingesetzt werden. Aufgabe der Positionskomponente ist es, die vom GPS-Receiver ausgegebenen Daten zu lesen und die Standortinformationen in ein vom System unterstütztes Datenformat abzulegen. Die dafür notwendigen Arbeitsschritte zeigt Darstellung 6-15. Zunächst wird das standardisierte GPS-Datenprotokoll NMEA 0183 der Empfängerausgabe vollständig gelesen. Da sich die für Navigationszwecke erforderliche Information der Positionskoordinaten des Standortes ausschließlich in den Datensätzen GGA und RMC befindet [vgl. Kapitel 4.2.2], muss die Systemkomponente aus dem empfangenen Datenprotokoll eines der beiden Ausgabeformate herausfiltern. Anschließend erfolgt die Analyse der GGA- beziehungsweise RMC-Daten, wobei die Information der geographischen Länge λ und Breite ϕ vom restlichen Teil des Datensatzes separiert wird. Die Speicherung der aus der Datensatzanalyse resultierenden Standortinformation erfolgt unter der Verwendung des Formats XML. Andere Systembestandteile können so über die XML-Datei die Positionskoordinaten abfragen. Damit das Navigationssystem in Echtzeit arbeiten kann, sind die beschriebenen Prozesse in kurzen Zeitintervallen (wenige Sekunden) zu wiederholen. 6 Konzeption 59 Dateneingang GPS-Datenprotokoll NMEA 0183 Datenfilterung GGA- oder RMC-Datensatz Datenanalyse Position im WGS-84-Bezugssystem mit geographischer Länge λ und Breite ϕ Datenausgang Positionskoordinaten in XML-Datei Darstellung 6-15: Datenmodifikation der Positions-Komponente. Für die Programmierung der Positions-Komponente wird, im Rahmen der prototypischen Implementierung in Kapitel 7, die Entwicklungsumgebung Microsoft eMbedded Visual Basic Tools (eVB-Tools) genutzt [vgl. Kapitel 5.3]. Mit eVB-Tools lassen sich auf Windows CE basierte Anwendungen erstellen. Die Umgebung verfügt über umfangreiche Werkzeuge für die Programmentwicklung und die Generierung einer Benutzeroberfläche. Weiterhin stellt sie Funktionen bereit, über die ein erstelltes Programm mit einer Hardwarekomponente, wie dem GPS-Empfänger, kommunizieren kann. Das Programm für die Standortbestimmung sollte dem Nutzer die Möglichkeit geben, über graphische Elemente der Benutzeroberfläche die Hardwareschnittstelle (z.B. Com-Port), die Datenübertragungsrate (Baudrate), das Ausgabeintervall sowie den Namen der Ausgabe-Datei auszuwählen. Durch diese Funktionalität ist die Positions-Komponente mit diversen GPS-Empfängern kompatibel und kann unterschiedlichen Systemansprüchen angepasst werden. 7 Anwendungsspezifische Implementierung 60 7 Anwendungsspezifische Implementierung Nachdem im vorangehenden Kapitel die Konzepte für ein FahrradtourenNavigationssystem aufgestellt wurden, veranschaulicht dieses Kapitel die prototypische Systemimplementierung anhand eines exemplarischen Anwendungsbeispiels. Basierend auf der Charakterisierung des Ausgangsszenarios werden die erforderlichen Entwicklungsschritte für den Aufbau der einzelnen Systemkomponenten vorgestellt. 7.1 Ausgangsszenario Das über das Internet zugängliche Freizeitportal GeoLife [GEOLIFE, 2004] der LGN bietet Fahrradfahrern diverse detailliert beschriebene attraktive Fahrradtouren-Vorschläge an. Die entsprechende Wegbeschreibung kann ausgedruckt und während der Tourbefahrung mitgeführt werden. Leider gibt es bislang keine Möglichkeit die Nutzer, in Abhängigkeit von der ausgewählten Tour, unterwegs mit einer dynamischen standortbezogenen Situationsdarstellung zu unterstützen. Da aber der Anwender, in der Regel ein Tourist, gerade diese Art der Orientierungshilfe favorisiert, stellt sich die Aufgabe der Bereitstellung eines zweckmäßigen Fahrradtouren-Navigationssystems. Denkbar ist beispielsweise, dass die für eine bestimmte Tour notwendigen System-Dateien über das Internet abrufbar sind. Somit könnte ein Nutzer, durch Kombination der System-Dateien mit einem kompatiblen, GPS-gestützten PDA auf ein vollwertiges Navigationssystem zurückgreifen. Für die exemplarische Systemrealisierung wurde der GeoLife Fahrradtouren-Vorschlag 149 „Maschsee-Route zur Expo“ ausgesucht. Dieser beginnt auf dem Hauptbahnhof Hannover und endet am Eingang des Expo- und Messegeländes Hannover. Die Systementwicklung erfolgt unter Verwendung der in Kapitel 6 aufgestellten Konzepte. Als Datenquellen dienen der in ArcView vorliegende ATKIS-Basisdatenbestand der Region Hannover sowie die tourrelevanten POI-Daten der LGN. 7.2 Entwicklung der Daten-Komponente Für die Generierung der Daten-Komponente aus dem originären Datenbestand sind umfangreiche Entwicklungsvorgänge notwendig. Die in ArcView bereits in Themen (Layern) organisierten Daten müssen generalisiert, graphisch gestaltet und in das SVGFormat transformiert werden [vgl. Kapitel 6.2.6]. Weiterhin ist zur Vervollständigung der Systemkomponente eine für die kleinmaßstäbige Situationswiedergabe zuständige PNGoder JPG-Rastergraphik aus ArcView zu exportieren. Die folgenden Abschnitte beschreiben alle zur Erstellung der Daten-Komponente wichtigen Prozesse. 7 Anwendungsspezifische Implementierung 61 7.2.1 Generalisierung der ATKIS-Daten Die Reduktion und Anpassung des ATKIS-Datenbestands an die Anforderungen des Fahrradtouren-Navigationssystems beinhaltet nach Kapitel 6.2.6 die Generalisierungsschritte Auswählen, Klassifizieren, Zusammenfassen, Vereinfachen und Symbolisieren. Alle Maßnahmen werden in ArcView 3.2 unter Verwendung zusätzlicher Werkzeuge durchgeführt. Darstellung 7-1 zeigt die Situation in ArcView vor der Generalisierung und kennzeichnet das Interessengebiet, auch AOI14 genannt, der Tour 149. Interessengebiet Darstellung 7-1: Originärer Datenbestand ohne Beschriftung mit Interessengebiet. 7.2.1.1 Auswahl Unter der Auswahl versteht sich die Selektion systemrelevanter Informationen aus dem Datengesamtbestand. Dabei gilt es raumbezogene Objekte, welche sich außerhalb des Interessengebiets befinden oder für die Fahrradnavigation unbedeutend sind, zu eliminieren. Zunächst muss die AOI festgelegt und die enthaltenen Objekte von den restlichen Daten getrennt werden. Dazu ist in ArcView ein neues Thema des Typs Polygon zu erstellen. In diesem befindet sich ein mit Hilfe der Graphikwerkzeuge in der Toolleiste gezeichnetes, das Gebiet abstrahierendes Rechteck. Über die „Clip“-Funktion des Assistent für 14 AOI steht für Area Of Interest. 7 Anwendungsspezifische Implementierung 62 Geoverarbeitung, verfügbar durch die Aktivierung der ArcView-Standarderweiterung Geoprocessing, sind dann alle Themen mit Bezug auf das Polygon-Thema auszuschneiden. Anschließend erfolgt die Bewertung der einzelnen Objektarten hinsichtlich ihres Vorkommens in der AOI und ihrer Bedeutung im semantischen Datenmodell des Fahrradtouren-Navigationssystems aus Kapitel 6.2.2. Objektarten, die bei der Abstraktion der realen Welt innerhalb der AOI keine Rolle spielen, werden entfernt. Das Generalisierungsverfahren der Auswahl verringert die Anzahl der ursprünglich über 100 Objektarten auf ungefähr 70. Das vorläufige Ergebnis ist aus Darstellung 7-2 ersichtlich. Darstellung 7-2: Datenbestand ohne Beschriftung nach der Datenauswahl. 7.2.1.2 Klassifizierung Der aus der Datenauswahl hervorgehende Objektartenbestand ist für eine zweckmäßige graphische Informationswiedergabe immer noch zu detailliert. Darum werden nach der Methode der Klassifizierung Objektarten in vordefinierte Objektgruppen eingeteilt, so dass sich das Datenmodell vereinfacht. Die Gruppierung der Objektarten verläuft nach dem semantischen Modell des Navigationssystems [vgl. Kapitel 6.2.2]. Demnach klassifizieren 22 Objektklassen die diversen Objektarten. In ArcView bietet der Assistent für Geoverarbeitung auch Prozeduren zur Objektklassifizierung an. Mit Hilfe der „Merge“-Funktion lassen sich in unterschiedlichen Themen organisierte Objektarten zu einem Thema verbinden. Somit kann durch wiederholtes Durchführen der thematischen Zusammenführung das semantische Modell 7 Anwendungsspezifische Implementierung 63 aufgebaut werden. Ein Beispiel für die Klassifizierung von Objekten liefert Darstellung 7-3. Die Elemente der Objektarten Fluss, Kanal und Teich bilden die neue Objektklasse Gewässer. Original Klassifizierung Fluss Kanal Teich Gewässer Darstellung 7-3: Klassifizierung von Objekten. 7.2.1.3 Zusammenfassung Für die graphische Situationsdarstellung im Fahrradtouren-Navigationssystem liefert die Generalisierungsmethode der Klassifizierung ein zufrieden stellendes Ergebnis. Dennoch bleibt das Problem des großen Datenvolumens bestehen, da die Reorganisation der Daten lediglich den strukturellen Datenaufbau vereinfacht. Abhilfe schafft eine Zusammenfassung von benachbarten Objekten. Dieser Vorgang entfernt Informationen, welche auf das Erscheinungsbild der Kartengraphik keinen Einfluss haben. Der Assistent für Geoinformation von ArcView besitzt für die strukturelle Zusammenfassung von Flächen-Geometrien (Polygone) die Funktion „Dissolve“, die aus Objekten eines Polygon-Themas sogenannte Multipart-Objekte bildet. In den MultipartObjekten sind weiterhin alle Geometrie-Daten enthalten. Zur eigentlichen Datenreduzierung wird die ArcView-Erweiterung XTools [DELAUNE, 2003] genutzt. Diese umfasst die Prozedur „Convert Multipart Shapes to Single Part“, mit der eine Umwandlung der Multipart-Objekte in isolierte Einzelobjekte möglich ist. Im Rahmen der Transformation werden überschüssige Geometrie-Daten gelöscht. Ein typisches Beispiel der Zusammenfassung von Flächen-Geometrien legt Darstellung 7-4 dar, wobei die Objektumrandung nur der Verdeutlichung dient. Es ist leicht zu erkennen, dass der Generalisierungsprozess den Datenumfang und somit das Speichervolumen der GeoInformationen erheblich reduziert. Eine Zusammenfassung von aneinander liegenden Linien-Objekten gestattet die Funktion „Polyline Consolidator“ der ArcView-Erweiterung Point & Polyline Tools [ALSLEBEN, 2002]. Die Prozedur erstellt aus Objekt-Geometrien mit gleichem Endpunkt Einzelobjekte und entfernt die redundanten Geometrie-Daten. 7 Anwendungsspezifische Implementierung Original 64 Zusammenfassung Darstellung 7-4: Zusammenfassung von Flächenobjekten einer Objektklasse. 7.2.1.4 Vereinfachung Der Informationsgehalt der Daten-Komponente wird durch die Vereinfachung von ObjektGeometrien weiter reduziert. Das Verfahren geht davon aus, dass der Detaillierungsgrad des originären Datenbestands höher ist, als es die Situationswiedergabe erfordert. Demzufolge können Linien- und Polygon-Geometrien ohne Auswirkung auf die Objektformen in der Kartengraphik ausgedünnt werden. Unbedeutende Geometrie-Punkte sind bei der Objektbildung auszulassen und aus dem Datenbestand zu entfernen. Die Beurteilung der Signifikanz eines Punktes findet unter Berücksichtigung der Auflösung des Ausgabebildschirms sowie des maximalen Kartenmaßstabs statt. Aufgrund der Pixelgröße auf dem PDA-Display von 0,24 Millimeter und einem maximalen Maßstab von 1:10000 abstrahiert die Pixelgröße einen realen Wert von 2,4 Meter. Da eine optimale Performance des Fahrradtouren-Navigationssystem einen möglichst geringen Datenumfang voraussetzt, wird ein Geometrie-Punkt als unwesentlich eingestuft, wenn sich die Objekt-Geometrie beim Auslassen dieses Punktes um höchstens einen Pixel in der Kartengraphik beziehungsweise um circa 2,5 Meter in der realen Welt verschiebt. Die ArcView-Erweiterung Point & Polyline Tools stellt mit der Funktion „Generalize Features“ eine leistungsfähige Linienglättungs-Methode bereit. Diese arbeitet nach dem globalen Verfahren von Douglas und Peuker, welches die Darstellung 7-5 abbildet und BILL (1999) wie folgt charakterisiert: Zunächst werden Anfangs- und Endpunkt eines Linienstücks durch die Sehne AB miteinander verbunden. Befinden sich alle weiteren Linienpunkte innerhalb eines festgelegten Buffers um AB, ist die Generalisierung abgeschlossen. Bei Nichterfüllung wird der am weitesten von der Sehne AB entfernte Punkt als neuer Linienpunkt C festgelegt. Anschließend erfolgt die rekursive Anwendung des Algorithmus auf die zwei entstandenen Linienelemente AC und CB. Durch Wiederholung der Vorgänge entwickelt sich dann die geglättete Linie. Das Douglas und Peuker Verfahren ist mit der „Generalize Features“-Funktion auf sämtliche Linien- und Polygon-Themen des Datenbestands durchzuführen. Begründet in der aufgestellten Forderung nach einer maximalen Veränderung der Objektform von einem 7 Anwendungsspezifische Implementierung 65 Pixel, wird ein Buffer von 2,5 Metern deklariert. Alternativ zu der hier vorgestellten Art der Linienglättung sind natürlich auch andere Methoden zur Datenvereinfachung, zum Beispiel das Ersetzen der Linie durch eine ausgleichende Funktion, anwendbar. C Originäre Linie D (7 Stützpunkte) Geglättete Linie (4 Stützpunkte) Sehne Buffer A B Darstellung 7-5: Linienglättung mit Douglas-Peuker-Algorithmus. 7.2.1.5 Symbolisierung Damit Anwender touristisch interessante Objekte, wie beispielsweise Schwimmbäder, Stadien oder Zoologische Gärten, auf der Kartengraphik schnell erkennen können, werden die entsprechenden Flächenobjekte durch möglichst selbsterklärende Symbole ersetzt (Darstellung 7-6). Der positive Nebeneffekt dieses Vorgehens ist eine Datenreduktion aufgrund des Wechsels der originären Polygon-Geometrien in Punkt-Geometrien. Original Schwimmbad Symbolisierung Stadion Zoo Darstellung 7-6: Symbolisierung von Flächenobjekten. Zur Realisierung der Symbolisierung bedarf es zunächst einer Umwandlung der betroffenen Polygon-Themen in Punkt-Themen. Dabei kommt die Funktion „Convert Shapes To Centroids“ der ArcView-Erweiterung XTools zum Einsatz. Diese berechnet für jedes Flächenobjekt den Mittelpunkt und bildet aus den so gewonnenen Punkt-Geometrien ein neues Thema. Den Objektpunkten sind nachfolgend geeignete graphische Elemente, 7 Anwendungsspezifische Implementierung 66 vorzugsweise kleine Symbolgraphiken, für die Präsentation zuzuordnen. Für die DatenKomponente des Navigationssystems werden die Objektarten Schwimmbad, Stadion, Zoo und Campingplatz symbolisiert. 7.2.2 Graphische Gestaltung der ATKIS-Daten Nach dem in Kapitel 6.2.3 aufgestelltem Konzept für die Graphikdaten der DatenKomponente basiert die graphische Darstellung der generalisierten ATKIS-Daten auf dem ATKIS-Signaturenkatalog 1:10000. Die darin enthaltenen Gestaltungsvorschriften können aber, infolge der Eigenarten des Fahrradtouren-Navigationssystems, nicht direkt übernommen werden und sind dementsprechend anzupassen. Punkt-Geometrie Linien-Geometrie Flächen-Geometrie Darstellung 7-7: Graphische Gestaltung der generalisierten ATKIS-Daten. Der entscheidende Faktor bei der Auswahl einer Objektsignatur ist die effiziente Umsetzung dieser in der SVG-basierten Kartengraphik. Während sich uniforme oder punktbezogenen Signaturen leicht durch die Kombination von SVG mit CSS realisieren lassen, gibt es bisher keine unmittelbare Möglichkeit Objekten eine gemusterte Struktur zuzuweisen. Demnach sind gestrichelte Linien- oder gepunktete Flächensignaturen für die Datenpräsentation ungeeignet, so dass die betroffenen Themen der Daten-Komponente durch Signaturen dargestellt werden müssen, die von der Zeichenvorschrift abweichen. Zur Symbolisierung von Objekt-Geometrien [vgl. Kapitel 7.2.1.5] sind die im SK10 enthaltenen Zeichen zwar inhaltlich korrekt, wirken aber eher unattraktiv und dem touristischen Gebrauch nicht angemessen. Darum ersetzen Graphiken im PNG-Format die festgelegten Symbole. Sämtliche im Navigationssystem gebrauchte Symbole wurden mit Hilfe des Bildverarbeitungsprogramms Corel Photo-Paint 11 [C OREL, 2003] erstellt. Das für die graphische Gestaltung der Themen zuständige Werkzeug in ArcView ist der über das Inhaltsverzeichnis aufrufbare Legenden Editor [vgl. Kapitel 5.1.3]. Dieser erlaubt 7 Anwendungsspezifische Implementierung 67 eine einfache Generierung und Bearbeitung der Graphikdaten. Eine Übersicht der im Fahrradtouren-Navigationssystem genutzten Signaturen zeigt Darstellung 7-7. 7.2.3 Integration von Objektbeschriftung Ein wichtiges Hilfsmittel bei der Interpretation beziehungsweise der eindeutigen Identifizierung von Objekten in der Kartengraphik ist die Objektbeschriftung, die unter anderem Namen von Stadtteilen, Straßen sowie markanten Freiflächen wiedergibt. Die in ArcView vorliegenden ATKIS-Daten beinhalten bereits einen umfassenden Bestand an Beschriftungen unterschiedlicher Objektarten. Dieser muss, infolge des begrenzten Platzangebots auf der Kartengraphik, zunächst ausgedünnt und anschließend an den Kartenmaßstab angepasst werden. Das Navigationssystem sieht die Einbeziehung von Beschriftungen für Stadtteile, Siedlungsfreiflächen, Bahnhöfe, Wasserflächen und Straßen vor, wobei sich die graphische Gestaltung an dem ATKIS-SK10 orientiert. Nach dem Prägnanzprinzip [vgl. Kapitel 6.2.3] dürfen sich Beschriftungen in der Kartengraphik nicht überlagern. Diese Bedingung setzt ein kontinuierliches Entfernen beziehungsweise Verschieben von Schriftelementen voraus, bis sich keine Bezeichnungen mehr schneiden (Darstellung 7-8). Dabei wird das Element entfernt oder verschoben, welches die niedrigere Priorität hat. Mit Ausnahme der Namen für Gemeindestraßen kann, wegen der geringen Anzahl auftretender Fälle im Interessengebiet, eine manuelle Objektfreistellung erfolgen. Hinsichtlich der untergeordneten Gemeindestraßenbeschriftung mit über 1500 Objekten innerhalb der AOI und unzähligen Überlagerungen ist die Nutzung automatisierter Methoden unumgänglich. Original Auswahl von Kartenschrift Darstellung 7-8: Behandlung von Objektbeschriftung. Zum Ausdünnen der Bezeichnungen für Gemeindestraßen gilt der Grundsatz, dass die Objektpriorität linear mit der Objektlänge steigt. Demnach stellt sich zunächst die Aufgabe, den Straßennamen die jeweilige Straßenlänge zuzuordnen. Dafür wurde das Avenue-Script Polyline Total Length (totleng) entwickelt, das innerhalb eines LinienThemas die Gesamtlänge von Objekten mit gleichem Wert für ein gewähltes Attribut berechnet und das Ergebnis unter einem neuen Attribut „Totlength“ ablegt. Aus der 7 Anwendungsspezifische Implementierung 68 Anwendung des Scripts auf das Thema der Straßen-Geometriedaten mit dem gewählten Identifikationsattribut „Obj“ resultieren die Straßenlängen. Diese lassen sich jetzt über „Obj“ auf die Objekte in dem Beschriftungs-Thema übertragen. Jede Straßenbezeichnung erhält so eine Objektpriorität. Nächster Schritt ist die eigentliche Objektselektion. Bezeichnungen von Straßen mit einer Länge von unter 400 Metern werden von vornherein für die Darstellung in der Kartengraphik ausgeschlossen. Die tabellarische Objektansicht in ArcView bietet hierfür ausreichende Funktionalitäten. Eine Möglichkeit ist zum Beispiel die Sortierung der Objekte im Bezug auf das Längenattribut und anschließendem manuellen Löschen der Objektelemente mit einer zu kleinen Gesamtlänge. Über die Verwendung der verbleibenden Objekte im Thema entscheidet ein Beschriftungstest, der mit dem ebenfalls neu entwickelten Script Polyline Label Test (linelab) durchgeführt wird. Das Script nutzt den Umstand, dass der Ort, die Orientierung als auch das Ausmaß einer Beschriftung durch eine Linien-Geometrie definiert ist. Demzufolge kann durch die Berechnung des Abstands zwischen zwei Beschriftungs-Geometrien und der Festlegung eines Schwellwerts (Buffer) eine gegenseitige Überlagerung auf einfachem Wege festgestellt werden. Als erstes erstellt das Script für ein gewähltes Linien-Thema das neue Attribut „Label“ und legt die Objekte des Themas in einer temporären Liste ab. Alle Listenelemente werden über ein selektiertes Prüfattribut, hier „Totlength“, absteigend sortiert. Von oben beginnend folgt dann für jedes Element (Prüfling) die Berechnung des geometrischen Abstands zu den in der Liste darüber angeordneten Elementen. Wenn der Abstand zu einem Element kleiner als der gewählte Schwellwert (Buffer) ist und dieses den „Label“-Wert „True“ besitzt, erhält der Prüfling den „Label“-Wert „False“. Andernfalls wird der „Label“-Wert des Prüfelements als „True“ deklariert. Somit ergeben sich nach der Scriptausführung auf das BeschriftungsThema die objektspezifischen Werte des Attributs „Label“. Objekte mit dem Attributwert „False“ überdecken andere Objekte mit einer höheren Priorität und sind zu entfernen. Die restlichen Elemente bilden den endgültigen Datenbestand an GemeindestraßenBeschriftungen im Fahrradtouren-Navigationssystem. Einen zusammenfassenden Überblick der einzelnen Entwicklungsstufen liefert das Schema in Darstellung 7-9. In ArcView können aus dem ausgedünnten Datenbestand der Beschriftungs-Geometrien leicht individuelle Objektbeschriftungen generiert werden. Die „Auto-Label“-Funktion bildet unter Auswertung der Geometriedaten freie Textelemente, welche die Inhalte eines festgelegten Objektattributs wiedergeben. Allerdings sind die so entstandenen Beschriftungen für den Export in SVG unbrauchbar, da ArcView in der Version 3.2 ein Ansprechen beziehungsweise Abfragen von Informationen freier Graphiken nicht unterstützt. Eine Lösung dieses Problems beschreibt Kapitel 7.2.6. 7 Anwendungsspezifische Implementierung 69 Geometriedaten der Gemeindestraßen Script Polyline Total Length Straßenlängen Beschriftungsdaten von Gemeindestraßen Datenauswahl Reduzierte Beschriftungsdaten Script Polyline Label Test Datenauswahl Beschriftungsdaten von Gemeindestraßen in Daten-Komponente Darstellung 7-9: Beschriftung von Gemeindestraßen. 7.2.4 Integration der Tour-und der POI-Daten Neben den ATKIS-basierten Geo-Informationen muss die Kartengraphik des Navigationssystems auch Angaben über die Route sowie die Position von Interessenpunkten mit einschließen. Deshalb wird der in ArcView vorhandene Datensatz um die notwendigen Informationen erweitert. Des Weiteren besteht die Aufgabe, alle zusätzlichen POI-Sachdaten in HTML-Dateien abzulegen [vgl. Kapitel 6.2.2]. Aufgrund des bereits feststehenden Routenverlaufs der Tour 149 und der grundlegenden Systemaufgabe der Wegführung können Tourinformationen fest in die Kartengraphik integriert werden. Für die Realisierung sind die nach der LGN-Tourbeschreibung erforderlichen Straßen-Objekte in den entsprechenden ArcView-Themen zu selektieren und in ein neues Thema zu kopieren. Aus der graphischen Gestaltung der so erstellten Tourdaten unter Einhaltung des Prägnanzprinzips ergibt sich eine zweckmäßige Abbildung der Route (Darstellung 7-10). Nach dem Konzept der Daten-Komponente soll der Zugriff auf objektspezifische Sachinformationen von POIs, zu denen Rast- und Kulturstätten gehören, über die Objektgeometrie verlaufen [vgl. Kapitel 6.2.2]. Folglich sind die betreffenden Interessenpunkte in die Kartengraphik mit einzubeziehen. Die dafür notwendigen Positionsangaben der verfügbaren POIs befinden sich mit anderen Sachinformationen in einer Tabelle, die in ArcView eingeladen wird. Anschließend ermöglicht die ArcviewFunktion „Ereignisthema hinzufügen“ die Entwicklung eines Punkt-Themas, das die aus 7 Anwendungsspezifische Implementierung 70 der Tabelle stammenden Geometrie- und Sachdaten der POIs beinhaltet. Zur graphischen Situationswiedergabe werden POIs, welche sich außerhalb des Interessengebiets befinden, aussortiert und die Geometrien der restlichen Objekte durch geeignete Symbole im PNGFormat wiedergegeben (Darstellung 7-10). Kulturinfo Rastinfo Tour Darstellung 7-10: Kartenausschnitt mit Tour- und POI-Daten. Zu den bereitgestellten POI-Daten gehören außer den in der Tabelle enthaltenen Informationen auch Objektbilder im JPG-Format sowie detaillierte Objektbeschreibungen im TXT-Format. Das Konzept der Daten-Komponente sieht für diese Daten eine Speicherung in objektspezifischen HTML-Dateien vor [vgl. Kapitel 6.2.2]. Darstellung 7-11: HTML-Datei mit POI-Sachinformationen. Aufgrund der hohen Anzahl an Interessenpunkten und der zeitaufwendigen manuellen Generierung von HTML-Seiten ist das in Kapitel 7.2.5 vorgestellte Avenue-Script th2SVG zur Entwicklung der hybriden Kartengraphik mit einer optionalen Funktion zur Erstellung der HTML-Dateien ausgestattet. Das Script erkennt ein POI-Thema anhand der am Anfang 7 Anwendungsspezifische Implementierung 71 eines Themennamens stehenden Kennung „link“ und stellt die HTML-Seiten nach Eingabe des Quellordners der Bild- und Text-Dateien unter Auswertung der individuellen Objektattribute automatisch her. Die Verknüpfung der POI-Geometrien mit den entsprechenden HTML-Seiten realisieren individuelle Hyperlinks. Ein Beispiel der so entstandenen HTML-Dateien präsentiert Darstellung 7-11. 7.2.5 Entwicklung der hybriden Kartengraphik Im Anschluss an die Reduzierung und Anpassung des originären Datenbestands an die Anforderungen des Fahrradtouren-Navigationssystems behandelt dieser Abschnitt die Transformation der in ArcView vorliegenden Informationen in die systemspezifischen Datenformate SVG und CSS. Da vorhandene ArcView-Erweiterungen, wie beispielsweise Shp2svg [ROGERS, 2002] oder MapViewSVG, nur unzureichende Funktionalitäten bieten, wurde zur automatischen Entwicklung der hybriden Kartengraphik mit Theme to SVG (th2SVG) ein neues Avenue-Script implementiert, welches über umfangreiche Optionen für den Datenexport in SVG verfügt. Die fundamentalen, im Script realisierten Entwicklungsstrategien sind im Folgenden erklärt. 7.2.5.1 Allgemein Das Script th2SVG geht von einer flexiblen Festlegung der Ein- und Ausgabegraphik aus. Damit ein Anwender den zu transformierenden Kartenbereich explizit und einfach bestimmen kann, werden ausschließlich Informationen exportiert, die sich innerhalb der frei definierbaren AOI einer ArcView-Ansicht befinden. Weiterhin sind alle einzubeziehenden Themen im Inhaltsverzeichnis zu markieren. Eine Eingabemaske, abgebildet in Darstellung 7-12, gestattet die Auswahl diverser Parameter für die SVGGraphik. Darstellung 7-12: Eingabemaske des ArcView-Scripts Theme to SVG. „Width“ und „Height“ beschreiben die maximale Bildgröße, welche beim Display des iPAQs 240 x 320 Pixel beträgt. Die Kartengraphik wird in diese mit konstantem Seitenverhältnis, also mit gleichem Vergrößerungsfaktor in Breite und Höhe, eingepasst. Der Maßstab ergibt sich dabei durch Abrunden der maximal darstellbaren Skalierung auf einen für die Karteninterpretation zweckmäßigen Wert. Sämtliche graphische Gestaltungsmittel der Themen, wie Linienstärke, Umrisslinienstärke oder Symbolgröße, wandelt das Script im Hinblick auf die „Output Scale“ um. Dadurch ist es möglich, 7 Anwendungsspezifische Implementierung 72 Signaturen auf einen spezifischen Kartenmaßstab anzupassen, der von dem sichtbaren Wiedergabeverhältnis abweicht. Über das Feld „Resolution“ bestimmt der Nutzer unter Eingabe des größten mit Zoom-Funktionen aufrufbaren Kartenmaßstabs die Genauigkeit von Objektkoordinaten. Besonders bei den begrenzten Speicher- und Rechenkapazitäten auf mobilen Endgeräten ist diese Funktionalität sehr sinnvoll, da eine übermäßige geometrische Genauigkeit das Datenvolumen unnötig erhöht. Zum Beispiel bewirkt das Weglassen einer Dezimalstelle bei den Koordinaten der über 150000 tourrelevanten Objektpunkte eine Verringerung der SVG-Dateigröße um 20 Prozent. Gemäß den in Kapitel 2.1 aufgestellten Anforderungen an das Navigationssystem wurde für die Kartengenerierung der Tour 149 ein Ausgabemaßstab von 1:10000 und eine Auflösung mit gleichem Wert deklariert. Die Verwirklichung der hybriden Kartengraphik mit benachbarten Teilgraphen [vgl. Kapitel 6.2.5] erfolgt durch die Unterteilung der AOI in einzelne Segmente, der entsprechenden Zerlegung der Objektthemen sowie der anschließenden Transformation jedes einzelnen Segments in SVG. Dabei werden alle Themen beziehungsweise Objektgruppen eines Segments in einer übergeordneten SVG-Gruppe zusammengefasst, die über einen einzigartigen Identifikator ansprechbar ist. th2SVG fragt mit Hilfe eines Eingabefelds die Anzahl zu erstellender Teilgraphen ab und führt alle notwendigen Entwicklungsschritte automatisch durch. Für die Präsentation des Interessengebiets der Tour 149 wird die hybride SVG-Graphik aus 36 Kartensegmenten mit numerischen Identifikatoren aufgebaut (Darstellung 7-13). 11 21 31 41 51 61 12 22 32 42 52 62 13 23 33 43 53 63 14 24 34 44 54 64 15 25 35 45 55 65 16 26 36 46 56 66 Darstellung 7-13: Aufbau der hybriden Kartengraphik für die Tour 149 7.2.5.2 Geometriedaten Die in ArcView organisierten Geometriedaten der Geo-Objekte beziehen sich auf die ebenen rechtwinkligen Koordinaten Hoch- und Rechtswert im winkeltreuen Gauss-KrügerMeridianstreifensystem (G-K-System). Das G-K-System ist über einen längentreu abgebildeten Bezugsmeridian als Abszissenachse, einer dazu senkrecht liegenden, auf der Äquatorlinie verlaufenden Ordinatenachse sowie dem Schnittpunkt zwischen Bezugsmeridian und Äquatorlinie als Ursprung festgelegt. Der Hochwert beschreibt den Abstand zur Äquatorlinie entlang des Meridians in Meter und ist auf der Nordhalbkugel 7 Anwendungsspezifische Implementierung 73 nach Norden gerichtet. Abzüglich der Kennzahl und einem Wert von 500000 Meter gibt der Rechtswert den Abstand zur Abszisse in Meter an [GRUBER, 1998]. Im Gegensatz dazu besteht das Koordinatensystem der SVG-Graphik, wie in Kapitel 3.3.2 bereits erwähnt, aus einer nach rechts gerichteten Abszissenachse, einer nach unten gerichteten Ordinatenachse und der oberen linken Kartenecke als Ursprung. Darum sind sämtliche Koordinaten aus ArcView in das SVG-Koordinatensystem zu transformieren. Zunächst wird die obere linke Ecke der AOI als Ursprung der Kartengraphik deklariert. Jetzt lassen sich die SVGKoordinaten durch einfaches Berechnen von G-K-Koordinatendifferenzen bezüglich des Ursprungs in der Maßeinheit Meter berechnen: XSVG [m] = RechtswertPunkt [m] − RechtswertUrsprung[m], YSVG [m] = HochwertUrsprung [m] − HochwertPunkt [m]. Als Einheit des Zielkoordinatensystems wird der Default-Wert Pixel gewählt, wodurch das Anfügen einer Werteinheit zu den SVG-Koordinaten entfällt und sich schlussfolgernd das Speichervolumen verringert [vgl. Kapitel 3.3.2]. Der zur Umrechnung von Meter in Pixel notwendige Skalierungsfaktor ergibt sich aus der Auswertung der AOI-Größe im G-KSystem, der in Kapitel 7.2.5.1 festgelegten Parameter SVG-Bildgröße (240 x 320 Pixel) und maximaler Kartenmaßstab (1:10000) sowie der Annahme einer Pixelgröße von 0,24 Millimeter. Eine weitere signifikante Reduzierung des SVG-Datenvolumens erzielt die Ablage der Punktketten von Polylinien oder Polygonen anhand relativer Koordinaten. Das heißt, dass einzig die Absolutkoordinaten des Startpunkts gespeichert werden und sich alle nachfolgenden Stützpunktkoordinaten jeweils auf den Vorgänger beziehen. Bei der Berechnung der relativen Positionsangaben muss immer der Bezug zum Anfangspunkt hergestellt werden, da sich ansonsten die durch Rundung von Koordinatenwerten entstandenen kleinen Abweichungen aufaddieren und zu ungewollten Koordinatenverschiebungen führen. Die Berechnung der relativen Koordinaten erfolgt demnach mit: i −1 dX i = X i − X1 − ∑ dX j j =1 mit i,j ∈ N; X – absoluter Koordinatenvektor; dX – relativer Koordinatenvektor. Der hier vorgestellte Transformationsprozess von Geometriedaten aus ArcView in SVG ist vollständig in dem Script th2SVG implementiert. 7.2.5.3 Graphikdaten Nach dem in Kapitel 6.2.3 formulierten Konzept werden Graphikdaten in einer CSS-Datei gespeichert und während der Datenwiedergabe von den einzelnen Objektgeometrien abgefragt. Dies ist besonders für die Realisierung der hybriden Kartengraphik praktisch, weil die in unterschiedlichen Kartensegmenten eingeordneten Objekte eines Kartenthemas auf die gleichen Graphikdaten zugreifen. Somit verringert sich der Anteil redundanter Daten und die einheitliche Themenwiedergabe ist sichergestellt. 7 Anwendungsspezifische Implementierung 74 Um die Kartengenerierung beziehungsweise das Karten-Rendering während der Nutzung des Fahrradtouren-Navigationssystems zu beschleunigen, sind zunächst einige allgemeine Eigenschaften des style-Attributs der verschiedenen Graphikobjekte festzulegen. Hauptziel ist das Abschalten von Anti-Aliasing-Algorithmen, die in SVG standardmäßig angewendeten werden. Diese dienen der Kantenglättung und erhöhen durch Farbübergänge zwischen verschiedenfarbigen Kanten die Qualität der Kartendarstellung. Allerdings verursachen die dafür notwendigen Prozesse einen zusätzlichen Rechenaufwand, unter dem die Systemperformance auf dem PDA leidet. Deshalb findet eine Deaktivierung der Algorithmen über folgende vom jeweiligen Graphikobjekt abhängige style-Eigenschaften statt: • Rasterbilder: image-rendering=”optimizeSpeed”, • Text: text-rendering=”optimizeSpeed”, • Linie, Polygon, Pfad, etc.: color-rendering=”optimizeSpeed” shape-rendering=“optimizeSpeed“. Für die Generierung der CSS-Datei entnimmt das Script th2SVG dem ArcView Inhaltsverzeichnis die erforderlichen Informationen, wie beispielsweise Linienstärke, Füllfarbe oder Umrissfarbe, und wandelt diese in CSS-Ausdrücke um. Während die Datentransformation für einfache Linien- und Polygon-Themen leicht durchführbar ist, bedingen Punkt- und Beschriftungsthemen den Gebrauch zusätzlicher Informationen und Vorgänge. In der tourspezifischen Kartengraphik symbolisieren kleine in einem Bildverarbeitungsprogramm erstellte PNG-Graphiken die Geometriedaten von Punkten [vgl. Kapitel 7.2.1.5]. Da ArcView den direkten Export von Symbolen nicht unterstützt, werden die externen PNG-Bilder als SVG-Symbole mit eindeutigem Identifikator deklariert, wobei der Dateiname der Themenbezeichnung entspricht: <symbol id="identifikator"> <image x="0" y="0" width="10" height="10" xlink:href="name.png"/> </symbol> Demnach sind lediglich die Symbolgraphik-Dateien namentlich anzupassen und in das Verzeichnis der SVG-Graphik zu kopieren. Den Zugriff einer Punkt-Geometrie auf ein SVG-Symbol ermöglicht der Ausdruck: <use x="100" y="100" xlink:href="#identifikator"/> Bei der Transformation von Beschriftungen stellt sich das Problem, dass diese in ArcView als freie Graphiken vorliegen und nicht direkt abrufbar sind. Deswegen muss die Generierung von Textelementen ausschließlich über die Themen der BeschriftungsGeometrien geschehen. th2SVG erkennt die entsprechenden Linien-Themen mit Hilfe der dem Themennamen vorangestellten Kennung „txt“. Für die textliche Gestaltung kann über 7 Anwendungsspezifische Implementierung 75 Auswahlfelder die Schriftgröße, die Schriftdicke sowie der Schriftstil bestimmt werden. Eine Selektion von Schriftarten ist für den mobilen Bereich wenig sinnvoll, da hier generell nur wenige Schriftarten zur Verfügung stehen. Den eigentlichen Text entnimmt th2SVG dem Objektattribut „Text“ und schreibt diesen mit Verweis auf die BeschriftungsGeometrie in die SVG-Datei: <textPath xlink:href="#pfadname">beschriftung</textPath> Für die richtige Interpretation der Kartenobjekte sieht das für die Graphikdaten entwickelte Konzept eine externe Zeichenerklärung in Form einer SVG-Datei vor [vgl. Kapitel 6.2.3]. Zur Realisierung bildet das Script th2SVG eine weitere SVG-Graphik mit standardisierten Objektgeometrien und den dazugehörigen Themenbezeichnungen. Dabei sind die Geometriedaten mit den jeweiligen in der CSS-Datei abgelegten Style-Eigenschaften der einzelnen Objektklassen verknüpft. Zusätzlich beinhaltet die Graphik einen Hinweis auf den Übersichtsmaßstab sowie den gewählten maximalen Kartenmaßstab. Die aus den GeoDaten des Interessengebiets der Tour 149 resultierende Legende präsentiert Darstellung 7-14. Darstellung 7-14: Legende der Kartengraphik. Mit den erweiterten Funktionalitäten für den Export von Graphikdaten stellt das ArcViewScript th2SVG für alle Themen des in ArcView angepassten Datensatzes Möglichkeiten zur Transformation in die systemspezifischen Formate SVG und CSS bereit. Dadurch ist ein Anwender in der Lage, mit wenigen Interaktionen aus einem Datenbestand in ArcView die hybride Kartengraphik der Daten-Komponente zu entwickeln. Das Ergebnis der Umwandlung der tourspezifischen AOI ist in Darstellung 7-15 abgebildet. 7 Anwendungsspezifische Implementierung 76 Darstellung 7-15: Hybride Kartengraphik der Daten-Komponente. 7.2.6 Entwicklung der rasterbasierten Kartengraphik Als kleinmaßstäbige, schematisierte Situationsbeschreibung im FahrradtourenNavigationssystem dient eine rasterbasierte Kartengraphik [vgl. Kapitel 6.2.5], die aus ArcView exportiert wird. Da eine Gesamtansicht des Interessengebiets der Tour 149 auf dem PDA-Display einen Kartenmaßstab von 1:140000 erfordert, sind aus den modifizierten Geo-Informationen in ArcView lediglich die für eine Darstellung in diesem Maßstab relevanten Daten zu selektieren und graphisch anzupassen. Zur Ausgabe der daraus resultierenden Graphik in diverse Raster-Formate stellt ArcView die Funktion „Exportieren“ bereit. Leider wird ausschließlich der gesamte im Ansichten-Fenster enthaltene Kartenteil transformiert, so dass die exakte Anpassung der Rastergraphik an die AOI eine Nachbearbeitung in einem entsprechenden Bildverarbeitungsprogramm, wie zum Beispiel Corel Photo Paint 11, notwendig macht. Die endgültige Speicherung der Rasterdaten findet im komprimierten Bildformat PNG statt. Das Ergebnis der Rastergraphik-Generierung zeigt Darstellung 7-16. 7 Anwendungsspezifische Implementierung 77 Darstellung 7-16: Rastergraphik der Daten-Komponente. 7.2.7 Integration der Positionsangabe Die zur Integration der Standortangabe in die Kartengraphik des FahrradtourenNavigationssystems notwendigen Schritte werden im Rahmen der prototypischen Systemimplementierung manuell, unter Verwendung des Texteditors EditPLus2 [vgl. Kapitel 5.2] durchgeführt und setzen eine mit dem ArcView-Script th2SVG erstellte SVGDatei voraus. Als erstes stellt sich die Aufgabe einen effizienten Algorithmus für die Transformation der von der Positions-Komponente in einer XML-Datei abgelegten ellipsoidischen geographischen Koordinaten ϕ und λ in das ebene Koordinatensystem der SVGKartengraphik mit XSVG und YSVG zu finden. Da eine exakte Koordinatenumwandlung nicht ohne aufwändige Berechnungen möglich ist, wird ein zweidimensionaler affiner Ansatz gewählt. Dieser ist zwar aus mathematischer Sicht ungeeignet, liefert aber für das relativ kleine Interessengebiet der Tour 149, unter Annahme eines ebenen dϕ,dλKoordinatensystems, ausreichend genaue Ergebnisse. Als Ursprung des dϕ,dλ-Systems wird der Ursprung der Kartengraphik deklariert, wodurch sich dϕ,dλ-Koordinaten aus der Differenz zwischen den geographischen Koordinaten eines beliebigen Punkts und dem oberen linken AOI-Eckpunkt ergeben. Darstellung 7-17 zeigt die Ausgangssituation. 7 Anwendungsspezifische Implementierung 78 ϕ λ XSVG YSVG Darstellung 7-17: SVG und ϕ,λ-Koordinatensystem. Eine Affin-Transformation beinhaltet die 6 geometrischen Parameter Skalierung in dϕRichtung mdϕ, Skalierung in dλ-Richtung mdλ, Rotationswinkel der dϕ-Achse α, Rotationswinkel der dλ-Achse β, Verschiebung in X-Richtung X0 sowie Verschiebung in Y-Richtung Y0 [NIEMEIER, 2002]. Mathematisch ausgedrückt stellt sich die Situation wie folgt dar: XSVG [px] = X0 + mdϕ (cos α) dϕ [°] – mdλ (sin β) dλ [°], YSVG [px] = Y0 + mdϕ (sin α) dϕ [°] + mdλ (cos β) dλ [°]. Durch den Einsatz von Koeffizienten lassen sich die Gleichungen vereinfachen zu: XSVG [px]= a1 + a2 dϕ [°]+ a3 dλ [°], YSVG [px]= a4 + a5 dϕ [°]+ a6 dλ [°]. Somit werden für die effiziente affine Koordinatentransformation die Koeffizienten a1 bis a6 benötigt. Diese lassen sich über in beiden Koordinatensystemen bekannte Punkte mittels einer Ausgleichung nach vermittelnden Beobachtungen berechnen. Als Punkte bieten sich die vier bereits im SVG- und G-K-System bekannten Karten- beziehungsweise AOIEckpunkte an. Vier zusätzlich gewählte, gleichmäßig im Kartenbereich verteilte Punkte erhöhen die Qualität der Parameterbestimmung und werden unter Nutzung der für die Umwandlung der Geometriedaten aus dem G-K-System in das SVG-System aufgestellten Formeln und Konstanten [vgl. Kapitel 7.2.5.2] in das G-K-System transformiert. Durch die Verwendung eines im Internet frei verfügbaren Programmwerkzeugs zur Umrechnung von Koordinaten zwischen verschiedenen Systemen, wie zum Beispiel das in Darstellung 7-18 abgebildete KSDTrans [SINGER, 2003], können die G-K-Koordinaten der 8 Punkte in geographische Koordinaten umgerechnet werden. Damit sind alle für die Ausgleichung erforderlichen Daten bekannt, so dass sich die 6 Koeffizienten der affinen Transformation bestimmen lassen. Eine höheren Gewichtung der Randpunkte im Ausgleichungsalgorithmus bewirkt das gleichmäßige Einpassen des dϕ,dλSystems in das SVG-System, wodurch die Abweichung zwischen einem Soll-Wert und einem über die Koeffizienten errechneten Ist-Wert im gesamten Interessengebiet nahezu gleich bleibt. Auf die umfangreichen Kalkulationen der vermittelnden Ausgleichung soll 7 Anwendungsspezifische Implementierung 79 an dieser Stelle nicht eingegangen werden. Eine detaillierte Beschreibung ist aber dem Anhang beigefügt. Darstellung 7-18: Benutzeroberfläche von KSDTrans. Aus den Ergebnissen der Ausgleichung ergeben sich die Formeln der kartenspezifischen Koordinatentransformation zu: XSVG [px] = -2,1 + 40562,44 dϕ [°] − 709,87 dλ [°], YSVG [px] = 0,1 – 434,53 dϕ [°] − 66231,85 dλ [°]. Dabei ist die Genauigkeit der affinen Transformation mit einer maximalen Abweichung zwischen Soll- und Ist-Wert von zwei Pixeln beziehungsweise 0,5 Millimetern in der Kartengraphik für den Gebrauch im Fahrradtouren-Navigationssystem absolut ausreichend. Die Abfrage der im XML-Format gespeicherten Standortkoordinaten und die anschließende Transformation dieser in das SVG-Koordinatensystem erfolgt über die, in Javascript [vgl. Kapitel 5.4] formulierte und in einem externen Script abgelegte Funktion load(obj). Dabei liegen die Positionsdaten mit dem Ausdruck <pos>52.374360,9.740327</pos> in einer XML-Datei obj vor [s.Kapitel 7.4]. Für die Abfrage der Daten besitzt load(obj) die Befehlszeilen: frag = parseXML(obj.content, svgDocument); theString=frag.firstChild.firstChild.getData(); s=theString.split(","); breite=s[0]; laenge=s[1]; parseXML(...) zerlegt den Inhalt der Datei in seine XML-Bestandteile, wodurch mit die Daten des XML-Elements <pos> abfragbar sind. Aus der firstChild.firstChild.getData() 7 Anwendungsspezifische Implementierung 80 Anwendung der Funktion split() im Bezug auf das Trennzeichen „,“ergeben sich die separaten geographischen Koordinaten breite und laenge. Nach Bildung der Koordinatendifferenzen zum Ursprung des dϕ,dλ-Systems werden die SVG-Koordinaten über die Gleichungen der Affin-Transformation berechnet. Durch den Javascript-Befehl getURL("name.xml",load) lässt sich die Funktion load(obj) auf eine beliebige XML-Datei anwenden. Infolge der für Navigationszwecke notwendigen permanenten Aktualisierung des Standpunkts wird load(obj) in regelmäßigen Zeitintervallen von 10 Sekunden ausgeführt. Dieser Wert entspricht unter Annahme einer Fahrgeschwindigkeit von 25 km/h einer Positionsveränderung von 7 Millimeter in der Kartengraphik 1:10000 und reicht demzufolge für die Fahrradnavigation aus. Bei der Integration der Positionsangabe können verschiedene Systemfehler auftreten, die mit geeigneten Methoden zu vermeiden sind. Der Datenzugriff scheitert beispielsweise, wenn die Positions-Komponente gleichzeitig die XML-Datei modifiziert, so dass während der anschließenden Koordinatenberechnung ein Fehler entsteht, der den Systemablauf unterbricht. Dieser Effekt tritt auch bei fehlerhaften Informationen in der XML-Datei auf. Ein in der Funktion load(obj) deklarierter Test der Variablen breite und laenge auf ihren numerischen Inhalt und einem vom Testergebnis abhängigen Funktionsabbruch schafft in beiden Fällen Abhilfe: if (isNaN(breite)||isNaN(laenge)) return; Des Weiteren erreicht die Eingrenzung der, aus der Transformation resultierenden SVGKoordinaten auf das Gebiet der Kartengraphik ein Herausfiltern großer numerischer Koordinatenfehler. Zur graphischen Darstellung des Standorts wird die SVG-Datei der Kartengraphik um ein einfaches Kreisobjekt erweitert, das die über load(obj) berechneten Koordinaten zugewiesen bekommt. Die visuellen Ausmaße des Objekts sind zweckmäßig über alle Kartenskalierungen hinweg konstant. Eine exemplarische Positionswiedergabe in der Kartengraphik demonstriert Darstellung 7-19. Standort Darstellung 7-19: Wiedergabe der Standortangabe in der Kartengraphik. 7 Anwendungsspezifische Implementierung 81 7.3 Entwicklung der User-Interface-Komponente Wie in Kapitel 6.3 erläutert, dient die User-Interface-Komponente der Steuerung des Fahrradtouren-Navigationssystems. Sie gliedert sich in die graphische Benutzeroberfläche und den für dynamische Vorgänge notwendigen Javascript-Prozeduren. Das Starten beziehungsweise Beenden der einzelnen Funktionen verläuft über die jeweiligen Kontrollsegmente der GUI. Als Entwicklungsumgebung der Systemkomponente dient der Texteditor EditPlus2 [vgl. Kapitel 5.2]. 7.3.1 Benutzeroberfläche Da Interaktionen das Ansprechen einzelner GUI-Objekte durch den Anwender voraussetzen, wird zur Generierung der Benutzeroberfläche eine übergeordnete SVGGraphik (äußeres SVG) implementiert, die unter anderem die hybride Kartengraphik (inneres SVG) sowie mehrere Steuerelemente einschließt. Das äußere SVG erhält als Ausmaß den maximal zur Verfügung stehenden Ansichtsbereich des PDA-Displays, der unter Nutzung des eSVG-Viewers [vgl. Kapitel 3.3.8] 240 x 270 Pixel beträgt. Um eine Verschiebung oder Skalierung der GUI-Graphik über, vom Viewer bereitgestellte Funktionalitäten zu verhindern, ist dem äußeren SVG das Attribut zoomAndPan=“Disable“ zugeordnet, welches die entsprechenden Prozesse deaktiviert. Die innere SVG-Graphik wird aufgrund ihrer herausragenden Bedeutung als Informationsträger ohne Skalierung in die GUI eingepasst und mit einem Identifikator ausgestattet, der ein direktes Ansprechen von Objekten der SVG-Kartengraphik erlaubt. In dem verbleibenden Bereich der GUIGraphik sind Steuerelemente in Form von einfachen PNG-Bildern positioniert, mit denen sich in Anlehnung an das aufgestellte Konzept der User-Interface-Komponente aus Kapitel 6.3 Zoom-, Pan- sowie Ortungs-Prozeduren bedienen lassen. Ein weiteres Symbol ermöglicht den Aufruf der externen zeichenerklärenden SVG-Graphik. Grundsätzlich werden deaktivierte beziehungsweise nicht verfügbare Schaltflächen durch eine abgedunkelte Abbildung kenntlich gemacht. Das Resultat der anwendungsspezifischen Entwicklung der Benutzeroberfläche ist der Darstellung 7-20 zu entnehmen. Kartengraphik Zusatzinfo ZoomOut GPS On/Off ZoomIn Zentrierung On/Off Pan Legende Darstellung 7-20: Benutzeroberfläche des Fahrradtouren-Navigationssystems. 7 Anwendungsspezifische Implementierung 82 7.3.2 Interaktionen Zu den vom Anwender steuerbaren, dynamischen Vorgängen gehören das Skalieren (Zoom), das Verschieben (Pan), das Anzeigen des Standorts, die automatische Zentrierung auf den Standort sowie das Anzeigen von erklärenden und beschreibenden Zusatzinformationen (Darstellung 7-20). Zur Entwicklung der dafür erforderlichen Prozeduren sind zunächst einige fundamentale Festlegungen zu treffen. Das Konzept des Fahrradtouren-Navigationssystems sieht in Abhängigkeit vom aktuellen Kartenmaßstab eine Wiedergabe der rasterorientierten oder der hybriden Kartengraphik vor [vgl. Kapitel 6.3]. Darum wird die Rastergraphik als neues Objekt in die Hybridgraphik, dem inneren SVG, integriert und exakt über die gesamte Graphik gelegt. Jetzt erreicht eine Zuweisung des Ausdrucks display="none" an alle die Grids präsentierenden SVG-Gruppen ein vollständiges Auslassen der hybriden Graphik während der Kartenzeichnung, so dass lediglich die Rastergraphik sichtbar ist. Dieser Zustand entspricht der Ausgangssituation der Kartengraphik nach dem Start des Navigationssystems, das zweckmäßig zunächst eine Gesamtübersicht des Interessengebiets wiedergibt. Für die dynamische Situationswiedergabe im Maßstab 1:140000 bis 1:10000 stehen 4 Zoomstufen mit konstantem Skalierungsfaktor zur Verfügung, wobei in Stufe 1 und 2 die rasterbasierte, in Stufe 3 und 4 die hybride Kartengraphik dargestellt wird. Der Anwender wählt durch Anklicken der Zoom-Symbole auf der GUI den gewünschten Maßstab aus. Den mit der ZoomIn-Kontrolle zu skalierenden Bereich definiert ein in der Kartengraphik angeklickter Punkt. Bezüglich des konzeptionellen Aufbaus der Daten-Komponente sind für das Anzeigen der Hybridgraphik lediglich die vier im Display sichtbaren Grids zu aktivieren [vgl. Kapitel 6.2.5]. Deshalb bedingt ein Wechsel von der rasterbasierten in die hybride Graphik eine Bestimmung der um den selektierten Kartenpunkt liegenden Grids. Diese können aufgrund der Deklaration numerischer Grid-Identifikatoren [vgl. Kapitel 7.2.5.1] und der bekannten Gridgröße über mathematische Formeln berechnet werden. Mit dem Setzen des Attributs display der sich so ergebenden SVG-Gruppen auf „inline“ und dem gleichzeitigen Ausschalten der Rastergraphik entsteht die geforderte Kartengraphik. In umgekehrter Richtung vollzieht sich der Übergang von Zoomstufe 3 in Zoomstufe 2 unter der Deaktivierung der vier Grids und dem Einschalten der Rastergraphik. Eine weitere Möglichkeit der Gebietsauswahl bieten die Pan-Kontrollen Oben, Unten, Links und Rechts, welche die Kartengraphik in die entsprechende Richtung verschieben. Hierbei wird in den Zoomstufen 3 und 4 mit Hilfe mathematischer Gleichungen überprüft, ob die aktivierten Grids der hybriden Graphik den sichtbaren Kartenteil vollständig überdecken. Bei Bedarf sind über das Attribut display die nicht mehr in der Kartenansicht enthaltenen Grids auszuschalten und die notwendigen Kartenteile anzuzeigen. Die Integration der Standortangabe kontrolliert der Anwender über die GUI-Elemente GPS On/Off und Zentrierung On/Off. Ein Anklicken des GPS On/Off-Symbols startet beziehungsweise beendet den Prozess der Koordinatenabfrage und –umwandlung [vgl. Kapitel 7.2.7] sowie die Darstellung der Position in der Kartengraphik. Aus dem Anklicken der Schaltfläche Zentrierung On/Off resultiert ein automatisches Ausrichten der 7 Anwendungsspezifische Implementierung 83 Karte auf den aktuellen Standort, der sich somit immer im Mittelpunkt der Kartenansicht befindet. Zur Realisierung werden die bereits beschriebenen Zoom- und PanFunktionalitäten mit Bezugnahme auf die Standortkoordinaten angewendet. Durch die Einbindung der zeichenerklärenden SVG-Datei in eine HTML-Datei ist das Aufrufen dieser über einen mit dem Legenden-Symbol verbundenen einfachen Hyperlink möglich. Somit erfolgt neben der Wiedergabe von Zusatzinformationen der POIs [vgl. Kapitel 7.2.4] auch die Anzeige der Legende über einen externen HTML-Viewer. Sämtliche, für die interaktiven Vorgänge notwendigen Prozeduren sind in Javascript [vgl. Kapitel 5.4] implementiert und in einem externen Script abgelegt. Eventhandler, die den GUI-Objekten zugeordnet werden, starten beim Eintritt eines vordefinierten Ereignisses, in der Regel ein Klick, die ihr zugewiesenen Funktionen. Somit ist ein Anwender befähigt, über die Benutzeroberfläche der User-Interface-Komponente den Systemablauf individuell zu steuern. 7.4 Entwicklung der Positions-Komponente Nach der Fertigstellung der Daten- sowie der User-Interface-Komponente des Navigationssystems ist schließlich eine Stand-Alone-Applikation zu entwickeln, welche die XML-Datei mit den Positionskoordinaten in bestimmten Zeitintervallen und unter Auswertung der vom GPS-Empfänger ausgegebenen Daten aktualisiert. Dazu wird eine eVB-Anwendung GPSLog unter Nutzung der Programmierumgebung eVB-Tools 3.0 [vgl. Kapitel 5.3.3] implementiert. Shape Label Command ComboBox Button TextBox FileSystemControl Comm-Control File-Control Timer-Control sichtbar unsichtbar Darstellung 7-21: Programmlayout der Positions-Komponente GPSLog. 7 Anwendungsspezifische Implementierung 84 Die Erstellung von GPSLog erfordert zunächst eine Gestaltung des geometrischen Programmlayouts im Form-Fenster von eVB-Tools. Dieses setzt sich, wie die Darstellung 7-21 zeigt, aus diversen für den Anwender sichtbaren und unsichtbaren Steuerelementen zusammen. Dabei bilden die sichtbaren Objekte die Benutzeroberfläche der Applikation. In der Form sind Eingabefelder, wie zum Beispiel Textboxen oder ComboBoxen, so zu positionieren, dass sie von der zur Zeicheneingabe erforderlichen visuellen PDA-Tastatur nicht überdeckt werden. Mit Hilfe der unsichtbaren Elemente lassen sich Zugriffe auf Schnittstellen, Dateien und Verzeichnisse oder Zeitgeber einfach realisieren. Durch Kombination der einzelnen graphischen Steuerelemente mit zweckmäßigen im CodeFenster deklarierten Ereignisprozeduren entstehen die Programmfunktionalitäten. Für die individuelle Konfiguration der Applikation stehen die verschiedensten Eingabefelder zur Verfügung. Der Anwender kann den seriellen Anschluss und die Datenübertragungsrate des GPS-Empfängers, das Zeitintervall der Datenaktualisierung in Sekunden sowie das Verzeichnis und den Namen der Ausgabedatei wählen. Das eigentliche Starten und Beenden der Prozeduren für den Datenempfang und der Datenausgabe findet über die Schaltflächen Start und Stop statt (Darstellung 7-22). Darstellung 7-22: Benutzeroberfläche der Positions-Komponente GPSLog. Unter Verwendung der selektierten Konfigurationsparameter stellt sich der eigentliche Programmablauf wie folgt dar: Zum Registrieren der GPS-Datensätze mit den Formaten GGA, GSA, GSV und RMC [vgl. Kapitel 4.2.2] öffnet die Comm-Control den seriellen Anschluss und legt die vom GPSEmpfänger ausgegebenen Daten in einer Variablen str ab. Die Verbindung wird wieder getrennt, sofern str mehr als 325 Zeichen und somit mindestens eines der beiden Positionsbeschreibenden Formate GGA und RMC vollständig beinhaltet. Östlich des Nullmeridians (Meridian von Greenwich) kann die Position der geographischen Koordinaten Länge und Breite innerhalb von str eindeutig über den Identifikator „,E,“ festgestellt werden, wobei die 23 davor stehenden Zeichen die Positionskoordinaten wiedergeben. Nach Selektion 7 Anwendungsspezifische Implementierung 85 und Separation der Daten sind die in einem Sexagesimalsystem (Grad und Minute) vorliegenden Koordinaten in ein Dezimalsystem (Grad) umzuwandeln. Das Resultat speichert die File-Control mit den notwendigen XML-Deklarationen in der ausgewählten XML-Datei ab. Dabei informiert ein kurzes Anzeigen des ansonsten unsichtbaren Shapes auf der Benutzeroberfläche den Anwender über die Aktualisierung der Standortangabe. Der gesamte hier erläuterte Vorgang wird mittels der Timer-Control in den vorgegebenen Zeitabständen wiederholt. Nachdem die zum Programmablauf erforderlichen Ereignisprozeduren der jeweiligen Kontrollelemente komplett in eVB-Tools deklariert sind, wird mit Hilfe des Tools Application Install Wizard eine Setup-Anwendung generiert. Dieses ermöglicht die automatisierte Programminstallation auf der Zielplattform, dem PDA, so dass die entwickelte Applikation als Positions-Komponente des Fahrradtouren-Navigationssystems eingesetzt werden kann. 8 Systemtest 86 8 Systemtest Dieses Kapitel überprüft das in Kapitel 7 implementierte Fahrradtouren-Navigationssystem für den Geolife Fahrradtourenvorschlag 149 hinsichtlich der Systemperformance, der Anwenderfreundlichkeit sowie der Zuverlässigkeit. Dafür werden die entwickelten beziehungsweise vorausgesetzten Software-basierten Systemkomponenten mit den in Kapitel 4 vorgestellten Hardwarebestandteilen PDA HP iPAQ H5450 und GPS-Empfänger Holux GM-270 CF kombiniert. Angesichts des fehlenden Adapters für die Befestigung des PDAs an einem Fahrradlenker findet der Systemtest im Rahmen einer Feldbegehung statt. Dadurch können keine Aussagen betreffend der Systemperformance während einer Tourbefahrung getroffen werden. Das Programmpaket erweist sich mit einem Datenvolumen von ungefähr 5 Megabyte als äußerst kompakt und lässt sich problemlos über die Synchronisationssoftware Microsoft ActiveSync [vgl. Kapitel 4.1.1] von einem stationären PC auf den PDA übertragen. Nach Erreichen des Interessengebiets der Tour 149 ist zunächst die Positions-Komponente GPSLog aufzurufen und über die Eingabefelder zu konfigurieren. Dabei wird für den Systemtest eine Aktualisierungsrate der Standortdaten von 2 Sekunden festgelegt, die eine zeitnahe Anzeige der ermittelten Position sicherstellt. Im Anschluss erfolgt der eigentliche Programmstart von GPSLog, wobei das während der Datenspeicherung aufleuchtende Punkt-Shape Gewissheit gibt, dass bei den im Hintergrund ablaufenden Prozessen kein Fehler auftritt. Abgeschlossen wird die Einrichtung des Navigationssystems durch Aufruf der tourspezifischen SVG-Datei unter Nutzung des eSVG-Viewers. Dank des transflektiven PDA-Displays [vgl. Kapitel 4.1] erscheint Datenwiedergabe auch bei wechselnden Lichtverhältnissen klar und eindeutig. die visuelle Als sehr sinnvoll ist die einfache, nahezu selbsterklärende Gestaltung der Benutzeroberfläche des Navigationssystems und das Abdunkeln deaktivierter Schaltflächen zu betrachten, da somit auch der ungeübte Anwender die Handhabung sehr schnell erlernen kann. Die für eine dynamische Informationswiedergabe bereitgestellten Zoom-, Pan-, Ortungs- und Beschreibungs-Funktionalitäten wirken für den allgemeinen touristischen Gebrauch zufrieden stellend. Allerdings laufen ausgeführte Prozesse, wie zum Beispiel das Kartenzoomen, trotz der expliziten Ausrichtung des Systems auf eine beschleunigte Performance leicht verzögert ab. Durch die verschiedenen adaptiven Zoomstufen, abgebildet in Darstellung 8-1, wird die räumliche Situation maßstabsgerecht im Kartenbereich wiedergegeben. Demgemäss ist ein Nutzer in der Lage, sich zu jedem Zeitpunkt mit Hilfe der Zoom- und Pan-Schaltflächen umfassend zu orientieren. Der Zugriff auf die HTML-Seiten der POIs gelingt über das Anklicken der entsprechenden Symbole in der Kartengraphik ohne Komplikationen. Automatisch öffnet sich der Pocket Internet Explorer und zeigt die objektspezifischen Informationen an. 8 Systemtest 87 Zoom 1 Zoom 2 Zoom 3 Zoom 4 Darstellung 8-1: Zoomstufen des Fahrradtouren-Navigationssystems. Mit der Einbeziehung des aktuellen Standorts in die Kartengraphik erfüllt das System die fundamentale Aufgabe der positionsabhängigen Situationsbeschreibung. Aufgrund der markanten Form- und Farbgebung für die bedeutenden Kartenobjekte der Standort- als auch der Tourangabe sind diese leicht zu identifizieren. Dies gestattet einem ortsfremden Nutzer seine Fahrradtour individuell zu gestalten, ohne dass die Orientierung bezüglich der originären Wegführung verloren geht. Aus subjektiver Sicht stimmte die angezeigte Position während der gesamten Feldbegehung mit dem Standort in der realen Welt überein. Lediglich in stark abgeschatteten Bereichen, wie beispielsweise dicht bebauten Wohngebieten, konnten geringe Abweichungen von 1 bis 2 Millimetern in der Kartengraphik festgestellt werden. Schlussfolgernd liefert der Holux GM-270 CF auch bei eingeschränkter Sicht zum Himmel gute Messwerte. Des Weiteren zeigt das Ergebnis, dass zur Umwandlung der geographischen Koordinaten in kartenbasierte Koordinaten ein affiner Ansatz absolut ausreichend ist. Exemplarisch gibt Darstellung 8-2 die reale und die abstrahierte Situation am Startpunkt der Tour wieder. Kritischer Punkt des Navigationssystems ist die maximale Systemlaufzeit. Der Energiespeicher der eingesetzten Hardware erlaubt lediglich eine kontinuierliche Betriebsdauer von 4 ½ Stunden. Dieser Wert genügt zwar den Anforderungen einer Befahrung der Tour 149, kann aber auf längeren Strecken problematisch werden. 8 Systemtest 88 Darstellung 8-2: Startpunkt des GeoLife Fahrradtourenvorschlags 149. Insgesamt betrachtet präsentiert sich das Fahrradtouren-Navigationssystem als sehr komfortable Unterstützung bei der Lösung raumbezogener Fragen. Der Anwender hat jederzeit die Möglichkeit, Informationen über seinen Standort, den Tourweg oder andere interessante Aspekte abzufragen. 8 Systemtest 89 9 Bewertung Auf Basis der aus der Implementierung und dem Test des FahrradtourenNavigationssystems gewonnenen Erkenntnisse wird in diesem Kapitel die Zweckmäßigkeit der entwickelten Konzepte beurteilt. Insgesamt zeigen die erzielten Ergebnisse, dass trotz der begrenzten Rechen- und Speicherkapazitäten eines PDAs und den hohen Systemanforderungen [vgl. Kapitel 2] eine zufrieden stellende mobile Lösung auf dem Gebiet der Fahrradtourennavigation realisierbar ist. Die verschiedenen Bestandteile sind optimal aufeinander abgestimmt und gewährleisten den komplikationsfreien Systemablauf. Als kritisch erweist sich lediglich die leicht verzögerte Ausführung rechenintensiver Abläufe, wie zum Beispiel das Zoomen, wobei mit der Weiterentwicklung mobiler Endgeräte eine deutliche Abschwächung dieses Effekts zu erwarten ist. Zur Anpassung des originären Geo-Datenbestands an den mobilen Gebrauch bietet die GIS-Software ArcView 3.2 in Kombination mit zusätzlichen Erweiterungen umfangreiche Optionen. Unter der Verwendung von Generalisierungsverfahren, wie beispielsweise Klassifizierung, Vereinfachung oder Zusammenfassung, reduziert sich der bei der Generierung der Daten-Komponente zu berücksichtigende Informationsgehalt auf die tourrelevanten Daten. Im Rahmen der anwendungsspezifischen Implementierung wurden sämtliche Generalisierungsvorgänge manuell durchgeführt beziehungsweise gesteuert [vgl. Kapitel 7.2]. Demnach könnte die Entwicklung automatisierender Scripte den Erstellungsprozess des angepassten Datenbestands deutlich vereinfachen und beschleunigen. Darstellung 9-1: Wiedergabe von Flächenobjekten mit Umrandung. Die Bildung der digitalen Karte in Abhängigkeit vom Kartenmaßstab aus einer hybriden SVG- oder einer rasterbasierten PNG-Graphik hat sich als sehr effizient erwiesen. Da maximal 4 Grids der aus 36 Kartenteilen bestehenden anwendungsspezifischen 8 Systemtest 90 Hybridgraphik gleichzeitig angezeigt werden, verringert sich das auszuwertende Datenvolumen im Vergleich zu einer herkömmlichen SVG-Vektorgraphik um 89 Prozent. Somit ist die großmaßstäbige Situationswiedergabe trotz des hohen Detaillierungsgrads mit akzeptablen Berechnungszeiten möglich. Allerdings treten bei der Umsetzung der hybriden Strategie in SVG auch einige Probleme auf. Wie aus Darstellung 9-1 ersichtlich, werden graphische Flächenobjekte, die sich über zwei oder mehr Grids erstrecken und eine Umrandung beinhalten, aufgrund der Trennung in separate Teilobjekte mit einem Umriss entlang der Gridgrenze präsentiert. Abhilfe schafft ausschließlich die Vermeidung solcher Umrandungssignaturen oder eine Überzeichnung des betroffenen Objekt-Grenzabschnitts mit einer Linie in Objektfüllfarbe. Einen weiteren Konflikt zeigt Darstellung 9-2. Bei der Wiedergabe von Textsignaturen grenznaher Beschriftungslinien wird der über das Grid hinaus gehende Objektteil durch das nachfolgende Grid überzeichnet. Die Folge ist eine unvollständige Informationsdarstellung. Zur Vermeidung des Effekts müssen entsprechende Beschriftungslinien während der Generierung der Hybridgraphik ausgelassen oder verschoben werden, wobei ein einfacher, automatisierter Abstandstest zwischen den Beschriftungsobjekten und der Gridgrenze das Auffinden der zu berücksichtigenden Elemente übernehmen kann. Darstellung 9-2: Wiedergabe von Beschriftungsobjekten nahe der Gridgrenze. Der Einsatz von SVG als fundamentales Graphikformat im FahrradtourenNavigationssystem hat sich wegen der unzähligen unkomplizierten Gestaltungs- und Interaktionsmöglichkeiten bewährt. Den einzigen signifikanten Schwachpunkt stellt die ungenügende Unterstützung von Mustersignaturen dar, wodurch die kartographische Objektgestaltung eingeschränkt wird. Hinsichtlich der Speicherung und Verwaltung von raumbezogenen, in der Beschaffung sehr teuren Daten besitzt SVG derzeit den Nachteil, dass sämtliche, in textbasiertem Quellcode abgelegte Informationen frei zugänglich und weiterverwendbar sind. Die Situation wird sich aber mit der neuen SVG-Version 1.2 deutlich verbessern, da diese, nach Aussagen des W3Cs, über einen expliziten Datenschutz verfügen soll. 8 Systemtest 91 Zur kompakten Speicherung rasterbasierter Informationen, wie die kleinmaßstäbige Kartengraphik oder die diversen Kartensymbole, eignet sich besonders das PNGGraphikformat. Dieses besitzt gegenüber JPEG den Vorteil, Daten ohne Qualitäts- und Informationsverlust zu komprimieren. Darüber hinaus ergab sich im Rahmen der Systementwicklung bei der Speicherung von Graphiken mit geringer Farbtiefe ein um bis zu 35 Prozent niedrigeres Datenvolumen. Im Vergleich zum ebenfalls verlustfrei komprimierenden GIF-Graphikformat werden mit PNG, infolge des komplexeren Kompressionsverfahrens, deutlich bessere Resultate erzielt [NOACK, 2002B]. Als sehr sinnvoll stellt sich die Speicherung der erläuternden POI-Informationen in unabhängigen HTML-Seiten und das Aufrufen dieser über graphische Symbole in der Kartengraphik heraus. Zum einen belasten die Daten das Kartenbild nicht zusätzlich, zum anderen erlaubt das HTML-Format eine Integration umfassender Daten unterschiedlichen Typs. Damit sind der Einbeziehung von POI-Sachinformationen nahezu keine Grenzen gesetzt. Im Hinblick auf eine Integration der Standortangabe in die Kartengraphik zeigt die tourspezifische Implementierung, dass in kleineren Interessengebieten zur Transformation geographischer Koordinaten in ebene SVG-Koordinaten ein affiner Ansatz ausreichend genaue Ergebnisse liefert. Demzufolge kann bei Navigationssystemen für Fahrradtouren im Allgemeinen auf einen vollständigen, rechenintensiven Transformationsansatz verzichtet werden. Die aus SVG-Graphikelementen und Javascript-Prozeduren aufgebaute User-InterfaceKomponente wird der Aufgabe der interaktiven Informationsübertragung zwischen Nutzer und Navigationssystem gerecht. Über die visuelle Benutzeroberfläche lassen sich alle dynamischen Vorgänge des Systems mit Hilfe geeigneter Schaltflächen und Symbole leicht steuern. Um die Anwenderfreundlichkeit des Navigationssystems weiter zu steigern, könnten die wenigen Eingabetasten des PDAs [vgl. Kapitel 4.1.2] mit den wichtigsten Funktionen, wie Zoom und Pan, verknüpft werden. Der Nutzer wäre so in der Lage, auch ohne Eingabestift grundlegende Vorgänge zu kontrollieren. Das als unabhängige Positions-Komponente entwickelte eVB-Programm GPSLog ist durch die flexible Applikationsgestaltung mit diversen GPS-Empfängern kombinierbar. Während des gesamten Systemtests liefen die softwareinternen Prozesse sehr zuverlässig und störungsfrei ab. Demgemäß präsentiert GPSLog eine optimale Lösung zur Umwandlung der vom GPS-Receiver ausgegebenen Standortangabe in das erforderliche Datenformat XML. Zusammenfassend zeigen die im Rahmen dieser Arbeit konzipierten und entwickelten System-Komponenten, dass ungeachtet der begrenzten Kapazitäten mobiler Endgeräte kompakte, leistungsfähige, komfortable Systeme für die Fahrradtouren-Navigation realisierbar sind. Allerdings bleibt abzuwarten, inwiefern sich vergleichbare Anwendungen auf dem freien Markt durchsetzen werden. 10 Zusammenfassung und Ausblick 92 10 Zusammenfassung und Ausblick Bisher nutzten Fahrradtouristen für die Routenführung überwiegend analoge Radwanderkarten, die den Bedarf an situationsbeschreibenden Informationen nur eingeschränkt decken und in der Handhabung relativ unkomfortabel wirken. Heute bieten sich infolge der Weiterentwicklung mobiler Endgeräte neue Möglichkeiten, computergestützte anwenderfreundliche Navigationssysteme, die sich exemplarisch schon in der Fahrzeugführung bewährt haben, auch für Fahrradtouren bereitzustellen. Diese Arbeit beschäftigt sich mit der Konzeption und Entwicklung eines umfassenden Fahrradtouren-Navigationssystems für GPS-gestützte PDA-Geräte mit dem Betriebssystem Microsoft Windows CE. Ausgangspunkt der Untersuchungen ist eine vordefinierte Route, die zum Beispiel über einen stationären Desktop ausgewählt werden kann. Besondere Berücksichtigung gilt der Behandlung von raumbezogenen Daten, der Einbeziehung von Standortangaben sowie der Integration von Informationen touristischer Interessenpunkte. Anhand einer tourspezifischen Implementierung wird die Leistungsfähigkeit der aufgestellten Strategien überprüft. Der Konzeptionsteil geht zunächst auf die allgemeine Systemarchitektur und die Aufteilung des Systems in einzelne Bestandteile ein. In der Daten-Komponente sind sämtliche Geo-Informationen unter Verwendung der Standardformate SVG, CSS, HTML, XML und PNG organisiert. Zur effizienten adaptiven Situationswiedergabe werden eine detaillierte hybride und eine schematische rasterorientierte Datenstruktur generiert. Da im Allgemeinen der verfügbare originäre Geo-Datenbestand in einem GIS vorliegt und nicht den Anforderungen des Navigationssystems entspricht, ist dieser zweckmäßig anzupassen und anschließend in die Formate der Daten-Komponente umzuwandeln. Die entworfene User-Interface-Komponente steuert Interaktionen zwischen Navigationssystem und Anwender und enthält eine graphische Benutzeroberfläche in SVG sowie diverse, zur Ausführung dynamischer Vorgänge zuständige Javascript-Prozeduren. Für die Verarbeitung des Standortkontextes erfolgt die Aufstellung einer Positions-Komponente in Form einer unabhängigen eVB-Applikation. Bei der anwendungsspezifischen Implementierung wird die Systemarchitektur mit den konzeptionellen System-Komponenten in den festgelegten Datenformaten und Programmiersprachen umgesetzt. Exemplarische Tour ist der GeoLife Fahrradtourenvorschlag 149 „Maschsee-Route zur Expo“. Dabei bilden die in der GISSoftware ArcView organisierten ATKIS- und POI-Daten der Region Hannover die Grundlage der im Navigationssystem enthaltenen Geo-Informationen. Das erstellte Gesamtkonzept zur Entwicklung eines anspruchsvollen Navigationssystems für Fahrradtouren hat sich in einem Systemtest bewährt. Die implementierten Funktionalitäten liefen sehr zuverlässig ab und gewährleisteten jederzeit eine sehr schnelle und eindeutige Orientierung in der realen Welt. 10 Zusammenfassung und Ausblick 93 Mit Hinblick auf weiterführende Arbeiten können die vorgestellten Methoden unter den folgenden Aspekten noch weiter optimiert und erweitert werden. Denkbar ist eine separate Speicherung der geometrischen Weg-Informationen unter Verwendung einer externen XML-Datei. Dies hat den Vorteil, dass die Tourdaten leicht zu modifizieren sind und die Verwendung einer weiteren Route innerhalb des Kartengebiets lediglich die Bearbeitung beziehungsweise den Austausch der Weg-Datei voraussetzt. Somit wird eine vollständige, rechenintensive Neubildung der Geometrie-Daten bei einer Routenänderung vermieden. Ebenfalls realisierbar sind dann Systemfunktionalitäten, die es dem Nutzer gestatten, die vorgegebene Route unterwegs im begrenzten Maß zu manipulieren. Eine Integration zusätzlicher Funktionen zum Ein- und Ausblenden bestimmter Objektklassen befähigen den Anwender, die Kartengraphik individuell thematisch anzupassen. Besonders bei der Einbeziehung vielfältiger POI-Themen erweist sich diese Option als sinnvoll. Bisher nicht berücksichtigt ist eine tiefere Auseinandersetzung mit der Problematik der Routenplanung über einen stationären PC. Zwar erlaubt das entwickelte Konzept die Bereitstellung von Daten für ausgesuchte Touren beispielsweise im Internet, Ziel muss es aber sein, dem Nutzer eine Möglichkeit anzubieten, eine Fahrradtour individuell zu gestalten und alle, für die tourspezifische Navigation erforderlichen Daten annähernd in Echtzeit abzufragen. Abschließend folgt aus den Untersuchungen dieser Arbeit, dass der heutige Entwicklungsstand im Bereich Hard- und Software einen Einsatz kompakter, funktioneller Navigationssysteme im Bereich des Radwanderns zulässt. Es ist demnach nur noch eine Frage der Zeit, wann die ersten komplexen Fahrradtouren-Navigationssysteme auf dem Markt erscheinen werden. 94 Anhang Anhang Auf der beiliegenden CD sind folgende Daten enthalten: Ordner ArcView • Ordner daten • Ordner Scripte • Dateien der ArcView-Themen. o linelab.ave ArcView-Script linelab. o PPL_Tools12.avx ArcView-Tool P/PL-Tools V1.2. o th2SVG.ave ArcView-Script th2SVG. o totleng.ave ArcView-Script totleng. o xtools.avx ArcView-Tool Xtools. tour149.apr ArcView-Projekt Scripten. mit allen Themen und Ordner Ausarbeitung • Affintransformation.xls Excel-Dokument für die Parameter für Koordinatentransformation vermittelnde Ausgleichung. • Diplomarbeit.doc Diplomarbeit als Word-Dokument. • Diplomarbeit.pdf Diplomarbeit als PDF-Dokument. Bestimmung der die affine über eine Ordner GPS • Ordner Application Ordner mit Setup-Dateien zur automatischen Installation von GPSLog auf PDA; Start über Setup.exe. • Ordner eVB-Dateien Ordner mit eVT-Dateien von GPSLog. Ordner Software • Crux_View.exe PDA-Programm Crux_View (GPS-Tool). 95 Anhang • epsetup.exe PC-Programm EditPlus2 (Editor). • eSVG V2.0 for PPC.exe PDA-Programm SVG-Viewer). • eSVG V2.0.zip PC-Programm eSVG V2.0 (Shareware, SVGViewer). • evt2002.zip PC-Programm eMbedded Visual Tools (Entwicklungsumgebung für VisualBasicProgramme auf Windows CE-Basis). • GpsViewer.exe PDA-Programm GPSViewer (GPS-Tool). • ksdtrans.zip PC-Programm KSDTrans Koordinatentransformationen). • VisualGPSce.exe PDA-Programm Tool). eSVG V2.0 (Shareware, (Tool VisualGPSScene für (GPS- Ordner SVG • Ordner Tour149(PC) Fahrradtouren-Navigationssystem 149 auf PC-Basis. für Tour • Ordner Tour149(PDA) Fahrradtouren-Navigationssystem 149 auf PDA-Basis. für Tour à System-Start über tour.svg. Quellenverzeichnis 96 Quellenverzeichnis ADAM, A., 2002: SVG-Scalable Vector Graphics, Franzis, Poing. ADOBE, 2004: Illustrator 10.0, Stand: November http://hallgraphic.com/store/software_B00005QVPY_Adobe-Illustrator10.0.html. 2001, ALSLEBEN, S., 2002: Point & Polyline Tools v1.2, Stand: November 2003, http://arcscripts.esri.com/details.asp?dbid=11694. AMMELBURGER, D., 2004: XML: Grundlagen der Sprache und Anwendungen in der Praxis, Hanser, München. ARONOFF, S., 1991: Geographic Information Systems: A Management Perspective, WDL Publications, Ottawa (Kanada). ATKIS, 2004: Amtliches Topographisch-Kartographisches Informationssystem, Stand: Januar 2004, http://www.atkis.de. BACK, W., 2003: CE – Programmierung, Stand: Januar 2004, http://www.wolfgangback.com/PDF/gps_ein_fall_fuer_den_pda.pdf. BÄR, W., 2002: Konzeption und Entwicklung von Software-Komponenten für ein Routenplanungssystem mit mobilen Endgeräten, Institut für Umweltwissenschaften der Hochschule Vechta, Stand: November 2003, http://www.mapserver.uni-vechta.de/~wbaer/resources/diplomathesis.pdf. BARTELME, N., 2000: Geoinformatik, 3.Auflage, Springer, Berlin. BENNET, R., 2002: GPS Tracking using SVG, Stand: November 2003, http://www.svgopen.org/2002/papers/bennet_gps_tracking_with_svg/index.html. BILL, R., 1999: Grundlagen der Geo-Informationssysteme Band1, 4.Auflage, Wichmann, Heidelberg. BRÜHLMEIER, T., 2000: Interaktive Karten – adaptives Zoomen mit Scalable Vector Graphics, Geographisches Institut der Universität Zürich, Stand: November 2003, http://www.carto.net/papers/tobias_bruehlmeier/2000_10_tobias_bruehlmeier_di plomarbeit_adaptives_zoomen.pdf. BUZIEK, G., 2002: Geoinformationen im mobilen Internet – Aspekte der Kommunikation und Wahrnehmung, In: Institut für Kartographie und Geo-Medientechnik (Hrsg.): Telekartographie und Location Based Services, Wien, 61-76 (Geowissenschaftliche Mitteilungen, 58). COREL, 2002A : Photopaint 11.0, Stand: http://www.corel.de/product_details.asp?id=29&cat=1. Dezember 2003, Quellenverzeichnis COREL, 97 2002B: CorelDraw 11.0, Stand: http://www.corel.de/product_details.asp?id=29&cat=1. Dezember DELAUNE, M., 2003: XTools, Stand: http://arcscripts.esri.com/details.asp?dbid=11526. November 2003, 2003, DILTHEY, A., 2003: Die Webdesign-Referenz, Stand: Januar 2004, http://www.webdesignreferenz.de. ELIAS, B. & HAMPE, M., 2003: Integrating topographic information and landmarks for mobile navigation, In: Institut für Kartographie und Geo-Medientechnik (Hrsg.): Location Based Services & Telecartography, Wien, 147-156 (Geowissenschaftliche Mitteilungen, 66). ES- COMPUTING, 2003: EditPlus2-Editor, Stand: Oktober 2003, http://www.editplus.com. ESRI, 1998: What's new in ArcView GIS 3.2, ArcView GIS 3.2 Help. ESRI, 2004: ArcView 3.x, Stand: Oktober 2003, http://www.esri.com/software/arcview. FAHRRADIES , 2001, Stand: November vechta.de/Fahrradies/Routenplaner.html. 2003, http://www.fahrradies.uni- FIBINGER, I., 2002: SVG - Scalable vector graphics : Praxiswegweiser und Referenz für den neuen Vektorgrafikstandard, Markt+Technik, München. FLANAGAN, D., 2003: JavaScript - kurz und gut, 2.Auflage, O’Reilly, Köln. FUGAWI, 2004: GPS Karten http://www.fugawi.de/index.html. Software, Stand: März 2004, GAILLY, J. L., 2003: the gzip homepage, Stand: Februar 2004, http://www.gzip.org. GARTNER, G., 2000: Karten im Internet, In: Deutsche Gesellschaft für Kartographie (Hrsg.): Neue Wege für die Kartographie, Bonn, 43-51 (Kartographische Schriften, 4). GEOLIFE, 2004: Der Geolife.de-Tourenservice, http://www.geolife.de. Stand: Februar 2004, GIEVERS, R., 2003: Pocket PC und Windows CE 3.0 für Einsteiger, 2.Auflage, Schmidt, Neustadt an der Aisch. GIMODIG, 2004: Geospatial info-mobility service by real-time data-integration and generalisation, Stand: März 2004, http://gimodig.fgi.fi. GRATTAN, N., 2002: Pocket PC, Handheld PC Developer’s Guide with Microsoft eMbedded Visual Basic, Prentice-Hall, New Jersey (USA). GRIESER, F., 2002: Das PocketPC 2002 Buch, Markt+Technik, München. Quellenverzeichnis 98 GRUBER, F. J., 1998: Formelsammlung für das Vermessungswesen, Dümmler, Bonn. HAKE, G.; GRÜNREICH, D.; MENG, L., 2002: Kartographie, 8.Auflage, de Gruyter, Berlin. HEINICKE, J., 2003: CSS Werkzeuge css.fractatulum.net/tools.htm. Hilfsmittel Editor, Stand: Februar 2004, HELD, G., 2003: Anforderungen an einen kartographischen Viewer für Business Intelligence Systeme, Fachbereich Geoinformationswesen der Fachhochschule Karlsruhe, Stand: November 2003, http://www.carto.net/papers/georg_held/diplomarbeit_georg.pdf. HEWLETT PACKARD, 2003: HP iPAQ Pocket-PC h5450 - Übersicht & Merkmale, Stand: Oktober 2003, http://h10010.www1.hp.com/wwpc/de/de/ho/WF05a/2125921265-21265-21265-21265-1180777.html. HEWLETT PACKARD, 2004, Stand: November 2003, http://www.hewlett-packard.de. HOLUX, 2003: Holux GM-270 CF GPS Empfänger – Bedienungsanleitung, Stand: Oktober 2003, http://www.holux-gps.de/downloads/gm270_anleitung.pdf. HOLUX, 2004: GM-270 (CF), Stand: März 2004, http://www.holux-gps.de/gm270.php. INSIGNIA , 2004: Insignia Jeode, Stand: http://www.insignia.com/content/about/releases/011203.shtml. März INTESIS, 2004: eSVG evaluation package V2.0, Stand: http://www.embedding.net/eSVG/english/get_it/get_it_frame.html. JASC SOFTWARE, 2004: WebDraw, http://www.jasc.com/products/webdraw. Stand: Januar Februar 2004, 2004, 2004, KAHLISCH, T. & VOGEL, G., 1997: SGML Tutorial, Stand: Januar 2004, http://www.ib.huberlin.de/~mschul/sgmltut.htm. KELNHOFER, F., 2002: Kartographie und Tele-Kommunikation, In: Institut für Kartographie und Geo-Medientechnik (Hrsg.): Telekartographie und Location Based Services, Wien, 3-26 (Geowissenschaftliche Mitteilungen, 58). LAGERSTROM , L. R., 2003: Programming the Web using XHTML and JavaScript, McGraw-Hill, New York (USA). LAUCHARDT, T., 2003: SVG Tutorial, Stand: November 2003, http://www.fhwedel.de/~si/praktika/MultimediaProjekte/SVG/SVG_Tutorial_mi3794/3_4.htm. LEHMANN, C., 1999: Visual Basic 6.0, 7.Auflage, Herdt, Nackenheim. LIEBIG, W. & SCHALLER, J. (Hrsg.), 2000: ArcView GIS, Wichmann, Heidelberg. Quellenverzeichnis 99 MEINIKE, T., 2002: Scalable Vector Graphics (SVG) – ein XML-basierter Grafikstandard für 2D-Vektorgrafiken. Vortrag beim Tag der Forschung 2002 – XMLGrafikstandard Scalable Vector Graphics (SVG) im Mai 2002 in Merseburg. MICROSOFT, EMBEDDED VISUAL BASIC 3.0, 2000, Stand: Dezember http://www.microsoft.com/downloads/details.aspx?FamilyID=aeaa7f4c-133146f1-bc4f-cc909333261a&DisplayLang=en. 2003, MICROSOFT, EMBEDDED VISUAL TOOLS 3.0 - 2002 EDITION, 2002, Stand: Januar 2004, http://www.microsoft.com/downloads/details.aspx?FamilyID=f663bf48-31ee4cbe-aac5-0affd5fb27dd&displaylang=en. MOBILE2DAY, 2004: Software PocketPC, http://www.mobile2day.de/platform_wince/software. Stand: März 2004, NÄF, M., 2002: Einführung in XML, DTD und XSL, Stand: November 2003, http://www.internet-kompetenz.ch/xml/einfuehrung. NAVIION, 2003: NaviiON – RIDE WITH A NEW DIMENSION, Stand: Februar 2004, http://www.naviion.de/de. NIEMEIER, W., 2002: Ausgleichungsrechnung, de Gruyter, Berlin. NOACK, W., 2002A : XML 1.0, 2.Auflage, Regionales Rechenzentrum Niedersachsen, Hannover. NOACK, W., 2002B: Illustrator 10, Regionales Rechenzentrum Niedersachsen, Hannover. ORBWORKS, 2003: PocketC for Windows http://www.orbworks.com/pcce/index.html. CE, Stand: März 2004, PARAMOUNT, 2004, Stand: Februar 2004, http://www.paramount-tours.com. POWELL, T. A., 2003: HTML & XHTML: the complete reference, 4.Auflage, McGraw-Hill, New York (USA). REINELT, A., 2002: Das Pocket PC Power-Buch, X.Media, München. ROGERS, N., 2002: Shp2SVG, http://www.carto.net/projects/shp2svg. Stand: November 2003, ROTTER, R., 2002: Javascript: Grundlagen, CSS, Schleifen&Funktionen, Objekte, DOM, DHTML, Dialoge, Behaviors, Franzis, Poing. SALATHE, M., 2001: SVG, Markt+Technik, München. SEEBER, G., 2003: Satellite Geodesy, 2.Auflage, de Gruyter, Berlin. SELFHTML, 2004: XML-Software für MS Windows, http://selfaktuell.teamone.de/links/xml_software.htm. Stand: Februar 2004, Quellenverzeichnis 100 SINGER, C., 2003: KSDTrans, Stand: Februar 2004, http://www.icsinger.de/ksdtrans-htm. STEYER, R., 2001: Jetzt lerne ich JavaScript und HTML, Markt+Technik, München. THALES NAVIGATION, 2004: http://www.magellangps.com. Magellan, Stand: Februar 2004, UISMEDIA , 2004: MapView SVG, Stand: Januar 2004, http://www.mapview.de. VOLKMER, P. & WALDENMAIER, S., 2003: Navigation per Handy. Funkschau 2003 (8): 1416. W3C, CASCADING STYLE SHEETS HOME PAGE, http://www.w3.org/Style/CSS. W3C, EXTENSIBLE MARKUP http://www.w3.org/XML. W3C, HYPERTEXT MARKUP LANGUAGE, http://www.w3.org/MarkUp. W3C, SCALABLE VECTOR GRAPHICS, http://www.w3.org/MarkUp. W3C, SVG IMPLEMENTATIONS, 2004, Stand: http://www.w3.org/Graphics/SVG/SVG-Implementations.htm8. LANGUAGE, 2004, 2003, 2004, 2004, Stand: Stand: Februar 2004, November 2003, Stand: Februar 2004, Stand: Februar 2004, Februar 2004, WEBPARK, 2004, Stand: Februar 2004, http://www.webparkservices.info/welcome.html. WEINGÄRTNER, M., 1999: Publizieren im World Wide Web, 3.Auflage, Regionales Rechenzentrum Niedersachsen, Hannover. WINTER, A. M., 2000: Internetkartographie mit SVG, Fakultät der Human- und Sozialwissenschaften der Universität Wien, Stand: November 2003, http://www.carto.net/andre.mw/projects/atlas/internetkarto_svg_atlas_001206.pdf. WINTGES, T., 2002: Geo-Data Visualization on Personal Digital Assistants (PDA), In: Institut für Kartographie und Geo-Medientechnik (Hrsg.): Maps and the Internet 2002, Wien, 177-183 (Geowissenschaftliche Mitteilungen, 60). WOLF, I., 2001: Untersuchungen zur web-basierten Präsentation von Geo-Daten unter Anwendung von XML und SVG, Institut für Kartographie und Geoinformatik der Universität Hannover, Stand: November 2003, http://www.ikg.unihannover.de/publikationen/diplomarbeiten/2001/Wolf/da_wolf_2001.pdf.