GPSStation Eine GPS-Applikation mit integrierter interaktiver
Transcription
GPSStation Eine GPS-Applikation mit integrierter interaktiver
GPSStation Eine GPS-Applikation mit integrierter interaktiver Landkarte zur Auswertung satellitengestützter Navigationsdaten Michael Hurnaus MASTERARBEIT eingereicht am Fachhochschul-Masterstudiengang Digitale Medien in Hagenberg im Juni 2008 © Copyright 2008 Michael Hurnaus Alle Rechte vorbehalten ii Erklärung Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen Quellen entnommenen Stellen als solche gekennzeichnet habe. Hagenberg, am 21. Juni 2008 Michael Hurnaus iii Inhaltsverzeichnis Erklärung iii Vorwort vi Kurzfassung vii Abstract viii 1 Einleitung 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 2 Satellitengestützte Navigation 2.1 Entwicklung und Technologie . . . . . . 2.1.1 Funktionsweise . . . . . . . . . . 2.1.2 Alternative Positionsbestimmung 2.1.3 Protokolle . . . . . . . . . . . . . 2.2 Anwendungen . . . . . . . . . . . . . . . 2.2.1 Navigation . . . . . . . . . . . . 2.2.2 Vermessung . . . . . . . . . . . . 2.2.3 Militär . . . . . . . . . . . . . . . 2.2.4 GPS im Sport . . . . . . . . . . . 2.2.5 Geocaching . . . . . . . . . . . . 2.2.6 Geotagging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 7 9 12 12 13 14 14 17 18 3 Interaktive Landkarten 3.1 Technologie . . . . . . . . . 3.1.1 Google Maps . . . . 3.1.2 Windows Live Maps 3.1.3 Yahoo! Maps . . . . 3.1.4 Nasa World Wind . 3.1.5 OpenStreetMap . . . 3.1.6 Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 21 23 24 26 26 27 . . . . . . . iv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . INHALTSVERZEICHNIS 3.2 v Anwendungen . . . . . . . . . . . . 3.2.1 Google Earth . . . . . . . . 3.2.2 Nasa World Wind Desktop 3.2.3 Mapnik . . . . . . . . . . . 3.2.4 Osmarender . . . . . . . . . . . . . . 28 29 29 30 30 . . . . . . . . . . . . . . . . . . . . . . . . 31 31 31 36 37 39 41 41 43 44 47 50 52 5 Zusammenfassung 5.1 Resümee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Erweiterungsmöglichkeiten . . . . . . . . . . . . . . . . . . . 5.2.1 Laufzeithochrechnung nach Roger Kaufmann . . . . 5.2.2 Anbindung von GPS-Sendegeräten . . . . . . . . . . 5.2.3 Pulsmessgeräte . . . . . . . . . . . . . . . . . . . . . 5.2.4 Editiermöglichkeit für GPS-Informationen in Bildern . . . . . . 55 56 57 57 57 58 58 . . . . . . . 59 59 59 59 59 60 60 60 4 GPSStation 4.1 Verwendete Technologien . . . . 4.1.1 Hardware . . . . . . . . 4.1.2 Software . . . . . . . . . 4.2 Struktur der Applikation . . . . 4.3 Interaktive Landkarte . . . . . 4.4 Subapplikationen . . . . . . . . 4.4.1 GeoTagger . . . . . . . . 4.4.2 GeoPictureViewer . . . . 4.4.3 LogImporter / Exporter 4.4.4 LogAnalyzer . . . . . . 4.4.5 WhereWasMyHusband . 4.4.6 RunningAssistant . . . . A Inhalt der CD-ROM A.1 Masterarbeit . . . . A.2 Quellcode . . . . . . A.3 Bibliotheken . . . . . A.4 Ausführbare Dateien A.5 Demo-Dateien . . . . A.6 Dokumentation . . . A.7 Referenzen . . . . . . Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Vorwort Mein Dank gilt an dieser Stelle meinem Betreuer Mag. Volker Christian, der mir bei der Entwicklung des Projektes und beim Verfassen dieser Arbeit stets zur Seite gestanden hat. Zudem gilt mein Dank meiner Freundin Verena für die moralische Unterstützung und Geduld, die sie während meines gesamten Studiums aufgebracht hat. vi Kurzfassung In den vergangenen Jahren erfreuen sich satellitengestützte Navigationssysteme immer größerer Beliebtheit, zumal die zugehörigen Empfangsgeräte immer günstiger und die Qualität ebendieser ständig besser wird. Verschiedene Technologien zur Positionierung mit Hilfe von Satelliten werden in dieser Arbeit vorgestellt und diskutiert. Kostenlose digitale Online-Landkartensysteme wachsen mit der Verbreitung von GPS. Parallel zu dieser Technologie wurden bereits zahlreiche Anwendungen für verschiedene Zwecke entwickelt, die häufig sehr spezifisch auf einen bestimmten Fachbereich zugeschnitten waren. Die in dieser Arbeit vorgestellte Anwendung GPSStation stellt eine GPSApplikation dar, die mithilfe einer integrierten digitalen Landkarte zahlreiche GPS-Anwendungen vereint. Dabei ist die Landkarte das zentrale Kontrollelement der Anwendung, welches für sämtliche Teilapplikationen als gemeinsame Basis dient. Neben der Verortung digitaler Fotos (Geotagging) bietet GPSStation die Möglichkeit zum Import und Export von GPS-Daten, Visualisierung von getätigten Routen und die nachträgliche Analyse eines Trainingsablaufs für Sportler. Zudem unterstützt die vorgestellte Applikation den Benutzer bei der Observierung von Personen und der Bewegungsaufzeichnung von Fahrzeugen. Die vorgestellte Applikation ist leicht zu bedienen und durch seine vorgegebene Applikationsstruktur besteht eine gute Erweiterbarkeit zur Integration neuer GPS-Anwendungen. Neue Subanwendungen können erstellt und in GPSStation zur Verfügung gestellt werden. vii Abstract Over the past years, satellite navigation has become increasingly popular, since satellite receivers were getting cheaper and their quality improved immensely. This thesis discusses several different positioning-technologies that make use of satellites. Digital online mapping-services are growing as GPS spreads more widely. Using this technology, several applications for different purposes have been introduced over the years, most of which are specific for one major purpose. GPSStation introduces a desktop-application which combines several independent GPS-applications by using a fully integrated digital map. This map acts as the main user interface component and connects all integrated subapplications. Besides geotagging of digital images, GPSStation provides import and export functionality, route visualization and route analysis tools for sportsmen. Additionally, it supports people observing persons and vehicles, by recording their movements. The present application is easy to use and due to its open softwarearchitecture easy to extend, by providing simple interfaces for new subapplications. viii Kapitel 1 Einleitung 1.1 Motivation Globale Positionierungssysteme wie GPS sind seit einigen Jahrzehnten verfügbar und erfreuen sich immer größerer Beliebtheit. Verwendet werden diese Systeme hauptsächlich zur Navigation und Streckenführung im Straßen- und Luftverkehr. In den letzten Jahren wurden GPS-Empfangsgeräte immer billiger und sind heutzutage für jedermann erschwinglich. Zahlreiche Firmen bieten zu Ihren GPS-Empfangsgeräten Software an, die die Arbeit mit diesen erleichtern soll. Leider handelt es sich bei den angebotenen Programmen viel zu oft um wenig benutzerfreundliche Anwendungen, die nur für einen bestimmten Zweck vorgesehen sind. Da GPS-Daten viel mehr Potential haben, als lediglich klassische Navigation, gibt es einige Anbieter, die es ermöglichen, Bilder und Fotos mit GPSKoordinaten zu versehen. Leider gibt es bisher kein Software-Komplettpaket, welches dem Benutzer ermöglicht, mehr Information aus vorhandenen GPSKoordinaten herauszuholen. Zahlreiche Programme bieten zwar Schnittstellen um Daten mit anderen Geoanwendungen auszutauschen, sie bieten jedoch zumeist keine direkte Integration der digitalen Landkarten in die Software. Dieser Arbeit liegt ein Semesterprojekt mit dem Titel GPSStation zugrunde, welches die oben genannten Probleme versucht zu beheben. Vorgestellt wird das entwickelte Projekt GPSStation in Kapitel 4. 1.2 Zielsetzung Ziel dieser Arbeit und des zugehörigen Projektes ist es, eine Desktopanwendung zu entwickeln, die dem Benutzer erlaubt GPS-Daten zu importieren und in verschiedenster Weise weiter zu verarbeiten. Eine vollständig integrierte digitale Landkarte (die das zugrunde liegende Kartenmaterial über das Internet bezieht) soll fest in die Applikation integriert sein und als zentrales Steuerelement der Benutzeroberfläche dienen. 1 Kapitel 1. Einleitung 2 In die Anwendung integrierte Subanwendungen, die ihrerseits Nutzen aus den importierten geographischen Daten ziehen, sollen dem Benutzer bei der Arbeit mit den GPS-Daten unterstützen. Dabei soll der Benutzer die Möglichkeit haben, GPS-Daten aus GPS-Empfangsgeräten zu laden und diese in der integrierten Landkarte zu visualisieren. Digitale Bilder sollen mit den importierten GPS-Koordinaten versehen werden können, um anschließend deren Anzeige mit der Landkarte zu verknüpfen. Zusätzlich soll die Möglichkeit gegeben werden, die eingelesenen Daten für externe Landkarten-Programme zu exportieren. Ein weiteres Ziel war die Entwicklung einer Subanwendung zur Analyse und Auswertung verschiedener GPS-Datensätze, die etwa für Sportler und deren Trainer hilfreich sein soll. Eine weitere integrierte Anwendung sollte implementiert werden, die aus GPS-Daten ein Bewegungs- und Aufenthaltsprofil zur Überwachung von Fahrzeugen und Personen generiert, um deren Observierung einfach und benutzerfreundlich zu gestalten. Zuletzt sollte eine Applikation für mobile Endgeräte entwickelt werden, die vor allem Sportlern ermöglicht, bei Ihrem Training Zwischenzeiten in Echtzeit zur kontinuierlichen Verbesserung der Trainingsergebnisse anzuzeigen. Ein Hauptaugenmerk soll bei der Erstellung der Desktop-Applikation auf die Benutzerfreundlichkeit der Bedienoberfläche gelegt werden, sodass die Software auch von Benutzern mit wenig Computer-Erfahrung einfach zu bedienen ist. Ein entsprechendes Design, welches von klassischen WindowsAnwendungen abweicht, soll mithilfe der neuen Microsoft-Technologie Windows Presentation Foundation erstellt werden. Sämtliche Punkte dieser Zielsetzung wurden im Rahmen des zugehörigen Projektes GPSStation umgesetzt und werden in dieser Arbeit behandelt. 1.3 Aufbau der Arbeit Die vorliegende Arbeit gliedert sich in fünf logisch unterteilte Kapitel. Nach der Einleitung werden in Kapitel 2 die Technologien satellitengestützter Navigation und deren Anwendungsgebiete erläutert. Dabei werden bekannte Systeme und deren Funktionsweise angeführt und auf aktuelle Entwicklungen eingegangen. Zudem werden Anwendungen behandelt, die mit GPS-Daten arbeiten. Kapitel 3 widmet sich dem umfangreichen Themengebiet der interaktiven Landkartensysteme, die sich immer größerer Beliebtheit erfreuen. Dabei werden bestehende Systeme vorgestellt, analysiert und verglichen. In Kapitel 4 wird die entwickelte Desktop-Anwendung GPSStation vorgestellt und auf interessante Implementierungsdetails eingegangen. Dabei Kapitel 1. Einleitung 3 wurde bewusst auf die Trennung von Beschreibung und Implementierung verzichtet, um programmiertechnisch relevante Details direkt bei der Beschreibung der Anwendung erläutern zu können. Das fünfte und letzte Kapitel gibt eine ausführliche Zusammenfassung der Arbeit und bietet einen Ausblick auf Möglichkeiten der Erweiterung von GPSStation. Im Anhang findet sich ein Inhaltsverzeichnis der beiliegenden CD welche sämtliche referenzierte Web-Artikel sowie den gesamten Sourcecode der Desktop-Applikation GPSStation und der mobilen Anwendung RunningAssistant beinhaltet. Kapitel 2 Satellitengestützte Navigation Satellitengestützte Navigation findet seit den letzten Jahren immer mehr Verbreitung. Mittlerweile besitzen mehrere Millionen Bürger Navigationssysteme für PKWs, Motorräder und Schiffe oder um bei einer Wanderung nicht vom richtigen Weg abzukommen. Nachdem die nötige GPS-EmpfängerHardware täglich besser wird, wird es in absehbarer Zeit möglich sein, GPS innerhalb von Gebäuden verwenden zu können. Da diese Materie den Rahmen dieser Arbeit sprengen würde, wird nicht näher auf Innenraumnavigation eingegangen. Dem interessierten Leser sei [5] empfohlen. Das GPS-Systeme immer wichtiger werden, zeigt die japanische Regierung, die sämtliche Mobiltelefonhersteller aus Japan verpflichtet, einfache GPS-Empfänger in die in Japan verkauften Mobiltelefone einzubauen. Bereits seit April 2007 ist dieses Gesetz in Kraft und gilt für alle Mobiltelefone die den Standard 3G unterstützen [16]. Japan rechnet damit, dass bereits 2009 mehr als 50% aller in Japan benutzten Mobiltelefone GPS unterstützen, 2011 sollen es 90% sein. 2.1 Entwicklung und Technologie Die Entwicklung von globalen, satellitengestützten Positionierungssystemen (GNSS ) über Satellit wurde bereits Mitte der 60er Jahre in den USA unter dem Namen Transit begonnen. Die ersten 24 Satelliten wurden 1976 in das Weltall gesendet, um eine möglichst genaue Positions- und Zeitbestimmung an jedem Punkt der Erde zu ermöglichen. Was heute als Global Positioning System (GPS ) bezeichnet wird, bezeichnet in der Regel NAVSTAR-GPS (Navigational Satellite Timing and Ranging - Global Positioning System). Dieses System war anfangs nur für militärische Zwecke des amerikanischen Verteidigungsministeriums gedacht. Seit Mai 2000 ist ein Subset dieser Positionierungsdienste auch für die zivile Bevölkerung freigegeben worden. Ein Satellit der Baureihe Block IIF ist in Abbildung 2.1 gezeigt. Dieser Satelltitentyp ist der zum Zeitpunkt des Ver4 Kapitel 2. Satellitengestützte Navigation 5 Abbildung 2.1: GPS-Block IIF Satellit. Seit Anfang 2007 umkreisen Satelliten dieser Bauart die Erde, um exakte Positionsbestimmung auf der Erdoberfläche zu gewährleisten. (Quelle: http://www.kowoma.de). fassens dieser Arbeit Neueste und wurde erstmals, mit etwas Verspätung, Anfang 2007 in den Weltraum geschickt. Genutzt wird es von der Zivilbevölkerung in erster Linie für Fahrzeugnavigation, aber auch für Vermessungsaufgaben, Luft- und Wassernavigation sowie für verschiedenste ortsbasierte Systeme (Location Based Services, LBS ). Einen guten Überblick über die Entwicklung von LBS-Systemen gibt Kupper in [6]. Die erste Version des NAVSTAR-GPS benötigte mehr als 15 Minuten um die aktuelle Position auf etwa 100 Meter genau feststellen zu können. Detaillierte Informationen rund um das Thema GPS bietet die Webseite von Kowoma 1 . 2.1.1 Funktionsweise Um eine exakte Position auf der Erdoberfläche feststellen zu können, wird ein GPS-Empfänger (GPS-Receiver ) benötigt. Ein GPS-Empfänger empfängt das Signal von mindestens vier der 242 im Weltall verfügbaren GPSSatelliten. Diese Satelliten sind so angeordnet, dass auf jedem Punkt der Erde zu jedem beliebigen Zeitpunkt mindestens vier Satelliten sichtbar sind. Diese Anzahl ist nötig um einen Punkt genau berechnen zu können. In der 1 http://www.kowoma.de/gps Meist stehen drei bis fünf weitere Satelliten zur Verfügung, falls es zu technischen Problemen kommt. 2 Kapitel 2. Satellitengestützte Navigation (a) 6 (b) Abbildung 2.2: Abbildung (a) zeigt die Berechnung der GPS-Koordinaten anhand von zwei Satelliten. Wird kein dritter Satellit verwendet, kann der GPS-Empfänger etwaige Fehler durch ungenaue Zeitsynchronisation der Satelliten nicht feststellen. Verwendet man allerdings drei Satelliten zur Berechnung, so kann der Fehler der Messung ausgeglichen werden (b). Um auch Fehler in der berechneten Höhe zu vermindern, verlangt GPS mindestens vier gleichzeitig sichtbare Satelliten. (Quelle: http://www.kowoma.de). Regel stehen sogar bis zu acht, in besonderen Fällen bis zu zehn Satelliten zur Verfügung. Je mehr Satelliten sich im Sichtbereich des Empfängers befinden und je weiter diese voneinander entfernt sind, desto genauer kann die Position des GPS-Empfängers ermittelt werden. GPS-Satelliten bewegen sich auf einer von drei Umlaufbahnen in einem Abstand von exakt 35786km zum Erdmittelpunkt (entspricht durchschnittlich 20200km über der Erdoberfläche) um den Planeten. Ein Satellit umrundet die Erde in genau 24 Stunden, was eine Geschwindigkeit von knapp drei Kilometer pro Sekunde ergibt. Die Satelliten werden von fünf Basisstationen auf der Erde überwacht und gesteuert. Diese Stationen befinden sich alle in der Nähe des Äquators, gleichmäßig auf der Erdoberfläche verteilt. Die Hauptbasisstation hat ihren Sitz in den USA (Colorado Springs), von wo aus jederzeit das gesamte System stillgelegt werden kann. Ein GPS-Empfänger empfängt die Signale von mindestens vier Satelliten gleichzeitig. Die Signale werden mit Phasenmodulation (PSK ) übertragen und an den Empfangsgeräten ausgewertet. Aus den einzelnen Phasen der Signale errechnet sich der Empfänger seine aktuelle Position. Abbildung 2.2 (a) zeigt die Berechnung von GPS-Koordinaten durch zwei Satelliten. Wenn Kapitel 2. Satellitengestützte Navigation 7 zwei Satelliten nicht exakt zeitsynchronisiert sind, kann das Ergebnis der Berechnung verfälscht sein. Für die Berechnung der Längen- und Breiteninformation werden deshalb drei Satelliten verwendet, um den Fehler minimieren zu können (siehe Abbildung 2.2 (b)). Vier GPS-Satelliten sind nötig, um die Koordinaten (Latitude, Longitude) und die Höhe des Punkte über dem Meeresspiegel (Altitude) mit Fehlerkorrektur ermitteln zu können. Zusätzlich wird in einem GPS-Signal die aktuelle GPS-Zeit (Universal Time Code, UTC ) übertragen, da die meisten Empfänger keine interne Uhr haben, bzw. falls vorhanden, diese zu ungenau ist. Durch Messung des Dopplereffekts kann auch die aktuelle Geschwindigkeit des GPS-Empfängers ermittelt werden. Das Anführen des exakten Vorgang zur Positionsberechnung würde ein gesamtes Buch füllen und wird deshalb in dieser Arbeit nicht näher erläutert, [8] und [9] widmen sich dieser Thematik im Detail. GPS sendet in der Regel auf zwei verschiedenen Frequenzen, L1 (1575,42 MHz) und L2 (1227,60 MHz). L1 wird benutzt, um den sogenannten C/ACode, die Satelliteninformation für die Zivilbevölkerung, zu übertragen, während L2 den verschlüsselten P/Y-Code für Zwecke des amerikanischen Militärs überträgt. Die Genauigkeit des P/Y -Codes war in den Anfangszeiten von GPS wesentlich höher als jene von C/A-Code Signalen (maximale Abweichung von 10m in 90% der Messungen). Weiterentwicklungen in der GPSEmpfänger-Technologie und intelligente Algorithmen schaffen mittlerweile dieselben Genauigkeiten für C/A-Messungen wie für P/Y -Code-Messungen. In den Jahren von 1995 bis 2000 wurde vom amerikanische Militär das gesamte C/A-Code System auf Selective Availability (SA) umgestellt, was einen gewollten, künstlichen Messfehler verursachte und die Navigation für die Zivilbevölkerung und außenstehende Militärs nur auf etwa 100 Meter Genauigkeit erlaubte. Sie wollten damit eine exakte Navigation für feindliche Truppen verhindern, während sie selbst mit dem unverändert genauen P/Y Code-Verfahren navigieren konnten. Die Genauigkeit der Messung wird zudem durch verschiedene Umstände wie z. B. Wetter, Umgebung (Bäume und hohe Gebäude verursachen Reflektionen des übertragenen Signals) und die Anzahl der zum Messzeitpunkt sichtbaren Satelliten beeinflußt. 2.1.2 Alternative Positionsbestimmung Neben dem weltbekannten Global Positioning System (GPS ) gibt es mittlerweile auf dem gesamten Globus verteilt mehrere Projekte, die sich mit einem eigenen, von den USA unabhängigen, globalen Positionierungssystem beschäftigen. Die wichtigsten alternativen Systeme Galileo und Glonass werden im folgenden Abschnitt näher beschrieben. Compass bezeichnet den Nachfolger des Navigationssystems Beidou der Volksrepublik China, welches allerdings nur im asiatischen Bereich funktio- Kapitel 2. Satellitengestützte Navigation 8 niert. Japan entwickelt zur Zeit ein System mit dem Namen Multifunction Transport Satellite System (MTSAT ), welches den Betrieb 2006 startete und nur in Japan und Australien zur Verfügung steht. Weitere bekannte Systeme sind Transit, der amerikanische Vorgänger zu NAVSTAR-GPS, das sehr ungenaue europäische Fernverkehrs-Positionierungssystem Euteltracs, sowie das in Entwicklung stehende indische Navigationssystem Indian Regional Navigational Satellite System (IRNSS ). Galileo Bereits seit Anfang der 90er Jahre arbeitet die Europäische Union (EU ) gemeinsam mit der Europäischen Weltraumorganisation (ESA) an einem eigenen globalen Positionierungssystem mit dem Namen Galileo 3 , um nicht vom amerikanischen Militär abhängig zu sein. Die Entwicklung verzögert sich aus diversen Gründen immer wieder, nach bereits zwei Verschiebungen ist das momentan geplante Startdatum 2013. Ob die Entwicklung bis dahin am Stand der Technik bleiben wird, bleibt weiterhin fraglich. In Summe wird Galileo mindestens vier Dienste für verschiedene Zielgruppen anbieten. Der Dienst Open-Service (OS ) von Galileo ist vergleichbar mit dem SPS -System (Standard Positioning Service) von GPS und wird der zivilen Bevölkerung kostenfrei zur Verfügung gestellt werden. Hochgenaue Messungen, wie sie etwa für Vermessungsarbeiten und zur Kartographie benötigt werden, werden gegen eine entsprechende Gebühr zur Verfügung stehen. Neben dem angeführten Open-Service wird es einen kommerziellen Dienst (Commercial-Service) geben, der verschlüsselt und gegen Gebühr genauere Daten überträgt. Dabei wird die ionispherische Verzögerung des Signals und die Satellitenzeitinformation mit übertragen. Dadurch kann die exakte Position durch lokale Kompensation wesentlich genauer berechnet werden. Laut Angaben der Hersteller soll mit diesem Service auch eine Innenraumnavigation (Indoor Navigation, IN ) mit einer Abweichung von unter einem Meter möglich sein. Der Public Regulated Service (PRS ) ist eine weiterer GPS-Dienst, der in Europa für Feuerwehren, Polizei und Rettungsdienste, sowie zur Verbrechensbekämpfung eingesetzt werden wird. Der vierte und letzte von Galileo angebotene Dienst trägt den Namen Safety-of-Life-Service (SoL) und steht nach der Inbetriebnahme des Systems Flugzeugen, Schiffen sowie Güter- und Personenzügen zur Verfügung. Der große Vorteil von SoL ist, dass die Benutzer sofort benachrichtigt werden, wenn das GPS-System aufgrund von Satellitenproblemen, schlechtem Wetter oder ähnlichen unvorhersehbaren Situationen, Ungenauigkeiten oder Fehlverhalten aufweist. 3 http://www.esa.int/esaNA/galileo.html Kapitel 2. Satellitengestützte Navigation 9 Galileo arbeitet mit insgesamt 30 Satelliten (27 aktiv, 3 Reserve) auf einer Höhe von etwa 23.260 Meter über dem Meeresspiegel und wird auf etwa vier Meter genau sein. Ein Galileo-Empfänger in der Größe eine Mobiltelefons soll bis zu 15 Satelliten gleichzeitig erreichen können. Das Berechnungsprinzip funktioniert ähnlich dem des GPS-Systems, zumal auch Phasenmodulation (PSK) verwendet wird. Bei Verwendung der kostenpflichtigen Dienste und entsprechender Hardware wird das System im besten Fall eine Genauigkeit im einstelligen Zentimeterbereich liefern. Galileo wird mit GPS kompatibel, nicht aber davon abhängig sein. Dennoch werden voraussichtlich aktuelle GPS-Empfänger nicht mit Galileo zusammenarbeiten können. Durch die Kompatibilität mit GPS (und somit einer Summe von etwa 60 aktiven Satelliten) wird die Genauigkeit des Systems wesentlich erhöht und Ausfallssicherheit gewährleistet sein. Glonass Die russische Alternative zu GPS, Glonass 4 (Globales Navigations-SatellitenSystem) wurde parallel zu GPS bereits in den 70er Jahren entwickelt. Mittlerweile sind allerdings nur mehr wenige Satelliten funktionstüchtig. Reparaturund austauschbedürftige Satelliten wurden erst in den letzten Jahren fallweise erneuert. Bereits Ende 2009 soll es nach Angaben des russischen Verteidigungsministeriums wieder möglich sein, Glonass kommerziell zu nutzen. Die private und kostenlose Nutzung des Glonass-Positionierungssystems ist seit Mai 2007 wieder möglich [12]. Neben der eigenen Entwicklung ist Russland auch an der Forschung und Produktion des europäischen Systems Galileo beteiligt. Dabei werden die Satelliten des Glonass-Systems als Testsatelliten für das europäische System Galileo verwendet [13]. 2.1.3 Protokolle Es gibt mittlerweile eine Reihe von verschiedenen Protokollen, die der Kommunikation von Computern mit GPS-Geräten dienen. Im Rahmen der vorliegenden Arbeit wird nur auf das wichtigste GPS-Protokoll NMEA und der nicht minder wichtigen und weit verbreiteten NMEA-Erweiterung PMTK eingegangen. NMEA Die NMEA (National Marine Electronics Association, Nationale Vereinigung für Marineelektronik)5 hat bereits 1983 begonnen, Protokolle für die Übertragung von GPS-spezifischen Daten zu spezifizieren. Es geht dabei in erster 4 5 http://www.glonass-ianc.rsa.ru http://www.nmea.org Kapitel 2. Satellitengestützte Navigation 10 Linie um die Übertragung von GPS-Daten von GPS-Empfangsgeräten zu Computern oder mobilen Endgeräten. Zudem dienen diese Protokolle der Kommunikation zwischen verschiedenen GPS-Empfängern. Der heute gängige Standard wird als NMEA-0183 bezeichnet und gilt als Nachfolger der Protokolle NMEA-0180 und NMEA-0182, welche heutzutage nicht mehr von Bedeutung sind. NMEA-Datensätze sind ASCII -Zeichenketten die vom Sender (dem jeweiligen GPS-Empfangsgerät) nach dem RS-232 -Standard (auch als serielle Schnittstelle bekannt) ausgegeben werden und so für Computer lesbar sind. Ein Beispieldatensatz nach dem NMEA-0183 Standard sieht etwa wie folgt aus: $GPRMC,162614,A,5230.5900,N,01322.3900,E,10.0,90.0,131006,1.2,E,A*13 Eine Nachricht nach dem NMEA-Standard beginnt immer mit einem $Zeichen und ist maximal 82 Zeichen lang6 . Anschließend folgt die Art der übertragenen Nachricht, im gegebenen Beispiel GPRMC. Erst danach folgen die Nutzdaten der übertragenen Zeile, welche mit einem Stern (*) und einer zweistelligen, berechneten Prüfsumme endet. Verschiedene Standard-Nachrichten-Arten werden im NMEA-Protokoll spezifiziert. Zu den Wichtigsten zählen: GPRMC: Global Positioning Recommended Minimum Sentence ist der empfohlene Minimumdatensatz der von einem GPS-Empfänger übertragen werden soll. Dieser beinhaltet Information zur exakten Uhrzeit der Positionsbestimmung, die Koordinaten östlicher Länge und nördlicher Breite, die Geschwindigkeit des GPS-Empfängers über der Erdoberfläche (in Knoten) und zusätzliche Information über die Qualität der empfangenen Daten. GPGGA: Auch diese Datensätze enthalten die Uhrzeit zum Messzeitpunkt sowie Längen- und Breiteninformation. Zusätzlich werden die Anzahl der sichtbaren Satelliten, Höheninformation (Altitude) und zahlreiche Daten zur Messgenauigkeit übertragen. GPGSA: Nachrichten dieses Typs beinhalten Informationen zu allen aktuell sichtbaren Satelliten (Position, Signalstärke). Eine vollständige Übersicht über sämtliche öffentlichen Nachrichtentypen und deren Funktion findet sich in [6]. Hersteller von GPS-Geräten haben die Möglichkeit proprietäre Nachrichten und damit Zusatzinformation zu übertragen. Solche Nachrichten beginnen mit $P und einer Kurzbezeichnung (drei Zeichen) des Herstellers. An6 Die Eigentliche Nachricht darf maximal 80 Zeichen beinhalten, da am Ende ein Wagenrücklauf (<CR>) und ein Zeilenvorschub (<LF>) obligatorisch sind. Kapitel 2. Satellitengestützte Navigation 11 Tabelle 2.1: Aufbau einer PMTK -Nachricht. Die gesamte Nachricht darf eine Länge von 255 bytes nicht überschreiten. Sowohl Nachrichten die an das Gerät gesendete werden, als auch Nachrichten vom GPS-Gerät nutzen dieses Schema. Feld Länge Datentyp Beschreibung Präambel 1 byte Zeichen $-Zeichen ID 4 bytes Zeichenkette PMTK Pakettyp 3 bytes Zahl Dekoderinfo variabel Zeichenkette Nutzdaten * 1 byte Zeichen *-Zeichen Prüfsumme 2 byte Zahl Prüfsumme CR,LF 2 byte Binärdaten Ende des Packets Daten schließend kann in den Nachrichten neben Position und Zeit auch Richtung, Wassertiefe, Temperatur, Windgeschwindigkeit und vieles mehr übertragen werden. Ein Beispiel für proprietäre Nachrichten zeigt das PMTK -Protokoll, welches in folgendem Abschnitt erläutert wird. PMTK Das MTK -Erweiterungsprotokoll für NMEA wird mittlerweile von fast allen Herstellern von GPS-Datenloggern unterstützt. Dieses Protokoll ermöglicht das Setzen von verschiedenen Einstellungen wie z. B. Log-Intervall, LogGeschwindigkeit und welche Daten auf dem GPS-Log-Gerät gespeichert werden sollen. Der Aufbau einer Nachricht nach dem PMTK -Protokoll ist in Tabelle 2.1 dargestellt. Ein Beispiel für eine PMTK -Nachricht sieht wie folgt aus: $PMTK182,2,10*0A<CR><LF> Nach dem führenden $-Zeichen und der ID (PMTK ) folgt die Pakettypbezeichnung, die dem lesenden Gerät mitteilt, welche Nutzdaten übertragen werden. Die Bezeichnung 182 steht für den Beginn eines Log-Kommandos. Anschließend sagt die Ziffer zwei aus, dass es sich um eine Log-Abfrage (PMTK_LOG_QUERY) handelt, das Kommando 10 teilt dem Lesegerät mit, dass die Anzahl der gespeicherten Punkte angefragt wird. Nach diesen Datenfeldern kommt der obligatorische Stern und die berechnete Prüfsumme der Nachricht, gefolgt von einem Wagenrücklauf (<CR>) und ein Zeilenvorschub (<LF>). Der folgende Programmcode zeigt die C#Implementierung der Funktion für die Berechnung der Prüfsumme beim Versenden einer Nachricht an einen GPS-Datenlogger: Kapitel 2. Satellitengestützte Navigation 12 1 private static string CalcChecksum(string msg) 2 { 3 byte checksum = 0; 4 int i = msg.Length - 1; 5 while (i >= 0) 6 checksum ^= (byte)msg[i--]; 7 8 string chkString = Convert.ToString(checksum, 16); // Hexadezimal 9 if (chkString.Length == 1) 10 chkString = "0" + chkString; 11 else if (chkString.Length == 0) 12 chkString = "00"; 13 return chkString; 14 } Die Nachricht (msg) würde im vorangegangenen Beispiel PMTK182,2,10 sein. Aus dieser Nachricht wird die Prüfsumme berechnet und dieser Wert als Hexadezimalwert zur Fertigstellung der Anfrage-Zeichenkette zurückgegeben. Anschließend folgt eine, nach dem selben Schema aufgebaute AntwortNachricht des GPS-Gerätes mit dem angeforderten Inhalt. In diesem Fall liefert die Antwort die Anzahl der gespeicherten Log-Zeilen oder gegebenenfalls eine Fehlermeldung. Sämtliche Nachrichten die direkt oder indirekt mit dem Auslesen von gespeicherten Log-Daten zusammenhängen, verwenden den Pakettyp 182. Eine detaillierte Liste über zahlreiche PMTK -Pakettypen findet sich in Anhang A.6. Eine PMTK -Nachricht darf eine maximale Länge von 255 Bytes nicht überschreiten. 2.2 Anwendungen Unterschiedliche GPS-Anwendungen stellen unterschiedliche Anforderungen an die Genauigkeit. Während in der klassischen Straßennavigation Fehler im Bereich von ein bis zwei Metern vernachlässigt werden können, muss die Positionsbestimmung in der Vermessungstechnik auf wenige Zentimeter genau sein. Um derartige Genauigkeiten möglich zu machen, werden meist mehrere, wesentlich teurere und größere GPS-Empfänger eingesetzt, um eine zusätzliche Fehlerkorrektur zu erlauben. Nachfolgend werden die Hauptanwendungsgebiete von satellitengestützter Navigation vorgestellt. 2.2.1 Navigation GPS wird bereits seit einigen Jahren von der Zivilbevölkerung zur Navigation in diversen Bereichen genutzt. Hauptsächlich findet man klassische GPS-Empfangsgeräte in Kraftfahrzeugen, die sich diese Technologie für die Nutzung im alltäglichen Verkehr zunutze machen. Durch einfache Eingabe Kapitel 2. Satellitengestützte Navigation 13 des Zielorts wird, ausgehend vom aktuellen Standort, die wahlweise kürzeste oder schnellste Route berechnet. Die Berechnung der Fahrtroute findet direkt auf dem Empfangsgerät statt, auf dem auch das Kartenmaterial für die entsprechende Region gespeichert ist. Auswählbare Stimmen in verschiedenen Sprachen, Anzeige von Radarstationen entlang der geplanten Strecke oder Stadtführungen sind nur einige der zahlreichen Zusatzfunktionen, die von verschiedenen Herstellern in großteils guter Qualität angeboten werden. Klarer Marktführer in Europa im Bereich der Kraftfahrzeug-Navigation ist der niederländische Hersteller TomTom 7 , weitere bekannte Hersteller sind Garmin 8 (weltweiter Marktführer), Sony 9 und Navigon 10 . Diese Navigationsgeräte können natürlich auch zur Fußgänger- und Radfahrernavigation eingesetzt werden. Daraus entwickelte sich der Freizeitsport Geocaching, welcher in Abschnitt 2.2.5 näher erläutert wird. Zudem werden Fußgänger-Navigationsgeräte häufig für Geotagging-Aufzeichnungen verwendet (vgl. Abschnitt 2.2.6). Navigationsgeräte können sowohl für den Straßenverkehr, als auch für die Seefahrt verwendet werden. Für die Seefahrt gibt es allerdings oft spezielle Software, die für diese Zwecke optimiert ist. Diese haben Seefahrtsstraßen im Kartenmaterial integriert und sind für die Bedürfnisse der SeefahrtNavigation angepasst. Auch in Flugzeugen wird GPS immer häufiger eingesetzt. Neben hochgenauen GPS-Empfangsgeräten in großen Passagiermaschinen werden in kleineren Sportflugzeugen handelsübliche KFZ-Navigationsgeräte zur Orientierung verwendet. 2.2.2 Vermessung GPS-Navigation wird im Vermessungswesen schon seit einigen Jahren eingesetzt. Steigende Genauigkeit und die rapide Senkung der Preise für GPSVermessungsgeräte sorgten in den letzten Jahren für immer mehr Verbreitung in dieser Branche. Ein großer Vorteil von GPS-Vermessung im Gegensatz zur klassischen terrestrischen Vermessung ist, dass kein Sichtkontakt zwischen den verschiedenen Vermessungspunkten bestehen muss. Zudem ist es nicht mehr nötig ein geodätisches Netz aufzubauen, da alle Punkte direkt über GPS errechnet werden können. Verschiedene GPS-Messmethoden stehen den Vermessungstechnikern zur Verfügung. Neben den Verfahren Rapid-Static, Reoccupation und Stop-AndGo wird sehr häufig mit der Methode Kinematic vermessen. Dabei befindet sich die Referenzstation auf einem exakt bestimmten Vermessungspunkt 7 http://www.tomtom.com http://www.garmin.at 9 http://www.sony.at 10 http://www.navigon.com 8 Kapitel 2. Satellitengestützte Navigation 14 (Einschaltpunkt EP oder Katastraltriangulierungspunkt KT ) und die bewegliche Einheit (Rover ) zeichnet automatisch in einem bestimmten Zeitintervall GPS-Koordinaten auf. So können sehr schnell Straßenzüge, Flüsse, Kulturgrenzen und Wegpunkte vermessen werden. Einen guten Überblick über die verschiedenen Verfahren der GPS-Vermessung sowie eine Beschreibung ebendieser ist in [2] zu finden. 2.2.3 Militär Das amerikanische Militär, das offiziell als Erfinder und Betreiber von GPS gilt, verwendet zur Navigation und Steuerung ihrer Lenkwaffen (Cruise Missiles) und anderer präzisionsgeleiteter Waffen. Zusätzlich verwendet das Militär der vereinigten Staaten GPS, um militärische Fahrzeuge, teils autonom, über unwegsames Gelände und in Kriegsgebieten zu leiten. Außerdem überwacht das amerikanische Militär die Herstellung von GPSEmpfangsgeräten, um einen Einsatz in Waffen von Gegnern und Feinden zu verhindern. Hersteller von GPS-Empfängern müssen dafür sorgen, dass die hergestellten Geräte ab einer Höhe von 60.000 Fuß (entspricht etwa 18km) über dem Meeresspiegel und bei einer Geschwindigkeit von mehr als 1000 Knoten (entspricht etwa 1854 km/h) nicht mehr funktionstüchtig sind [1]. Da die amerikanische Landesverteidigung sämtliche GPS-Basisstationen auf der Erde beaufsichtigt und betreibt, können diese das gesamte GPSSystem innerhalb weniger Minuten stilllegen oder stören und somit feindlichen Truppen die Navigation erschweren. Dies ist einer der Hauptgründe, warum international verschiedene Projekte für militär-unabhängige, satellitengestützte Navigation angelaufen sind (vgl. 2.1.2). 2.2.4 GPS im Sport GPS wird im Sport schon seit einigen Jahren eingesetzt. Für verschiedene Sportarten existieren unterschiedliche Anwendungen, die Sportlern im Training und im Wettkampf von entscheidender Hilfe sein können. Zu Beginn des GPS-Zeitalters wurde Navigationssoftware bereits für Radfahrer und im Rallysport eingesetzt, um die Wettkämpfer und Zuschauer über die Strecke und den aktuellen Verlauf des Wettbewerbs zu informieren. Heutzutage sind GPS-Applikationen zur Trainingsanalyse und -optimierung präsent und werden ständig weiterentwickelt. GPS-Daten werden für zahlreiche Sportarten verwendet, wobei hauptsächlich Läufer, Radfahrer, Langläufer, Inline-Skater und Kanufahrer die größten Abnehmer von GPS-Trainingssoftware sind. Unterschiedliche Softwarevarianten, von klassischen Desktop-Applikationen zur nachträglichen Analyse bis hin zur Software für mobile Endgeräte wie Smartphones oder Pocket-PCs zur Echtzeit-Auswertung werden angeboten. Dieser Abschnitt soll einen Überblick über aktuell erhältliche GPS-Software mit Fokus auf Kapitel 2. Satellitengestützte Navigation 15 Abbildung 2.3: Run.GPS! 2.2.0 von eSymetric. Ansicht der Live Trainigsdaten für Sportler in verschiedensten Sportarten. Neben der aktuellen Geschwindigkeit werden sowohl die bereits zurückgelegte Distanz, als auch die vergangene Zeit seit Trainingsstart angezeigt. Zusätzliche Informationen über verbrauchte Kalorien und die aktuelle Höhe über dem Meeresspiegel unterstützen den Sportler im Training. (Quelle: http://www.rungps.net). Sport geben. Run.GPS! Die zurzeit komplexeste GPS-Software für Sportler ist Run.GPS! 11 der deutschen Firma eSymetric GmbH 12 , welche über die Webseite des Herstellers für knapp 30 e (Stand Juni 2008) heruntergeladen und anschließend installiert werden kann. Run.GPS! läuft auf mobilen Endgeräten die Microsoft Windows Mobile 5 oder Microsoft Windows Mobile 6 als Betriebssystem installiert haben. Der Funktionsumfang erstreckt sich von klassischer Luftlinien- und Routennavigation über die Aufzeichnung von Wegstrecken, bis hin zur umfangreichen Analyse und Live-Verfolgung von Sportlern über die Webplattform des Herstellers. Zudem ermöglicht die aktuelle Version 2.2.0 (Stand Juni 2008) Traingingspläne zu erstellen und Sprachausgabe während eines Trainings bzw. Wettkampfes am mobilen Endgerät. Abbildung 2.3 zeigt eine typische Ansicht des Smartphone Displays bei einer laufenden Run.GPS! Applikation. 11 12 http://www.rungps.net http://www.esymetric.de Kapitel 2. Satellitengestützte Navigation (a) 16 (b) Abbildung 2.4: Bild (a) zeigt die GPS-Armbanduhr Garmin Forerunner 305, Abbildung (b) dessen noch 2008 erscheinenden Nachfolger Garmin Forerunner 405 HRM. (Bildquelle: http://www.garmin.de). Garmin Forerunner Einer der größten GPS Endgeräte Hersteller Garmin bietet mit Forerunner 305 (siehe Abbildung 2.4) einen GPS-Empfänger für das Handgelenk, der als digitaler Trainingspartner dient (siehe Abbildung 2.4 (a)). Verbunden mit einem Brustgurt zum Messen der aktuellen Pulsfrequenz speichert dieses Gerät die zurückgelegte Wegstrecke und die Pulsdaten während des Trainings. Diese können anschließend mittels der kostenlos mitgelieferten Software Garmin Training Center analysiert und erneut auf den Forerunner übertragen werden. Zudem erlaubt diese Applikation das erstellen von Trainingsplänen für Sportler verschiedenster Sportarten, wie z. B. Läufer, Langläufer, Radfahrer, Ruderer, Inline-Skater oder Nordic-Walker. Während des Trainings wird dem Benutzer die aktuelle Geschwindigkeit, die zurückgelegte Strecke, der aktuelle Puls und die bereits verbrauchten Kalorien angezeigt. Wurde ein vorher aufgezeichneter Traingslauf importiert, so erhält der Anwender ein akustisches Signal, wenn er hinter der geladenen Trainingszeit zurück ist, oder diese übertrifft. Forerunner 305 ist im Fachhandel ab 249 e (inkl. Puls-Brustgurt und Garmin Training Center ) erhältlich. Noch im Jahr 2008 soll ein Nachfolger mit dem Namen Forerunner 405 HRM auf den europäischen Markt kom- Kapitel 2. Satellitengestützte Navigation 17 men. Abbildung 2.4 (b) zeigt das Nachfolgemodell, für das noch kein Preis bekanntgegeben wurde. GPS Trackviewer GPS TrackViewer 13 ist eine Applikation zur Visualisierung und Analyse von aufgezeichneten GPS-Daten. Daten können von verschiedenen GPS-Loggern oder direkt von einem Garmin Forerunner (siehe Abschnitt 2.2.4) importiert und visuell dargestellt werden. Neben einer einfachen Anzeige der zurückgelegten Route kann diese manuell mit einer statischen, digitalen Landkarte hinterlegt werden. Im Analysebereich der Software erhält der Benutzer Informationen über die zurückgelegte Wegstrecke, regelmäßige Zwischenzeiten und ein Höhenund Geschwindigkeitsprofil seiner Bewegung. GPS Trackviewer ist eine reine Desktop-Anwendung und bietet keinerlei mobile Unterstützung während eines Trainings. Laut Auskunft des Herstellers wiegleb software wird Trackviewer zurzeit nicht weiterentwickelt und so vermutlich nicht mehr lange am Markt vertreten sein. 2.2.5 Geocaching Geocaching bezeichnet eine Freizeitbeschäftigung der klassischen Schnitzeljagd sehr ähnlich ist. Dabei werden an verschiedensten Orten kleine Behälter versteckt und deren Koordinaten auf einer Webplattform bekanntgegeben. Gibt ein Benutzer die angegebenen Koordinaten in ein GPS-Gerät ein, so kann er diesen Behälter (Cache) finden und öffnen. Der Besitzer des Behälters (Owner ) gibt vor dem ersten Verstecken ein kleines Heft (Logbuch), einen Stift und ein paar kleine Tauschobjekte von geringem Wert in den Cache. Ein etwaiger Finder darf sich in das Logbuch eintragen und sich eines dieser Tauschobjekte mitnehmen, sofern er selbst wieder ein Tauschobjekt im Behälter zurück lässt. Oftmals werden nur Teile der Koordinaten angegeben, die restlichen Ziffern müssen zuerst über ein Rätsel identifiziert werden14 . Dies führt dazu, dass das Finden eines Schatzes oft mehrere Anläufe benötigt, weil die Rätsel teilweise sehr schwierig zu lösen sind. Wurde ein Cache gefunden, so darf sich der Entdecker im Internet beim jeweiligen Geocache als Finder eintragen, wozu häufig ein Beweisfoto vorgelegt wird. Geocaching wird bereits in nahezu allen Ländern der Erde betrieben, so werden sogar Geocache-Reisen in ferne Länder angeboten, wo nach verschiedenen Caches gesucht wird. Wichtig ist zu beachten, dass nicht jede GPSSoftware die direkte Navigation zu bestimmten GPS-Koordinaten erlaubt. So kann man in der GPS-Software von TomTom zwar exakte GPS-Koordinaten 13 14 http://www.trackviewer.de/ Man spricht dabei von Mystery-Caches Kapitel 2. Satellitengestützte Navigation 18 eingeben, das Navigationssystem weist allerdings nur den Weg zum nächst gelegenen Straßenpunkt. Diese Tatsache kann zwar hilfreich sein, um die Anfahrt zu einem Cache zu erleichtern, die präzise Cache-Navigation ist damit allerdings nahezu unmöglich. 2.2.6 Geotagging Geotagging, häufig im deutschen Sprachgebrauch als Geokodierung oder Verortung von Fotos bezeichnet, beschreibt das Zuordnen von GPS-Koordinaten zu Mediendateien wie Bilder oder Videos. Dabei wird die relevante Ortsinformation in die Metadaten der jeweiligen Datei (z. B. Exif -Daten einer JpegDatei, siehe Abschnitt 2.2.6) eingebettet. Anschließendes Betrachten in einer geeigneten Applikation ermöglicht dem Benutzer die exakte Anzeige der GPS-Position, an welcher das Bild erstellt wurde (siehe GeoPictureViewer in Abschnitt 4.4.2). Einen guten Überblick zur Geokodierung von Mediendateien findet sich in [4]. Mittlerweile gibt es einige wenige Digitalkameras, die es dem Benutzer ermöglichen einen GPS-Empfänger mit Kabel oder Bluetooth direkt mit der Digitalkamera zu verbinden. Werden mit einer solchen Kamera Fotos oder Videos erstellt, werden die relevanten GPS-Koordinaten direkt ins Bild gespeichert. Neben Sony bietet auch der taiwanesische Hersteller Tekom 15 ein derartiges GPS-Kamera-System an. Die Preise für diese Kamera-Sets bewegen sich noch wesentlich über jenen von Digitalkameras ohne GPS. Zurzeit gibt es keine Digitalkamera, die GPS voll integriert hat und somit auf externe GPS-Empfänger verzichten kann. Das am weitesten verbreitete Kameramodell, welches den Einsatz eines externen GPS-Geräten erlaubt, ist die Ricoh Caplio 500 SE 16 , welche in Abbildung 2.5 zu sehen ist. Die Online-Plattform Locr 17 erlaubt dem Anwender Bilder in deren Webplattform zu laden und anschließend durch manuelle Positionsbestimmung auf einer interaktiven Landkarte das Foto mit geographischer Information zu versehen. Dieser Service von Locr ist kostenlos, allerdings nur web-basiert möglich. Für Benutzer, die ihre Fotos nicht im Internet publizieren wollen oder diese für den Vorgang des geotaggens nicht auf einen fremden Webserver platzieren wollen, scheidet diese Möglichkeit aus. Auch das Webportal Flickr 18 bietet mittlerweile eine ähnliche, wenn auch nicht so ausgereifte Möglichkeit, Bilder im Web mit GPS-Koordinaten zu versehen. Microsoft publizierte am 1. Mai 2008 die kostenlose Software Microsoft Pro Photo Tools V1 19 welche es ermöglicht, Metadaten von Bildern sehr 15 http://www.tekom.com http://www.ricoh.de 17 http://www.locr.com 18 http://www.flickr.com 19 http://www.microsoft.com/prophoto/articles/tools.aspx 16 Kapitel 2. Satellitengestützte Navigation 19 Abbildung 2.5: Ricoh Caplio 500 SE GPS-Kamera. Das am weitesten verbreitete Digitalkamera-Modell, das den Einsatz von externen GPSEmpfangsgeräten erlaubt. (Bildquelle: http://www.ricoh.de). einfach zu verändern. Dabei ist es möglich GPS-Koordinaten in die Metadaten von Fotos zu speichern und diese auf eine Landkarte (Microsoft Virtual Earth) darzustellen. Die in Kapitel 4 vorgestellte Applikation GPSStation zeigt eine DesktopAnwendung, die es dem Benutzer ermöglicht, die mit einem GPS-Datenlogger aufgezeichneten GPS-Daten mit digitalen Bildern zu verknüpfen. Dazu müssen die Bilder nicht ins Internet geladen werden und Geotagging funktioniert mit Bildern jeder beliebigen digitalen Kamera. Dabei spielt es keine Rolle ob es sich um eine Spiegelreflexkamera oder eine Kamera aus einem Mobiltelefon handelt. Exif Das Format Exif (Exchangeable Image File Format )20 stellt einen Standard zum Speichern von zusätzlicher Metainformation in Mediendateien dar. Dabei werden die relevanten Daten direkt in die vorhandene Datei im sogenannten Header (Dateikopf) integriert. Neben Jpeg unterstützt mittlerweile auch das Tiff -Dateiformat diesen Standard. Gespeichert werden in der Regel Datum und Uhrzeit der Erstellung eines Bildes, Brennweite, Belichtungszeit und viele andere Parameter der Fotografie, sofern diese beim Erstellen des digitalen Bildes bekannt sind. Zusätzliche Daten, wie etwa umfangreiche GPS-Information (Latitude, Longitude, Altitude) können in die Exif -Daten eingetragen und später wieder 20 http://www.exif.org Kapitel 2. Satellitengestützte Navigation 20 ausgelesen werden. Diese Funktionen nützt die in Abschnitt 4.4.1 vorgestellte Anwendung GeoTagger. In der aktuellen Version 2.2 des Standards werden auch Audiodateien im *.wav-Format unterstützt. Anwendungen dieser Art sind allerdings ausserhalb des Rahmens dieser Arbeit und wird deshalb nicht näher behandelt. Zurzeit gibt es keine Möglichkeit Exif -Information in die Metadaten von *.png, *.gif und Jpeg-2000 -Dateien sowie Videodateien zu integrieren. Adobe hat im Jahr 2001 versucht ein eigenes Metadatenformat XMP (Extensible Metadata Platform) einzuführen. Dieses Format konnte mehr Informationen als Exif speichern und leicht erweitert werden. Leider wurde es kaum angenommen und von Kameraherstellern nicht in die neuen Modelle integriert. Dies führte dazu, dass Adobe 2007 die Spezifizierung und Beschreibung von XMP unter die BSD-Lizenz gestellt haben und selbst nicht mehr weiter entwickelt. Kapitel 3 Interaktive Landkarten Kostenlos im Internet zur Verfügung stehende, interaktive Landkarten erfreuen sich immer größerer Beliebtheit. Diese Systeme bieten in der Regel eine klassische Landkartenansicht mit digitalem Straßenkartenmaterial in unterschiedlicher Qualität. Zudem bieten verschiedene Plattformen Luftbilder in mittlerweile sehr akzeptabler Auflösung. Dieses Kapitel gibt einen Überblick über den Stand der Technik und vorhandene Anwendungen, die sich diese interaktiven Landkarten zu Nutze machen. Abschnitt 3.1.6 zeigt einen Vergleich der am meisten genutzten Technologien. 3.1 Technologie Interaktive Landkarten sind in der Regel in Standard-Webbrowsern aufrufbar. Nachdem die Karte erscheint, hat der Benutzer die Möglichkeit mit der Maus auf der digitalen Karte zu navigieren. Dabei ist es möglich, die Landkarte zu verschieben, zu vergrößern und zu verkleinern. Neueste Entwicklungen erlauben dem Benutzer dreidimensionale Ansichten, 360° Bilder an bestimmten Positionen und andere Zusatzfunktionen wie Routenplanung und Vogelperspektiven-Ansicht. 3.1.1 Google Maps Die am weitesten verbreitete Online-Landkarte ist Google Maps 1 , früher auch unter dem Namen Google Local bekannt. Bereits Anfang 2005 wurde Google Maps als erste große Landkarten-Webapplikation freigeschaltet. Seither wird diese Plattform ständig um neue Funktionalität erweitert. Die Qualität der Luftbilder ist teilweise bereits hoch genug um Fahrzeuge identifizieren zu können. Bereits jetzt sind Routenplanungen möglich und anderen Planeten 1 http://maps.google.com 21 Kapitel 3. Interaktive Landkarten 22 wie Mars2 und Mond3 sind in Aufbau. Google stellt für sein Landkartenmaterial ein JavaScript-API (Google Maps API ) zur Verfügung, welche es Entwicklern ermöglicht, programmatisch mit dem Landkartenmaterial zu interagieren. Neben Navigation auf der Landkarte können Linienzüge und sogenannte Placemarks (Marker) und 3D-Objekte über Programmcode eingebettet werden. Mit dieser Schnittstelle kann Google Maps in jeder Webseite integriert und für die eigenen Bedürfnisse angepasst werden. Unternehmen nutzen diese Möglichkeit häufig um die Lage ihrer Geschäftslokale auf der Webseite anzugeben. Zurzeit ist der Zugang zum Kartenmaterial kostenlos und beinhaltet keine Werbung. Allerdings gibt Google in den Nutzungsbedingungen4 für Google Maps an, dass sie sich das Recht, Werbung im Kartenmaterial, in welcher Form auch immer, zu schalten, offen halten. Ein einfaches Beispiel für die JavaScript-Kommunikation mithilfe der Google Maps-API zeigt der nachfolgende Absatz: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="text/html; charset=utf-8"/> 4 <title>Simple Google Maps Example</title> 5 <script src="http://maps.google.com/maps?file=api&v=2& 6 key=ABQAzr2EBOXUKnm_jVnk0OJI7xSoE1" type="text/javascript" /> 7 <script type="text/javascript"> 8 function initialize(){ 9 if (GBrowserIsCompatible()){ 10 var map = new GMap2(document.getElementById("map_canvas")) 11 map.setCenter(new GLatLng(48.3695, 14.5145), 13); 12 } 13 } 14 </script> 15 </head> 16 <body onload="initialize()" onunload="GUnload()"> 17 <div id="map_canvas" style="width: 500px; height: 300px" /> 18 </body> 19 </html> In Zeile 5 und 6 wird das Landkartenskript von Google geladen. Anschließend folgt eine Funktionsdefinition der Methode initialize() die die Landkarte initialisiert und anschließend die Karte zu den gegebenen Koordinaten navigiert. Diese Funktion wird direkt beim Laden der HTML-Seite ausgeführt. Google bietet zusätzlich zur Web-Plattform eine kostenlos zum Download verfügbare Desktop-Applikation, die den Zugriff auf das Kartenmaterial 2 http://mars.google.com http://moon.google.com 4 Allgemeine Nutzungsbedingungen der digitalen Kartendaten der Plattform Google Maps. http://www.google.com/intl/de_de/help/terms_maps.html 3 Kapitel 3. Interaktive Landkarten 23 erleichtert und die Verwaltung von eigenen interessanten Punkten ermöglicht.(siehe Abschnitt 3.2.1). 3.1.2 Windows Live Maps Microsoft bietet mit Windows Live Maps 5 (früher auch unter dem Namen MSN Virtual Earth bekannt) und der zugehörigen Entwicklerplattform Virtual Earth einfachen Zugriff auf zahlreiche Funktionen zur Ergänzung und Manipulation ihrer digitalen Kartendaten. Neben klassischem, terrestrischem Kartenmaterial stehen auch Orthofotos (Luftbilder) in verschiedener Auflösung zur Verfügung. Dieses Microsoft Produkt wird zum Teil auch in Graz (Österreich) von einer Microsoft F&E -Abteilung (Forschung und Entwicklung) hergestellt und weiterentwickelt. Diese Abteilung entstand nach einer Zusammenarbeit der Firmen Microsoft und Vexcel und ist für die Visualisierung und Aufnahme von Städten aus der Vogelperspektive (Bird’s View ) verantwortlich. Vexcel wurde 1985 von dem Professor der technischen Universität Graz, Franz Leberl gegründet und wurde 1996 von Microsoft aufgekauft. Aktuell wird allein durch diesen Microsoft -Standort in Graz ein Jahresumsatz von mehr als 18 Millionen Euro erwirtschaftet [3]. Mittlerweile sind die hochaufgelösten Vogelperspektiven für die Landeshauptstädte Innsbruck, Klagenfurt, Linz, Salzburg und Sankt Pölten sowie für die Städte Villach und Wels verfügbar. Wien wird in ein paar Monaten als komplette 3D-Stadt verfügbar sein. Diese Art der Ansicht ist bereits jetzt für die französische Stadt Toulouse verfügbar. ist. Diese Städte wurden vor allem wegen der im Sommer 2008 stattfindenden Fußball-Europameisterschaft in Österreich als Erste gewählt. Die Grazer Abteilung, unter dem Namen Microsoft Photogrammetry bekannt, ist für die Entwicklung der Kamera zur Aufzeichnung der Bilder, sowie für das Aufnehmen der 3D-Daten und deren Visualisierung verantwortlich. Dabei wird z. B. aus im Bild erkannten Schatten die Gebäudehöhe berechnet und anschließend werden die zugehörigen Luftbilder auf die 3D-Gebäude übertragen (Texture Mapping). Der gesamte Datensatz von Windows Live Maps umfasst nunmehr 42,85 Terrabyte an Daten (Stand Mai 2008) und wächst ständig weiter. Das Microsoft Virtual Earth Interactive SDK 6 erlaubt dem Entwickler Steuerbefehle via JavaScript an das angezeigte Online-Kartenmaterial zu senden. So kann die Landkarte nicht nur vergrößert, verkleinert und verschoben, sondern auch zusätzliche Daten wie Wegpunkte, Linienzüge oder Symbole hinzugefügt werden. 5 http://maps.live.com http://dev.live.com/virtualearth/sdk (Software Development Kit). Dort finden sich zahlreiche Beispiele für die wichtigsten Funktionen. Diese können sofort online verändert und getestet werden. 6 Kapitel 3. Interaktive Landkarten 24 Ein Beispiel für die Interaktion mit dem Online-Kartenmaterial ist in folgendem Absatz zu sehen: 1 <html> 2 <head> 3 <title>Simple Virtual Earth Example</title> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <script type="text/javascript" src="http://dev.virtualearth.net/ mapcontrol/mapcontrol.ashx?v=6.1"/> 6 <script type="text/javascript"> 7 var map = null; 8 function initialize() 9 { 10 map = new VEMap('myMap'); 11 map.LoadMap(); 12 map.SetCenterAndZoom(new VELatLong(48.3695, 14.5145), 13); 13 } 14 </script> 15 </head> 16 <body onload="initialize();"> 17 <div id='myMap' width:400px; height:400px;"></div> 18 </body> 19 </html> An diesem Beispiel fällt auf, dass das SDK von Microsoft dem von Google sehr ähnlich ist. Auch hier wird beim Laden der Seite die initialize()Methode aufgerufen, ein VEMap-Objekt angelegt und zu den gegebenen Karten navigiert. Der zweite Parameter der Funktion SetCenterAndZoom beschreibt den Zoomfaktor der angezeigten Landkarte und muss zwischen 1 und 20 liegen. Zusätzlich hat der Entwickler die Möglichkeit, verschiedene Menüarten ein- und auszublenden und nur bestimmte Funktionen für den Endbenutzer zur Verfügung stellen. Diese Plattform ist vom Detailgrad und von den Kartendaten sehr ähnlich zu jenen von Google Maps (siehe Abschnitt 3.1.1). Der Detailgrad der Aufnahmen aus der Vogelperspektive ist allerdings bei der Variante von Windows Live Maps in den neu beflogenen Gebieten wesentlich höher als jener der Mitbewerber. 3.1.3 Yahoo! Maps Auch Yahoo! 7 besitzt eine Online-Landkartendatenbank in der Karten aus aller Welt verfügbar sind. Ähnlich zu den Mitbewerbern Google Maps und Windows Live Maps sind Luftbilder und Kartenmaterial vorhanden. Allerdings bietet Yahoo! zurzeit keine Ansicht aus der Vogelperspektive. Die Qualität der Luftbilder und die Kartendaten sind sehr detailliert für die USA, Kanada und einige europäische Länder verfügbar. Weltweit 7 http://maps.yahoo.com Kapitel 3. Interaktive Landkarten 25 kann das von Yahoo! zur Verfügung gestellte Kartenmaterial bezüglich der Abdeckung nicht mit seinen Konkurrenten mithalten. Die angebotenen Dienste, wie etwa die Anzeige der aktuellen Verkehrssituation in der Landkarte und deren Berücksichtung bei der Berechnung von Routen, können für den Nutzer sehr hilfreich sein. Für Entwickler bietet Yahoo! verschiedene Möglichkeiten an, programmatisch auf das Kartenmaterial zuzugreifen. Ein sehr einfache Schnittstelle namens Simple API erlaubt es, Bilder oder zusätzlich Daten auf einer Landkarte für einen bestimmten Ort abzulegen. Dazu muss der Entwickler nicht einmal programmieren können, da diese sogenannten Overlays nur mit XML definiert werden müssen. Wesentlich umfangreicher und somit vergleichbar mit den Erweiterungsmöglichkeiten der Marktbegleiter ist das vorhandene Ajax API. Damit kann der Entwickler mittels Programmcode auf der Landkarte navigieren, zusätzliche Objekte ein- und ausblenden und Routen berechnen. Das folgende Beispiel initialisiert eine Landkarte und navigiert zu den gegebenen Koordinaten: 1 <html> 2 <head> 3 <script type="text/javascript" src="http://api.maps.yahoo.com/ ajaxymap?v=3.8&appid=YD-ai29HtA_JXxlOQFW3D25QQ--" /> 4 </head> 5 <body> 6 <div id="map" width="400" height="400" /> 7 <script type="text/javascript"> 8 var map = new YMap(document.getElementById('map')); 9 map.addTypeControl(); 10 map.setMapType(YAHOO_MAP_REG); 11 map.drawZoomAndCenter(new YGeoPoint(48.3695, 14.5145), 3); 12 </script> 13 </body> 14 </html> Im Unterschied zu Google Maps und Windows Live Maps muss der Typ der angezeigten Landkarte explizit gesetzt werden (Zeile 10). Der Rest der Implementierung ist sehr ähnlich zu den Konkurrenten. Als dritte Entwicklungsumgebung bietet Yahoo! ein Flash-API, bei dem die Visualisierung mit Adobe Flash realisiert wird. In diesem Fall ist es möglich sowohl mit JavaScript als auch mit der Flash-Programmiersprache ActionScript und seiner Entwicklungsumgebung Adobe Flex auf die Kartendaten zuzugreifen und diese zu manipulieren. Kapitel 3. Interaktive Landkarten 3.1.4 26 Nasa World Wind Mit NASA World Wind 8 gibt es eine Open-Source-Lösung für digitales Kartenmaterial. Die vorhandene Karteninformation beschränkt sich leider nur auf digitale Luftbilder die mit der Qualität der Mitbewerber kaum mithalten können. Lediglich in einigen Städten der USA gibt es Bilder mit höheren Auflösungen in denen auch Fahrzeuge als solche identifiziert werden können. Ein großer Vorteil von Nasa World Wind ist, dass sämtliche Bilder unter Public Domain gestellt wurden und somit gemeinfrei zur Verfügung stehen. Die Auflösung der Orthofotos (Luftbilder) ist vor allem im europäischen Bereich noch sehr gering, Straßenzüge sind kaum zu erkennen. Nasa World Wind bietet zurzeit noch keine Online-Plattform, sondern nur eine klassische Desktop-Anwendung mit der die Landkarten betrachtet werden können (siehe dazu Abschnitt 3.2.2). Der Vollständigkeit halber soll es allerdings an dieser Stelle erwähnt sein, da sich dieses Open-Source-Projekt eines immer größeren Nutzerkreises erfreut. Die zugehörige Desktop-Anwendung wird in Abschnitt 3.2.2 näher erläutert. 3.1.5 OpenStreetMap Das Projekt OpenStreetMap 9 ist ein weiteres Projekt der wachsenden OpenSource-Gemeinde, welches sich mit der Erstellung und Aktualisierung einer digitalen Weltkarte beschäftigt. Der Erfinder Steve Coast hat bereits 2004 mit der Erstellung des Systems begonnen und dieses Mitte 2006 an die OpenSource-Benutzer freigegeben. Seither arbeiten weltweit zahlreiche freiwillige Benutzer daran, Straßen, Wege und interessante Punkte zu digitalisieren. Um einen Eintrag in der OpenStreetMap erstellen zu können, muss man GPS-Daten, wahlweise mit einem GPS-Empfänger für Notebooks oder einem GPS-Datenlogger, mitspeichern. Anschließend müssen die Daten im *.gpx Datenformat auf den Server geladen werden. Verschiedene Schlagwörter ermöglichen die genaue Spezifizierung der Bedeutung bestimmter GPS-Koordinaten. Eingetragen werden neben Straßen und Wegen auch zahlreiche, für Endbenutzer wichtige Daten, wie z. B. Parkplätze, Wälder, Gebäude, Flüsse, Seen usw. Dies geht sogar soweit, dass beispielsweise sämtliche Postkästen, U-Bahn-Stationen und Gehsteige in London bereits erfasst sind. Speziell in Österreich sind die Daten nur in den Ballungsräumen in einem annehmbaren Detailgrad vorhanden. In ländlicheren Gegenden findet man nur vereinzelt Straßen, die eingetragen wurden. Im Vergleich dazu ist das Ursprungsland von OpenStreetMap, Großbritannien bereits sehr genau erfasst, speziell London gilt als extrem detailliert aufgenommen. 8 9 http://worldwind.arc.nasa.gov http://www.openstreetmap.org Kapitel 3. Interaktive Landkarten 27 OpenStreetMap selbst steht nur für das freie Kartenmaterial das die Open-Source-Gemeinde gemeinsam in einer Art GPS-Wiki erstellt. Es gibt verschiedene Desktop-Anwendungen, die sich dieser Landkartendaten bedienen und diese visualisieren. Für die Online-Nutzung verwenden die Hersteller von OpenStreetMap die Open-Source-JavaScript-Bibliothek mit dem Namen OpenLayers 10 . Diese ermöglicht digitale Landkartendaten im Webbrowser in Form einer interaktiven Landkarte anzuzeigen und zu verwalten. Der große Unterschied von OpenStreetMap (OSM ) zu den großen Mitbewerbern ist, dass es das Kartenmaterial als Vektordaten zur Verfügung stellt. Applikationen wie Google Maps oder Windows Live Maps stellen dem Benutzer nur Rasterdaten zur Verfügung, um illegale Vervielfältigung zu erschweren. Die freiwilligen Mitarbeiter von OpenStreetMap werden von Tag zu Tag mehr, das Kartenmaterial wächst sehr schnell und ist in manchen Regionen tagesaktuell. Ein Problem der Entwickler ist leider immer noch, dass manche Benutzer Straßen eintragen die nicht wirklich existieren. Diesen Straßen werden dann häufig mit dem eigenen Namen oder dem Namen einer Firma bezeichnet. Die Kartendaten können mittlerweile mit einem Navigationssystem von Garmin geladen werden, allerdings gibt es zurzeit noch keine Möglichkeit, diese am mobilen System zur Routenführung zu benutzen. Einzig die von der OpenStreetMap-Gemeinschaft erstellte mobile Software Pyroute 11 bietet diese Möglichkeit. Diese Anwendung befindet sich allerdings noch in den Kinderschuhen und es wird noch einige Zeit dauern, um anderen Herstellern von Navigationssystemen ernsthafte Konkurrenz zu sein. Einen guten Überblick über die Funktionalität und Anwendungsmöglichkeiten von OpenStreetMap liefern Ramm und Topf in ihrem Buch OpenStreetMap [14]. Leider gibt es zurzeit kein SDK, welches es erlaubt, die Landkarte in die eigene Webseite zu integrieren. Dennoch ist es möglich, die Daten auf einer eigenen Seite anzuzeigen, da man Zugriff auf die JavaScript-Funktionen von OpenStreetMap hat. 3.1.6 Vergleich Alle vorgestellten Technologien decken mit ihrem Kartenmaterial bereits große Teile der Erdoberfläche ab. Unterschiedliche Genauigkeiten in unterschiedlichen Regionen sind die Hauptgründe, warum sich Firmen für eine bestimmte Landkarten-Technologie entscheiden. Abbildung 3.1 zeigt die Landkarten der vorgestellten Hersteller für das Ortszentrum von Hagenberg in Oberösterreich. 10 11 http://www.openlayers.org http://wiki.openstreetmap.org/index.php/Pyroute Kapitel 3. Interaktive Landkarten 28 (a) (b) (c) (d) Abbildung 3.1: Interaktive Landkarten im Vergleich. Abbildung (a) zeigt das Ortszentrum von Hagenberg in Oberösterreich in einer Landkarte von Windows Live Maps. Mehr Details finden sich in (b), der Landkarte von OpenStreetMap, da Hagenberg bereits sehr genau aufgenommen und eingezeichnet wurde. In den Nachbargemeinden sieht es da leider etwas anders aus. Abbildung (c) zeigt ebenfalls Hagenberg in der am meisten verbreiteten Landkarte von Google Maps. Abbildung (d) entspricht dem Landkartenbild von Hagenberg von Yahoo! Maps. Anzumerken ist an dieser Stelle, dass das genaueste Kartenmaterial für Hagenberg sicherlich jenes von OpenStreetMap ist. Grund dafür ist, dass einige Studenten der Fachhochschule Hagenberg den gesamten Ort sehr genau aufgenommen und eingetragen haben. Orte rund um Hagenberg sind leider kaum bis überhaupt nicht erfasst, was es (momentan) noch erschwert, diese Kartendaten in einer fertigen Applikation zu verwenden. 3.2 Anwendungen In diesem Abschnitt werden Anwendungen und Applikation beschrieben, deren Hauptzweck es ist, digitales Landkartenmaterial und Luftbilder darzustellen. Kapitel 3. Interaktive Landkarten 3.2.1 29 Google Earth Google Earth 12 bezeichnet eine Desktop-Applikation die Google seinen Nutzern kostenlos zur Verfügung stellt. Damit können sämtliche Landkarten, die auch über die Webplattform Google Maps abrufbar sind, performanter dargestellt werden. Zusätzlich gibt es die Möglichkeit eigene Punkte und Wegstrecken abzuspeichern und auf verschiedene Arten anzuzeigen. Aufgrund der großen Mengen an zu übertragenen Daten, benötigt Google Earth eine Breitband-Internetverbindung um vernünftig damit arbeiten zu können. Die in Kapitel 4 vorgestellte Applikation GPSStation ermöglicht den Export von eigenen Wegstrecken in das von Google verwendete Datei-Format *.kml. KML Das Dateiformat *.kml (Keyhole Markup Language)13 basiert auf dem XMLStandard und dient als Austauschformat für Google Earth. Ende Oktober 2004 übernahm Google das Format des Herstellers Keyhole Inc., Mitte April 2008 wurde es als offener Standard an das Open Geospatial Consortium (OGC ) übergeben [15]. Ein einfaches Beispiel für eine *.kml-Datei sieht wie folgt aus: 1 2 3 4 5 6 7 8 9 10 <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.2"> <Placemark> <description>Fachhochschule Hagenberg</description> <name>FH Hagenberg</name> <Point> <coordinates>48.63485, 16.454247,0</coordinates> </Point> </Placemark> </kml> Im vorangegangenen Beispiel wird ein bestimmter Punkt mittels GPSKoordinate festgelegt. Die zusätzliche Beschreibung und der Name des Ortes dienen der Wiedererkennung in der Applikation Google Earth. Der einfache Aufbau einer *.kml-Datei ermöglicht das Umwandeln von Daten aus proprietären Formaten mit geringem Aufwand. Bei der DesktopAnwendung von Google gibt es zurzeit keine Werbeeinschaltungen. Wie lange das so sein wird, bleibt abzuwarten. 3.2.2 Nasa World Wind Desktop Wie bereits in Abschnitt 3.1.4 erläutert, ist Nasa World Wind eine OpenSource-Anwendung zur Anzeige von digitalen Luftbildern. Sämtliche Bildda12 13 http://earth.google.com http://www.opengeospatial.org/standards/kml Kapitel 3. Interaktive Landkarten 30 ten stehen kostenlos zum Download zur Verfügung. Nasa World Wind gibt es zurzeit nur für die Windows-Plattform. Das lauffähige Programm benötigt DirectX und das Microsoft .netFramework. Eine plattform-unabhängige Version mit Java steht in Entwicklung. Das zur Verfügung stehende Bildmaterial umfasst mittlerweile rund fünf Terrabyte und beinhaltet neben Luftbildern der Erdoberfläche auch Daten von Mond, Mars, Venus und Jupiter. Zusätzlich bietet das Programm Zugriff auf den Sternenatlas der SDSS (Sloan Digital Sky Survey). Aufgrund der hohen Datenmenge benötigt diese Applikation eine schnelle InternetVerbindung, um genaue Daten für die jeweilige Region zu laden. 3.2.3 Mapnik Mapnik 14 bietet eine Open-Source-Desktop-Anwendung für die Visualisierung von OpenStreetMap Kartendaten. Die kostenlose Software in der aktuellen Version 0.5.1 (April 2008) bietet dem Entwickler sowohl klassische C++ Bibliotheken als auch Hilfestellung für die Entwicklung von Webkarten. Seit der Version 0.4 läuft die Applikation nicht mehr nur unter Linux, sondern auch unter Mac OS X, Win32 und FreeBSD. 3.2.4 Osmarender Osmarender ist ein Set an Dateien welche OpenStreetMap-Kartendaten in SVG-Vektordaten umwandelt. Dabei werden XSL-Transformationen auf die Originaldaten angewendet. Der Benutzer kann sich selbst seine eigenen Karten erzeugen lassen, indem er einige Parameter (z. B. Strichstärken, Strichfarben, Koordinatenausschnitt,...) setzt. So lassen sich Karten individualisieren ohne dabei die Vektorinformation zu verlieren. 14 http://mapnik.org Kapitel 4 GPSStation GPSStation ist eine Sammlung von GPS-Applikationen die mittels einer virtuellen, interaktiven Landkarte verknüpft sind. Im Unterschied zu zahlreichen bereits vorhandenen GPS-Anwendungen, bietet GPSStation eine Gesamtlösung mit integrierter Landkarte. In der Regel bietet Software von anderen Hersteller eine Exportmöglichkeit um GPS-Datensätze in einer Landkarte zu visualisieren. GPSStation integriert eine interaktive Landkarte vollständig in die Applikation, welche als zentrales Navigationselement für die einzelnen Teilbereiche gilt. Durch die verwendete Softwarearchitektur (vgl. Abschnitt 4.2) ist es sehr leicht möglich, weitere GPS-basierte Programme in das System zu integrieren und so die Anwendung ohne größeren Aufwand zu erweitern. GPSStation wurde für Windows XP und Windows Vista entwickelt und benötigt das Microsoft .net Framework 3.0 (oder höher) und eine vorhandene Internetverbindung zum Laden der digitalen Kartendaten. Für die Verwendung der mobilen Anwendung RunningAssistant ist ein Smartphone mit Windows Mobile 6 Voraussetzung. Dieses Kapitel beschreibt die Hardwareanforderungen zur Verwendung von GPSStation, die verwendete Software zur Erstellung der Applikation und gibt einen Überblick über den Funktionsumfang der Anwendung. Den Abschluss dieses Kapitels bildet ein Abschnitt über Möglichkeiten zur Erweiterung und weiteren Verbesserung der Anwendung, welche nach Veröffentlichung dieser Arbeit kostenlos zum Download verfügbar stehen wird. 4.1 4.1.1 Verwendete Technologien Hardware GPSStation kann mit verschiedenen Hardware-Geräten verwendet werden. Primär werden Daten von sogenannten GPS-Datenloggern verwendet, welche GPS-Koordinaten in bestimmten Zeitintervallen speichern. Besitzer von 31 Kapitel 4. GPSStation 32 Abbildung 4.1: GPS-Datenlogger i-Blue747 des taiwanesischen Herstellers Transystem Inc. Dieses Gerät dient sowohl als Bluetooth-GPS-Empfänger für mobile Endgeräte, als auch als Rekorder für GPS-Koordinaten. GPS-Empfängern für Notebooks können ebenfalls Bewegungsdaten abspeichern und für das Programm zur Verfügung stellen. Für die in Abschnitt 4.4.6 vorgestellte Anwendung benötigt der Benutzer ein Smartphone mit dem Betriebssystem Windows Mobile 6. GPS-Datenlogger Zur Aufzeichnung von GPS-Daten gibt es verschiedene Möglichkeiten. Am benutzerfreundlichsten sind sogenannte GPS-Datenlogger (auch als GPSLogger bezeichnet), von denen verschiedene Ausführungen erhältlich sind. Ein klassischer GPS-Logger hat eine Größe von etwa 7cm × 2cm × 5cm und ist nicht schwerer als 50 Gramm. Abbildung 4.1 zeigt den GPS-Datenlogger iBlue747 der Marke Transystem Inc 1 . Ein Gerät dieser Art kostet mittlerweile nur mehr knapp 40 e(Stand Mai 2008) und ist im Elektronik-Fachhandel erhältlich. Typischerweise dienen diese Geräte nicht nur dem Speichern von GPS-Logs, sondern auch als Bluetooth-GPS-Empfänger für mobile Endgeräte und Smartphones (siehe Abschnitt 4.1.1), um deren Navigationssoftware zu steuern. Nach Aktivierung des GPS-Loggers zeichnet dieser ständig seine aktuellen GPS-Koordinaten in einem sogenannten GPS-Log auf, sofern das Gerät eine Verbindung zu mindestens vier Satelliten herstellen kann. Dabei hat der Benutzer die Möglichkeit einzustellen, wie oft das Gerät 1 http://www.transystem.com.tw Kapitel 4. GPSStation 33 Daten speichern soll. Wird das gesetzte Zeitintervall überschritten, so wird ein neuer Punkt aufgezeichnet. Zudem hat der Benutzer die Möglichkeit einzustellen, dass ein GPS-Log erstellt wird, sobald eine bestimmte Distanz (ab zehn Meter) überschritten wird. So wird der 16 Megabyte große Speicher2 nicht allzu schnell gefüllt und es kann dennoch ein sehr genaues Bewegungsprofil des Benutzers aufgezeichnet werden. Will der Benutzer nur Bewegungen aufzeichnen, bei denen er sich schneller als eine vordefinierte Geschwindigkeit bewegt, so muss der Speed-Log aktiviert werden. Dies kann hilfreich sein, wenn beispielsweise ein Skifahrer während der Liftfahrt keine Aufzeichnung der GPS-Koordinaten wünscht. Trotz der vorhandenen Bluetooth-Schnittstelle ist es nicht möglich, gespeicherte Logdaten kabellos auszulesen. Aktuell bieten GPS-Datenlogger bis zu 32 MB internen Speicher, der es ermöglicht bis zu 100.000 Punkte zu speichern. Je nach Einstellung des LogFormats kann sich diese Zahl auf etwa 50.000 Punkte reduzieren. Folgende Daten können von einem GPS-Logger gespeichert werden3 : UTC Die Bezeichnung UTC steht für Universal Coordinated Time. Damit kann das Mitspeichern des Zeitstempels der Aufnahme mit Datum und Uhrzeit aktiviert werden. Wahlweise kann die Genauigkeit auf Millisekunden erhöht werden. FixedMode bietet die Möglichkeit die Aufnahmeeigenschaft Valid zu aktivieren. Ist diese Eigenschaft aktiviert so wird die Signalqualität des Punktes mitgespeichert. GPSStation verwendet nur jene GPS-Logs, deren FixedMode mit fix angegeben ist. Zeigt ein Log den Wert No fix, so bedeutet dies, dass bei der Aufzeichnung des Eintrags nicht genügend Satelliten vorhanden waren und die Koordinaten des Punktes algorithmisch hochgerechnet wurden und so von der tatsächlichen Lage stark abweichen können. Dabei kann es vorkommen, dass diese Punkte einen Fehler von bis zu einigen Kilometern aufweisen und deshalb für die meisten Zwecke unbrauchbar sind. Navigation ist die wichtigste Einstellung für das Log-Format. Hier wird gesetzt, welche GPS-Koordinateneigenschaften das Gerät aufnehmen soll. Neben Latitude, Longitude und Altitude (Höhe über dem Meeresspiegel) kann die aktuelle Geschwindigkeit (Speed) und die ungefähre Orientierung des GPS-Geräts (Heading) aufgezeichnet werden. Dabei ist zu beachten, dass die Genauigkeit der angegebenen Orientierung mit steigender Bewegungsgeschwindigkeit des GPS-Geräts steigt. 2 Der i-Blue747 hat eine Speicherkapazität von 16 MB, neuere Modelle bereits deutlich mehr. 3 Die Bezeichnungen der Einstellungen wurden von der mit dem GPS-Logger i-Blue747 mitgelieferten Software DataLog übernommen und gelten als allgemein gültige Bezeichnungen für diese Parameter. Kapitel 4. GPSStation 34 Differential Data gibt Daten zu differenziellem GPS (DGPS ) an. Wobei die Felder DSTA die Nummer der DGPS -Referenzstation angibt und der Wert DAGE die Zeit des letzten gültigen DGPS -Updates bezeichnet. Da DGPS für GPSStation nicht verwendet wird, wird hier auf eine genauere Erläuterung verzichtet. Der interessierte Leser findet detaillierte Information zu differentiellem GPS in [8]. DOP steht für Dilution of Precision und bezeichnet die durch geometrische Operationen auftretende Ungenauigkeit. Dabei kann am GPSDatenlogger eingestellt werden, PDOP (Position), HDOP (Horizontal) und VDOP (Vertikal) mitzuspeichern. In diesem Fall erhält man die nicht korrigierten Originaldaten um den geometrischen Messfehler selbst berechnen bzw. bestimmen zu können. Method bezeichnet die Aufnahmemethode eines GPS-Punktes und ist auch als RCR bekannt. Diese kann entweder nach einem bestimmten Zeitintervall (Time, T), einem Streckenabschnitt (Distance, D) oder einer Geschwindigkeitsüberschreitung (Speed, S) automatisch erfolgen, oder durch manuelle Aufzeichnung eines Punktes durch Drücken des Aufnahmeknopfes am GPS-Logger (Interest, I). Distance speichert, sofern aktiviert, die Distanz zum letzten aufgezeichneten GPS-Punkt mit. Dies kann interessant sein, wenn die Geschwindigkeit des Auslesevorgangs des Loggers zeitkritisch ist. In diesem Fall wird diese Berechnung bereits direkt während des Speicherns des Punktes durchgeführt. Satellite Information bezeichnet Daten die zusätzliche Information über die verwendeten Satelliten beinhaltet. Der Wert NSAT steht für die Anzahl der verwendeten Satelliten und SID für die Identifikationsnummer der einzelnen Satelliten. Für detailiertere Information über die Qualität der Punktberechnung kann bei aktiverter SID für jeden Satelliten auch Azimuth (Horizontaler Aufnahmewinkel), Elevation (Vertikaler Aufnahmewinkel) und SNR (Signal-Rausch-Abstand) zum Logeintrag gespeichert werden. DataLog heißt die mit dem GPS-Logger i-Blue747 mitgelieferte Software zum Auslesen der GPS-Einträge und zum Setzen der vorgestellten Eigenschaften. Diese Software ist in der aktuellen Version 2.5 leider immer noch sehr instabil. Eine alternative bietet die Open-Source-Gemeinde mit dem Programm BT747 4 , welches zur Gänze in Java implementiert ist. 4 http://bt747.sourceforge.net Kapitel 4. GPSStation (a) 35 (b) (c) Abbildung 4.2: Smartphone-Produktserie von HTC. Abbildung (a) zeigt das HTC Touch, die günstigste Variante neben dessen großen Bruder HTC Touch Dual (Bild (b)), welches einen wesentlich schnellere Prozessor und zusätzlich zum berührungsempfindlichen Display ein Tasten-Eingabefeld hat. Das dritte Bild (c) zeigt das neueste Modell HTC Touch Cruise, welches GPS bereits fix integriert hat. (Bildquelle: http://www.htc.com). Smartphone Für einen Teil der vorgestellten Applikation GPSStation ist es nötig ein Smartphone mit Windows Mobile 6 als Betriebssystem zu besitzen. Sämtliche Funktionen der Desktop-Anwendung können zwar ohne ein derartiges Gerät genutzt werden, die Zusatzapplikation RunningAssistant (siehe Abschnitt 4.4.6) ist allerdings eine Anwendung für mobile Endgeräte. Für die Implementierung und Tests der vorgestellten Anwendung wurde ein HTC Touch 5 (siehe Abbildung 4.2 (a)) mit berührungsempfindlichem Display verwendet. Bedient wird dieses Gerät wahlweise mittels eines Eingabestiftes oder einem Finger, der diesen simuliert. Das HTC Touch hat einen 201 MHz Prozessor, 128 MB Arbeitsspeicher und ein 2,8” großes LCD-Display mit 65.536 Farben und einer Auflösung von 240 × 320 Pixel. Die Taktfrequenz ist allerdings das unterste Limit für Windows Mobile 6, da das Betriebssystem selbst bereits sehr viele Resourcen benötigt. Neuere Modelle, wie etwa der Nachfolger des HTC Touch, das HTC Touch Dual (Abbildung 4.2 (b)), besitzt bereits einen Prozessor mit 400 MHz und ist so wesentlich performanter bei rechenintensiven Operationen. Die neuesten Smartphone-Modelle haben teilweise bereits einen GPSEmpfänger integriert, weshalb diese keinen externen GPS-Empfänger mehr benötigen. Leider sind diese Modelle zurzeit noch wesentlich teurer als Mo5 http://www.htctouch.com Kapitel 4. GPSStation 36 delle ohne GPS mit externem GPS-Empfänger, wie beispielsweise der in Abschnitt 4.1.1 vorgestellte i-Blue747 von Transystem Inc. Ein Beispiel für ein Mobiltelefon mit integriertem GPS-Empfänger bietet das neueste Modell der HTC -Produktpalette, das HTC Touch Cruise (siehe Abbildung 4.2 (c)), welches noch etwas unhandlich und schwer erscheint. 4.1.2 Software Für die Erstellung der Applikation GPSStation wurden ausschließlich Technologien von Microsoft verwendet. Sowohl die Hauptapplikation als auch sämtliche Subapplikationen und Bibliotheken wurden mit C# 3.0 und dem zugehörigen .net Framework 3.0 in Visual Studio 2008 entwickelt. Bei der Verarbeitung von teilweise großen Datenmengen ist der richtige Umgang mit C# von wesentlicher Bedeutung. Das Buch Accelerated C# 2005 von Trey Nash liefert einen guten Überblick über die effiziente Programmierung mit Entwurfsmustern und deren Einsatz in C# [10]. Das Design von GPSStation wurde mit der noch jungen Technologie Windows Presentation Foundation (WPF ) unter Zuhilfenahme von Microsoft Expression Blend 2.5 entworfen und implementiert. Windows Presentation Foundation WPF ermöglicht einem Entwickler die strikte Trennung zwischen Implementierung und visueller Repräsentation der Daten. Dabei entwickelt der Programmierer die Programmlogik (Business Logic) in C# und der Designer die graphische Benutzeroberfläche (User Interface) mit der XML-basierten, deklarativen Beschreibungssprache XAML (Extensible Application Markup Language). Ein weiterer großer Vorteil von WPF ist es, dass sämtliche graphischen Ausgaben über DirectX und somit direkt auf der Grafikkarte berechnet werden. So können grafisch aufwändige Visualisierungen, 3D-Inhalte und Animationseffekte effizient dargestellt werden. Zudem erlaubt Windows Presentation Foundation transparente Fenster und Benutzeroberflächen-Elemente, welche mit dem Vorgänger Windows Forms nahezu unmöglich waren. Das Buch Windows Presentation Foundation - Unleashed von Adam Nathan gilt zurzeit als umfangsreichstes Nachschlagewerk zum Thema Windows Presentation Foundation [11]. Das WPF-Konzept Databinding erlaubt einem Designer die einfache Verknüpfung der logischen Datenrepräsentation mit grafischen Elementen zu deren Visualisierung. So können z. B. einfache C#-Listen mit ListBox - oder ListView -Kontrollelementen in der Designumgebung Microsoft Expression Blend verbunden werden. Dabei sieht der Designer sofort wie das Element in der tatsächlichen Anwendung aussieht, da bereits im Microsoft Expression Blend Live-Daten angezeigt werden, ohne das Programm tatsächlich starten zu müssen. Kapitel 4. GPSStation 37 Sämtliche Konrollelemente stehen als Vektordaten zur Verfügung, so ist es möglich Fenster beliebig zu skalieren, ohne Qualitätsverlust in der Darstellung hinnehmen zu müssen. Für die Entwicklung der Kommunikation mit der interaktiven Landkarte wurde auf das kostenlose Microsoft Virtual Earth Kartenmaterial und das zugehörige Microsoft Virtual Earth SDK zurückgegriffen. Nähere Details zu interaktiven Landkarten finden sich in Abschnitt 4.3. Die mobile Applikation RunningAssistant (siehe Abschnitt 4.4.6) wurde für mobile Endgeräte entwickelt, die Windows Mobile 6 (oder höher) als Betriebssystem verwenden. Für die Visualisierung der Graphen für den LogAnalyzer (vgl. Abschnitt 4.4.4) wurde eine Modifikation des WPF ChartControl Swordfish 6 verwendet, welches unter der BSD-Lizenz kostenfrei zur Verfügung steht. 4.2 Struktur der Applikation Die Applikation GPSStation besteht aus der Hauptanwendung und zwei zusätzlichen Bibliotheken, die unabhängig von GPSStation für andere Anwendungen verwendet werden können. GeoTagLib ist eine Bibliothek zum Lesen und Schreiben von GPS-Koordinaten in die Metadaten von Bildern. Die zweite Bibliothek GPSLoggerReader dient dem Auslesen von GPS-LoggerLogeinträgen für sämtliche GPS-Logger, die das PMTK -Protokoll (siehe Abschnitt 2.1.3) unterstützen. Abbildung 4.3 zeigt die interne Architektur von GPSStation. Dabei stellen die blauen Kästchen die entwickelten Subapplikationen dar, die ihrerseits auf Bibliotheken (siehe folgende Abschnitte) zugreifen. Sämtliche Teilapplikationen sind mittels der digitalen Landkarte (Map Control) verknüpft. Diese Landkarte wird in einem Webbrowser-Kontrollelement mit JavaScript geladen, welches auf eine externen HTML-Seite ausgeführt wird. GeoTagLib: Bei GeoTagLib handelt es sich um eine Bibliothek die das Lesen und Schreiben von GPS-Koordinaten in die Metadaten (Exif-Header ) von Bilddateien (mit JPEG Komprimierung) ermöglicht. Dabei werden neben Latitude und Longitude (Längen- und Breitenangabe des Ortes) auch die Höhe über dem Meeresspiegel (Altitude) in die Bilddatei geschrieben. Die GPS-Daten können von verschiedenen Quellen wie z. B. *.csv-Dateien oder direkt von GPS-Datenloggern eingelesen werden und anschließend in sämtliche Bilddateien eines Ordners des Dateisystems eingebettet werden. Dabei ist es wichtig, dass die aufgezeichneten GPS-Koordinaten mit einem eindeutigen Zeitstempel im UTC -Format (Universal Coordinated Time) versehen sind. 6 http://sourceforge.net/projects/swordfishcharts Kapitel 4. GPSStation 38 GPSStaon GeoPictureViewer GeoTagger HTML Page Map Control GeoTagLib LogImporter LogExporter GPSLoggerReader WhereWas MyHusband LogAnalyzer Abbildung 4.3: Architektur und Aufbau von GPSStation. Die grünen Kästchen beschreiben den Bereich der digitalen Landkarte, blau repräsentiert die einzelnen Teilapplikationen. Bibliotheken sind in orange dargestellt. Handelsübliche Digitalkameras speichern die erstellten Bilder ebenfalls mit einem Zeitstempel, der dem Zeitpunkt des Erstellens des Fotos entsprechen. Dieser Zeitstempel repräsentiert allerdings nur die Einstellung der Uhrzeit und Zeitzone der Kamera, welche in der Regel nicht im UTC -Format vorhanden ist. Deshalb ist es, wie in Abschnitt 4.4.1 beschrieben, unumgänglich beim Geotaggen 7 die auf der Kamera gesetzte Zeitzone einzustellen. Anschließend werden die im ausgewählten Ordner vorhandenen Bilder iterativ geöffnet, dekomprimiert und der Zeitpunkt der Erstellung des Bildes ausgelesen. Dieser Zeitstempel wird dann in die koordinierte Weltzeit (UTC ) umgerechnet und dient als Grundlage für das Finden der zugehörigen GPSKoordinaten. Für sämtliche importierte GPS-Koordinaten (die in der Regel von einem GPS-Logger bereitgestellt werden) wird anschließend die Zeitabweichung zum Zeitpunkt der Erstellung des Bildes berechnet. Jener Zeitstempel eines GPS-Datensatzes mit der geringsten Abweichung gilt zunächst als Erstellungspunkt des digitalen Bildes. Überschreitet die Zeitabweichung allerdings einen zuvor festgelegten Schwellwert, bedeutet dies, dass es nicht möglich ist, das Bild mit exakten GPS-Koordinaten zu versehen. Sollte die Zeitabweichung unter dem Schwellwert liegen, so werden die entsprechenden Koordinaten in das Bild gespeichert. Nachdem alle Bilder, bei denen die Abweichung innerhalb des zulässigen Bereichs liegt, mit GPS-Koordinaten versehen wurden, können diese im GeoPictureViewer (siehe Abschnitt 4.4.2) angezeigt werden. 7 Geotagging: Versehen von digitalen Bildern mit geographischer Information. Kapitel 4. GPSStation 39 GPSLoggerReader Diese Bibliothek dient dem Auslesen von GPS-Daten eines GPS-Loggers, der das PMTK -Protokoll unterstützt. Dabei wird zu Beginn des Auslesevorgangs überprüft, ob ein GPS-Logger an einer bestehenden seriellen Schnittstelle (COM-Port) angeschlossen und eingeschaltet ist. Wird ein Gerät gefunden, so wird eine Verbindung aufgebaut und zunächst nur allgemeine Information über den Zustand des Loggers ausgelesen. Neben der Anzahl der Logeinträge wird ermittelt, wieviel Speicherplatz am Gerät zu Verfügung steht. Anschließend können die Nutzdaten angefordert werden. Das Auslesen von gespeicherten Logeinträgen kann aufgrund der PMTK Spezifikation nur auf sämtliche gespeicherten Daten erfolgen. Eine Einschränkung für das Auslesen von Logs eines bestimmten Zeitraums kann erst später, nachdem alle Daten angefordert wurden, erfolgen. Dazu sendet die Bibliothek eine Nachricht folgender Form an das GPS-Gerät: $PMTK182,7,0,10000*0A<CR><LF> Vereinfacht ausgedrückt bedeutet diese Nachricht, dass die Funktion 7 (Auslesen von Nachrichten) für sämtliche Datensätze von Byte 0 bis Byte 10000 erfolgen soll. Es besteht zwar grundsätzlich die Möglichkeit nur einen bestimmten Teil der Einträge (bestimmte Anzahl von Bytes) vom GPSLogger anzufordern, allerdings kann auf die einzelnen Datensätze erst nach dem Auslesen des gesamten Blocks zugegriffen werden. Das GPS-Gerät antwortet mit dem angeforderten Block, überträgt die Daten allerdings in einzelnen Paketen zu je 256 Zeichen. Nachdem der gesamte Block eingelesen ist, werden die Daten, repräsentiert durch einen sehr langen Datensatz vom Typ string, analysiert und ausgewertet. Dabei stellte sich nach zahlreichen Tests heraus, dass der schnellste Weg diese Zeichenkette in nutzbare Datensätze zu zerlegen, mithilfe von regulären Ausdrücken (auch als Regular Expression bezeichnet) ist. 4.3 Interaktive Landkarte Die interaktive Landkarte in der vorgestellten Applikation wurde mit dem Microsoft Virtual Earth SDK entwickelt. Da sich Google Maps und Microsoft Virtual Earth vom Funktionsumfang sehr ähnlich sind und für die Entwicklung der restlichen Applikation Microsoft Produkte verwendet wurden, fiel auch die Entscheidung auf das SDK von Microsoft. Angezeigte Daten können allerdings, wie in Abschnitt 4.4.3 beschrieben, als *.kml-Datei gespeichert und somit in der Desktopanwendung Google Earth (vgl. Abschnitt 3.2.1) importiert werden. Abbildung 4.4 zeigt die Implementierung der interaktiven Landkarte für GPSStation. Dieses Fenster ist frei beweglich und kann so, unabhängig von der Applikation selbst, beispielsweise auf einem anderen Monitor dargestellt werden. Neben den GPS-Koordinaten (Latitude und Longitude) wird der Kapitel 4. GPSStation 40 Abbildung 4.4: Interaktive Landkarte der GPSStation. Ist das Kontrollkästchen Hybrid View aktiviert, so wird zusätzlich zur Landkarte das zugehörige Luftbild angezeigt. aktuelle Vergrößerungsfaktor auf dem Landkartenfenster (GPSStation Map View ) angezeigt. Ein Kontrollkästchen ermöglicht dem Benutzer das Umschalten auf die sogenannte Hybrid View, bei der zusätzlich das zugehörige Luftbild angezeigt wird. Die Interaktion mit der Karte funktioniert genau wie in der OnlineVersion von Windows Live Maps, da es sich bei der Implementierung um ein C#-Webbrowser-Kontrollelement handelt und im Hintergrund eine statische HTML-Seite geöffnet wird. In dieser HTML-Seite wird die interaktive Landkarte initialisiert und sämtliche JavaScript-Funktionen zur Interaktion mit der Anwendung definiert. Das Microsoft .net Framework 3.0 bietet Entwicklern eine einfache Möglichkeit JavaScript-Funktionen mit den zugehörigen Funktions-Parametern aus einer Desktop Anwendung aufzurufen: 1 private object ExecuteScript(string scriptName, params object[] parameters) 2 { 3 4 } return virtualEarthMapBrowser.Document.InvokeScript(scriptName, parameters); Kapitel 4. GPSStation 41 Im vorangegangenen Codebeispiel wird der Funktion ExecuteScript der Name der aufzurufenden JavaScript-Funktion und ein Feld mit den zu benötigten Funktionsparametern übergeben. Das bereits bei Applikationsstart instanzierte virtualEarthMapBrowser-Objekt stellt das Webbrowser-Kontrollelement der Anwendung dar. Wird von der JavaScript-Funktion ein Wert zurückgegeben, so ist dieser anschließend, nach einer eventuellen Typkonvertierung im Applikationcode, verfügbar. Neben synchronen Funktionsaufrufen bietet das .net Framework auch die Möglichkeit asynchrone Aufrufe mit anschließendem Rückruf (Callback ) an die Applikation durchzuführen. Wenn auf der Webseite ein Ereignis, z. B. ein Klick auf ein bestimmtes Element, eintritt, kann dieses an die Anwendung weitergeleitet und dort weiterverarbeitet werden. Nähere Details zur Kommunikation zwischen .net-Applikationen und JavaScript-Funktionen beschreibt Lee in [7], wo ein detailiertes Beispiel die Kommunikation einer Desktop-Anwendung mit einer interaktiven Landkarte zeigt. 4.4 Subapplikationen GPSStation besteht aus mehreren Subapplikationen die mithilfe der interaktiven Landkarte verknüpft sind. Aufgrund der realisierten Softwarearchitektur ist es ohne größeren Aufwand möglich, neue Subapplikationen in die Anwendung zu integrieren. Eine direkte Verbindung zwischen den einzelnen Teilapplikationen existiert nicht, allerdings stehen importierte GPS-Daten allen Subanwendungen zur Verfügung. Die digitale Landkarte existiert nur einmal für eine laufende GPSStation-Applikation. Sämtliche Anzeigen, die die einzelnen Teilapplikationen auf der interaktiven Landkarte vornehmen, sind ständig sichtbar, auch wenn der Benutzer die aktuelle Subanwendung wechselt. 4.4.1 GeoTagger Die GeoTagger -Anwendung (dargestellt in Abbildung 4.5) dient dem Benutzer dazu, digitale Bilder im Jpeg-Format mit geographischen Daten zu versehen. Mittlerweile gibt es einige wenige Digitalkameras, die bereits ab Werk einen GPS-Empfänger integriert haben, allerdings sind diese noch wesentlich teurer als vergleichbare Kameras ohne GPS. GeoTagger ermöglicht das Geotaggen von Bildern jeder beliebigen Digitalkamera, selbst Fotos von Mobiltelefonen können mit GPS-Koordinaten versehen werden. Der Benutzer wählt zunächst jenen Ordner mit Bildern, welche mit GPSKoordinaten versehen werden sollen. Dieser Ordner kann auf dem lokalen Dateisystem, aber auch auf einer Speicherkarte einer Digitalkamera angelegt sein. Anschließend muss die Quelle der GPS-Daten, wahlweise ein GPS- Kapitel 4. GPSStation 42 Abbildung 4.5: GeoTagger. An dieser Stelle im Programm kann der Benutzer den Ordner der zu verortenden Fotos angeben und den gewünschten GPS-Datensatz aus einer Datei oder von einem Logger laden. Wichtig ist die Einstellung der Zeitzone der Digitalkamera, da das Ergebnis sonst verfälscht ist. Logger oder eine Datei (*.csv) mit sämtlichen aufgezeichneten GPS-Logs ausgewählt werden. Je mehr GPS-Koordinaten für einen bestimmten Zeitraum in der Quelle gespeichert sind, desto genauer wird die Verortung der Fotos. Die Zeitstempel der GPS-Koordinaten werden mit dem Zeitstempel des jeweiligen Bildes verglichen. Jene GPS-Koordinaten mit der niedrigsten Abweichung zum Aufnahmezeitpunkt des Bildes gelten als die Nähesten und werden im Bild gespeichert, wenn die Abweichung unter einem vorher bestimmten Schwellwert liegt. Dieser Schwellwert kann in der GeoTagger -Applikation unter dem Punkt Maximum Time Difference eingestellt werden. Überschreitet die kleinste Abweichung diesen Schwellwert, so wird das Bild nicht mit GPSKoordinaten versehen und es wird mit dem nächsten Bild fortgefahren. Wichtig ist auch die Einstellung der in der Kamera gewählten Zeitzone, da GPS-Koordinaten-Zeitstempel im UTC -Format(Universal Coordinated Time) abgespeichert werden. Zusätzlich bietet GeoTagger die Möglichkeit den Namen des Bildautors mit in die Exif -Daten des Bildes zu integrieren (vgl. Abschnitt 2.2.6). Ein Kapitel 4. GPSStation 43 einfacher Klick auf die Schaltfläche Tag Images startet den Vorgang. Nachdem alle Bilder verortet sind, können diese mit GeoPictureViewer oder einer ähnlichen Software angezeigt und verwaltet werden. 4.4.2 GeoPictureViewer Die GeoPictureViewer -Subapplikation ist ein klassisches Programm zur Anzeige von digitalen Bildern, die zusätzliche Möglichkeiten für Bilder mit integrierten GPS-Koordinaten bietet. Abbildung 4.6 zeigt den GeoPictureViewer der GPSStation. Dabei wurde bereits ein Ordner mit Bildern ausgewählt und geöffnet. Durch einen einfachen Mausklick auf eines der kleinen Vorschaubilder wird dieses in den Hauptanzeigebereich geladen und vergrößert dargestellt. Um sowohl Hochals auch Querformat-Darstellung zu unterstützen, kann das Bild im oder gegen den Uhrzeigersinn gedreht werden. Der Benutzer hat die Möglichkeit durch einen Klick auf einen der Pfeile zum nächsten bzw. vorherigen Bild zu gelangen oder wahlweise eine automatische Vorführung zu starten. Am unteren Rand der Applikation werden einige Metadaten des aktuell geladenen Bildes angezeigt. Die angezeigten Daten (Autor des Bildes, Erstellungszeitpunkt, Auflösung und Dateiname) sind nur ein kleiner Teil aller in einem digitalen Bild gespeicherten Exif -Daten. Exif -Datenfelder können auch benutzt werden, um GPS-Koordinaten in ein Bild zu integrieren (wie in Abschnitt 4.4.1 beschrieben). Die Benutzeroberfläche wurde, wie die gesamte GPSStation-Applikation mit Windows Presentation Foundation (WPF ) implementiert. Transparenzen und Reflektionen können mit dieser Technologie sehr einfach realisiert werden. Frühere Technologien, wie etwa die Vorgängerversion von WPF Windows Forms, boten dem Entwickler keine Möglichkeit, Effekte dieser Art darzustellen. Da WPF das Erscheinungsbild sämtlicher Elemente der Benutzeroberfläche direkt auf der Grafikkarte berechnet, ist durch solche Effekte kaum ein Unterschied in der Rechenleistung spürbar. GeoPictureViewer kann, neben der klassischen Bildansichtsfunktion, Information aus den Metadaten eines Bildes (vgl. Abschnitt 2.2.6) auslesen. Wird ein Bild in den Hauptanzeigebereich geladen, so werden die zugehörigen GPS-Koordinaten (sofern vorhanden) ausgelesen und die interaktive Landkarte geladen. Sobald das Bild erscheint, navigiert die Landkarte automatisch an exakt jene Stelle, an der das Bild aufgenommen wurde. Alternativ zur klassischen Bildansicht bietet GPSStation eine sogenannte Tiled View, die Vorschaubilder wie Kacheln nebeneinander anordnet. Durch einen Klick auf eines dieser Vorschaubilder wird dieses groß in den Ansichtsbereich geladen. Ein erneuter Klick wechselt zurück zur Übersicht. So kann der Benutzer sehr schnell zwischen Detail- und Übersichtsansicht wechseln, ohne unnötigen Platz zu verbrauchen. Auch in der Tiled View -Ansicht wird Kapitel 4. GPSStation 44 Abbildung 4.6: GeoPictureViewer. Durch einen einfachen Klick auf eines der Vorschaubilder erscheint dieses in vergrößerter Ansicht. Ist die virtuelle Landkarte geöffnet und beinhalten die Metadaten des ausgewählten Bildes GPS-Informationen, so zeigt diese die exakte Position an der diese Bild erstellt wurde. das jeweilige geladene Bild auf der Landkarte angezeigt, sofern GPS-Daten im Bild gespeichert sind. 4.4.3 LogImporter / Exporter Die LogImporter -Subapplikation (siehe Abbildung 4.7) gilt als eine der wichtigsten Teile von GPSStation, weil diese als Grundlage für weitere Subanwendungen dient. Der Aufgabenbereich des LogImporters ist der Import von GPS-Logdaten aus verschiedenen Quellen. Unabhängig von welcher Quelle die GPS-Daten eingelesen werden, erfolgt die interne Abbildung ebendieser in einem einheitlichen Datenformat. Zum Auslesen von GPS-Logdaten aus einem GPS-Logger muss die verwendete COM-Schnittstelle angegeben werden. Um die Benutzbarkeit zu vereinfachen, wurde eine Funktion implementiert, die automatisch jene COMSchnittstelle auswählt, an der ein GPS-Datenlogger angeschlossen ist. Dabei Kapitel 4. GPSStation 45 Abbildung 4.7: LogImporter. Ermöglicht das Auslesen und Analysieren von GPS-Daten die vom GPS-Logger gespeichert wurden. Sämtliche Tracks können an dieser Stelle unabhängig von einander in verschiedene Formate exportiert werden. wird an alle verfügbaren Schnittstellen eine PMTK -Nachricht gesendet. Sobald auf eine Nachricht eine gültige PMTK -Antwort zurückgeliefert wird, wurde der richtige Anschluss gefunden (Auto Find). Nachdem die verwendete Schnittstelle gefunden wurde, kann der Anwender die zu lesenden Daten auf einen bestimmten Zeitraum einschränken. Wie bereits in Abschnitt 4.2 erläutert, werden intern alle Daten ausgelesen, allerdings nur jene Logdaten angezeigt, die dem ausgewählten Zeitbereich entsprechen. Zusätzlich bietet der LogImporter die Möglichkeit, die Ergebnisdatenmenge in einzelne unabhängige Tracks aufzuteilen. Überschreitet die Distanz zwischen zwei aufeinander folgenden GPSPunkten die vom Benutzer vordefinierte Distanz, so zählt jener Punkt als Startpunkt für den nächsten Track. Analog dazu kann die Datenmenge nach Zeit unterteilt werden. Wenn die zeitliche Differenz zwischen zwei Punkten die definierte Zeitspanne übersteigt, wird ein neuer Track angelegt. So kann der Benutzer beispielsweise Trainingsdaten von unterschiedlichen Trainingseinheiten, bzw. Trainigs an Kapitel 4. GPSStation 46 Tabelle 4.1: Aufnahmearten von GPS-Loggern. Zeichen Typ Beschreibung D Distance Überschreiten einer bestimmten Distanz S Speed Überschreitung der Geschwindigkeit T Time Überschreiten einer bestimmten Zeitspanne I Interest Drücken des Knopfes auf dem GPS-Logger verschiedenen Tagen, einzeln darstellen und anschließend analysieren (siehe Abschnitt 4.4.4). Neben GPS-Logdaten von GPS-Datenloggern können Logeinträge auch aus *.csv-Dateien eingelesen werden. Dabei bedient sich GPSStation der Struktur die auch von anderen GPS-Programmen verwendet wird. Die mit dem GPS-Datenlogger i-Blue747 mitgelieferte Software DataLog 8 ermöglicht, wie viele andere Hersteller von GPS-Logger-Software, das Sichern von Logdaten in folgendem *.csv-Format: 0,D,2007/11/21,13:38:27,SPS,48.36,N,14.51, E,423.33 m,6.6 km/h,18.5 m Aus Gründen der Übersichtlichkeit wurde bei obenstehendem Beispiel die Anzahl der Nachkommastellen wesentlich reduziert. Die einzelnen, durch Beistriche getrennten Werte beginnen mit einem eindeutigen, fortlaufendem Index gefolgt von der Aufnahmeart des jeweiligen Punktes. Die Aufnahmeart eines GPS-Datensatzes kann, je nach Konfiguration des GPS-Loggers, eine der in Tabelle 4.1 angegeben Werte annehmen. Anschließend folgt das Datum (im Format YYYY/MM/DD) und die genaue Uhrzeit der Punktaufnahme (in UTC ), gefolgt von einer Genauigkeitsangabe des GPS-Signals. Standardmäßig wird SPS (Satellite Paging System) verwendet. Wie in Abschnitt 4.1.1 erläutert, werden Einträge mit dem Wert No fix aufgrund mangelnder Genauigkeit von GPSStation ignoriert. Im *.csv-Datensatz folgen anschließend die GPS-Koordinaten und die Höhe des GPS-Punktes über den Meeresspiegel. Zuletzt werden noch die Geschwindigkeit zum jeweiligen Zeitpunkt und der Abstand des aktuellen Punktes zum letzten, gespeicherten Punkt angegeben. Dieses Format verstehen die meisten GPS-Anwendungen die den Import von *.csv erlauben. GPSStation versteht *.csv-Dateien in diesem Format und kann importierte Logs in ebendiese exportieren. Zusätzlich bietet GPSStation die Möglichkeit, einzelne Tracks in das XML-basierte Datenformat *.kml9 (Keyhole Markup Language) zu exportieren. Diese Daten können in 8 9 DataLog-GPS-Software: http://www.transystem.com.tw/pdf_gps/TsiSetup.zip http://earth.google.de/kml Kapitel 4. GPSStation 47 Abbildung 4.8: Ansicht der Track-Liste im LogImporter. Die Detailanzeige zeigt sämtliche gespeicherten Punkte und Daten zum ausgewählten Track und ermöglicht den Export in verschiedene Datenformate. der kostenlosen Anwendung Google Earth (siehe Abschnitt 3.2.1) importiert, angezeigt und verändert werden. Nach dem Einlesen der Daten werden diese, gegebenenfalls aufgeteilt in einzelne Tracks, in der Applikation angezeigt. An dieser Stelle finden sich auch die Schaltflächen für den Export in die verschiedenen Dateiformate. Ein einfacher Klick auf das blaue Pfeilsymbol zeigt die Detailansicht eines einzelnen Tracks. Diese Ansicht zeigt sämtliche GPS-Daten-Einträge die von der jeweiligen Quelle eingelesen wurden. Abbildung 4.8 zeigt die Detailansicht eines Tracks mit sämtlichen Detaildaten. Durch einen einfachen Klick auf die Farbe eines Eintrags kann diese verändert werden. Dabei wird zufällig eine neue Farbe gewählt und dem jeweiligen Track zugeordnet. Die gewählte Farbe repräsentiert die Einfärbung der Streckenanzeige in der Landkarte und dient der Wiedererkennung in der LogAnaylzer -Applikation, die in Abschnitt 4.4.4 vorgestellt wird. Sämtliche geladenen Datensätze stehen ab diesem Zeitpunkt in der interaktiven Landkarte zur Verfügung. Dort kann der Benutzer einzelne Strecken ein- und ausblenden und durch Klick auf eine Streckenbezeichnung die Landkarte an die zugehörige GPS-Position navigieren (siehe Abbildungen 4.9 (a) und 4.9 (b)). 4.4.4 LogAnalyzer Nach dem Import von GPS-Daten von einem Datenlogger oder einer entsprechenden *.csv-Datei können die Bewegungsdaten im LogAnalyzer analysiert und ausgewertet werden. Die GPS-Aufzeichnungen werden anhand von interaktiven Graphen visualisiert und können, bei Import von mehreren Tracks, überlagert und dadurch einfach verglichen werden. Eine Beispielansicht des LogAnalyzers ist in Abbildung 4.10 zu sehen. Der obere Graph repräsentiert die Höhenkurve der zurückgelegten Wegstrecke über die Distanz, der zweite Graph dient der Visualisierung der Geschwindigkeit über die zurückgelegte Strecke. Kapitel 4. GPSStation (a) 48 (b) Abbildung 4.9: Abbildung (a) zeigt einen Ausschnitt der interaktiven Landkarte nach dem Importieren von GPS-Daten. Bewegt der Benutzer die Maus über das Bild mit dem Wanderer, so erscheinen die wichtigsten Daten zur importierten Wegstrecke. Neben Länge und Höhenmeter der zurückgelegten Strecke wird die durchschnittliche Geschwindigkeit und der Zeitpunkt von Start und Ende angezeigt. In Abbildung (b) werden alle importierten Tracks am Landkartenfenster angezeigt und können dort ein- bzw. ausgeblendet werden. Durch einfaches Gedrückthalten der linken Maustaste kann der Benutzer die Anzeige des Graphen verschieben. Hält der Benutzer die rechte Maustaste gedrückt, kann er eine bestimmte Stelle der Anzeige vergrößern und erhält so detailliertere Information zur jeweiligen Position. Mittels Doppelklick auf einen Punkt auf dem angezeigten Graphen öffnet sich die interaktive Landkarte und ein rotes Symbol erscheint exakt an jener Position, an der diese Daten aufgezeichnet wurden (siehe Abbildung 4.11). Bewegt der Benutzer die Maus über das erscheinende Symbol, erhält er nähere Informationen zur gewählten Position. Neben den exakten GPSKoordinaten werden auch die Höhe über dem Meeresspiegel (Altitude) und die Geschwindigkeit an dieser Stelle angezeigt (siehe Abbildung 4.11). Bei der vorliegenden Implementierung der GPSStation wurde auf die Graph-Visualisierungsbibliothek Swordfish Charts zurückgegriffen. Diese Bibliothek und der gesamte zugehörige Quellcode stehen kostenlos (unter der BSD-Lizenz) in Internet zur Verfügung. Die Anbindung ist dank WPF sehr einfach, da die Bibliothek nur als Re- Kapitel 4. GPSStation Abbildung 4.10: LogAnalyzer. Verschiedene interaktive Graphen ermöglichen die Auswertung einer getätigten Route (Track ). Dieses Werkzeug kann vor allem für Sportler zur Trainingsanalyse verwendet werden. Abbildung 4.11: Detail der interaktiven Landkarte. Der Rote Pfeil symbolisiert einen vom Benutzer im LogAnalyzer gewählten Wegpunkt. Bewegt der Anwender die Maus über dieses Bild, so erscheinen nähere Details zur gewählten Position. Die gelben Nadeln markieren sogenannte Zwischenzeitpunkte, die auftreten, wenn der Benutzer den Log-Knopf am GPS-Logger drückt. 49 Kapitel 4. GPSStation 50 ferenz hinzugefügt werden muss. Nach dem Instanzieren eines XYLineChartObjekts können einzelne ChartPrimitive-Objekte erstellt werden. Ein Objekt vom Typ ChartPrimitive entspricht dabei einem einzelnen Graphen. Ein XYLineChart kann mehrere ChartPrimitive-Objekte beinhalten, so können Graphen einfach überlagert werden. Folgendes Beispiel zeigt das einfache Anlegen eines Liniengraphen und das Hinzufügen mehrerer Punkte: 1 private XYLineChart CreateAndFillChart( List<Point> pointsA, 2 List<Point> pointsB ) 3 { 4 XYLineChart chart = new XYLineChart(); 5 ChartPrimitive cpA = new ChartPrimitive(); 6 ChartPrimitive cpB = new ChartPrimitive(); 7 8 foreach (Point p in pointsA) 9 cpA.AddPoint(p); 10 11 cpB.Points = pointsB; 12 13 chart.Primitives.Add(cpA); 14 chart.Primitives.Add(cpB); 15 16 return chart; 17 } Im vorangegangenen Beispiel wird in der Funktion CreateAndFillChart ein XYLineChart-Kontrollelement instanziert. Anschließend werden zwei unabhängige ChartPrimitive-Objekte angelegt die zwei übereinander liegende Graphen darstellen. Diese Objekte können mit einzelnen Punkten befüllt werden oder direkt eine Liste an Punkten entgegen nehmen. Nachdem die einzelnen Graphenpunkte hinzugefügt wurden, müssen die ChartPrimitiveObjekte zum eigentlichen Kontrollelement hinzugefügt werden. Anschließend funktioniert dieses Kontrollelement bereits wie beschrieben, lediglich das Design der Graphen kann bzw. sollte noch an die Applikation angepasst werden. Will der Entwickler auf Ereignisse in diesem Element reagieren, so müssen noch die zugehörigen Ereignisbehandlungsroutinen (Event Handler ) implementiert werden. 4.4.5 WhereWasMyHusband Die Applikation WhereWasMyHusband (siehe Abbildung 4.12) ermöglicht dem Benutzer das Auswerten von GPS-Logger-Daten um den Aufenthaltsort und die korrespondierende Aufenthaltszeit des GPS-Loggers festzustellen. Dabei werden GPS-Daten von einem GPS-Logger automatisch ausgelesen und zunächst vom System analysiert. Anschließend erhält der Benutzer eine Liste mit sämtlichen GPS-Positionen an der sich das GPS-Gerät und in der Regel die observierte Person länger als 30 Minuten aufgehalten hat. Kapitel 4. GPSStation 51 Abbildung 4.12: WhereWasMyHusband. Nach dem Klicken der Schaltfläche Tell me where my husband was werden sämtliche Logdaten importiert und die Wegstrecke sowie die Aufenthaltsorte des GPS-Loggers angezeigt. Klickt der Benutzer auf einen dieser Einträge, wird die korrespondierende Position in der Karte angezeigt. Diese Stationen werden auf der interaktiven Landkarte visualisiert und mit zusätzlichen Daten versehen. Neben dem Zeitpunkt von Beginn und Ende des Aufenthalts an jeder dieser Stellen wird die zurückgelegte Wegstrecke eingezeichnet und kann so zu einem späteren Zeitpunkt ausgewertet werden. Da GPSStation für Benutzer mit GPS-Logger-Geräten ausgelegt ist, bietet es derzeit keine Unterstützung für Echtzeit-Tracking von Personen bzw. GPS-Sendegeräten. Die Software erlaubt das Auswerten der Daten im Anschluss an die Aufzeichnung. Dabei ist der übliche Ablauf wie folgt: Zuerst wird der GPS-Datenlogger in den Log-Modus gesetzt (durch einfaches Umlegen eines Schalters am Logger) und das Empfangsgerät vollständig geladen. Bei vollständiger Ladung und einem eingestellten Log-Intervall von zehn Sekunden hält der Akku knapp eine Woche. Anschließend wird der GPS-Logger der zu observierenden Person übergeben, bzw. an oder bei dieser Person versteckt. Kapitel 4. GPSStation 52 Da handelsübliche GPS-Logger sehr starke Empfangsleistungen bieten, kann das Gerät selbst in Fahrzeugen im Handschuhfach oder im Kofferraum angebracht werden. Eine direkte Sichtverbindung zu den GPS-Satelliten ist nicht nötig. Verlässt die zu beobachtende Person das Fahrzeug in dem der GPSLogger untergebracht wurde, kann natürlich nur die Position des Fahrzeugs ausgewertet werden. Dies kann allerdings für die Aufzeichnung und Auswertung von Fahrtrouten von Firmenfahrzeugen bereits ausreichen. Der GPS-Logger kann auch in Aktenkoffern, Laptoptaschen oder im Reisegepäck untergebracht werden. Erst wenn die observierte Person bzw. das beobachtete Fahrzeug mit dem GPS-Empfänger wieder zurück ist, kann der GPS-Logger entnommen und an den Computer angeschlossen werden. Bei der Entwicklung des Auswertungssystem der WhereWasMyHusband Applikation wurde besonderer Wert auf die Einfachheit der Benutzeroberfläche gelegt. Da die potentielle Zielgruppe auch Benutzer mit kaum vorhandenen Computerkenntnissen beinhaltet, besteht die Benutzeroberfläche nur aus einer einzigen Schaltfläche und einer kurzen und prägnanten Beschreibung. Der GPS-Logger muss auch zur Auswertung im Log-Modus eingestellt werden. Anschließend beginnt der Auslesevorgang durch das Drücken der Schaltfläche Tell me where my husband was. Sämtliche Einstellungen werden von der GPSStation-Anwendung selbst getätigt. Die Auswahl der richtigen COM-Schnittstelle erfolgt automatisch. In den gesamten Logdaten wird nach Zeitbereichen gesucht, an denen sich die GPSPosition des GPS Loggers nicht, oder nur minimal ändert. An die Durchschnittsposition wird ein Symbol in der Karte angezeigt und der Datensatz erscheint in der Liste der Aufenthaltsorte. Dort findet der Benutzer Beginnund Endzeit des Aufenthalts. Durch Klick auf einen dieser Datensätze erscheint die interaktive Landkarte, die diese Position anzeigt. Wahlweise kann der Benutzer zwischen Landkarten- und Orthofotoansicht umschalten. 4.4.6 RunningAssistant RunningAssistant ist eine Applikation für mobile Endgeräte mit Microsoft Windows Mobile 6 als Betriebssystem. Diese Anwendung richtet sich hauptsächlich an Sportler, die Ihre Trainingsergebnisse verbessern und vergleichen wollen. Vor allem für Langstreckenläufer, Radfahrer und Langläufer kann RunningAssistant ein nützliches Werkzeug sein, um den laufenden Trainingserfolg zu steigern. Dazu ist es nötig, zu Beginn eine bestimmte Trainingsstrecke mit einem GPS-Logger zurückzulegen und die Daten in die Desktop-Applikation GPSStation mittels LogImporter (siehe Abschnitt 4.4.3) zu importieren. Die aufgezeichnete Referenzstrecke dient in weiterer Folge als Vergleichsstrecke für zukünftige Trainingseinheiten. Die so aufgenommenen und eingelesenen Logdaten können anschließend für die RunningAssistant-Anwendung exportiert Kapitel 4. GPSStation (a) 53 (b) Abbildung 4.13: RunningAssistant. Bild (a) zeigt die Benutzeroberfläche der mobilen Applikation nach dem Laden eines Datensatzes (Referenzlauf). Neben Länge der Strecke findet der Benutzer auch die zurückzulegenden Höhenmeter und die Dauer des Referenzlaufes. Das zweite Bild (b) zeigt die Ansicht der Landkarte, die mit einem Finger oder mit einem Eingabestift verschoben werden kann. Da die Karte von GPSStation exportiert wurde, ist während des Trainings keine Internetverbindung nötig. werden. Dabei wird eine *.raf-Datei (RunningAssistant-File) erzeugt, welche sämtliche Logs, Zwischenpunkte und die zugehörige Landkarte beinhaltet. Diese Datei kann anschließend auf das Windows Mobile-Gerät übertragen und als Referenzstrecke genutzt werden. Abbildung 4.13 (a) zeigt die geöffnete RunningAssistant-Applikation auf einem HTC Touch. Durch einen einfachen Klick (mittels Stift oder Finger) auf das gelbe Ordnersymbol kann ein Referenzlauf geladen werden. Der GPSEmpfänger muss aktiviert sein, um durch einen Klick auf das Verbindungssymbol (blauer Satellit) eine Bluetooth-Verbindung mit dem Gerät herstellen zu können. Das Programm zeigt zu diesem Zeitpunkt den Dateinamen der geladenen Datei, die Länge der Referenzstrecke und die zurückzulegenden Höhenmeter an. Zusätzlich wird dem Benutzer gezeigt, wie lange er für diese Strecke bei der Aufzeichnung des Referenzlaufes benötigt hat und wieviele GPS-Punkte dabei gespeichert wurden. RunningAssistant ist ab diesem Zeitpunkt jederzeit bereit, das Training Kapitel 4. GPSStation 54 zu starten. Durch Drücken des Weltkugel-Symbols wird die zugehörige Landkarte mit der importierten Wegstrecke geladen und angezeigt (siehe Abbildung 4.13 (b)). Der Benutzer kann die Landkarte mit einem Stift, oder bei einem berührungsempfindlichen Display mit einem Finger in alle Richtungen verschieben, bis der gewünschte Kartenausschnitt angezeigt wird. Da das Bild der Landkarte von GPSStation exportiert wurde, ist während des Trainings mit RunningAssistant keine Internetverbindung notwendig. Wenn der Benutzer bereit ist, kann dieser die neue Trainingseinheit starten. Das Display zeigt dann die aktuelle Zwischenzeit, verglichen mit der Zwischenzeit der Referenzstrecke an. Zudem wird der Benutzer informiert, wieviele Meter er vor oder hinter seiner aufgezeichneten Wegstrecke liegt. Diese Daten werden in einem vorbestimmten Zeitintervall (in der vorliegenden Implementierung zehn Sekunden) neu berechnet und angezeigt. Wenn der Sportler bei der Aufzeichnung einen oder mehrere Zwischenzeitpunkte durch Drücken des Knopfes auf dem GPS-Logger aufgezeichnet hat, erscheinen diese in der Landkartenansicht symbolisiert durch eine gelbe Nadel. Sobald der Benutzer einen dieser Zwischenzeitpunkte passiert, wird die aktuelle Zwischenzeit mittels Sprachausgabe wiedergegeben. Dies ermöglicht beispielsweise einem Langstreckenläufer das mobile Gerät in einer Tasche zu verstauen und trotzdem über die jeweilige Zwischenzeit informiert zu werden. Während der Trainingseinheit kann der Anwender jederzeit zwischen der Hauptseite mit der aktuellen Zwischenzeit und der Landkarte wechseln. Die Landkarte zeigt neben der Laufstrecke auch die aktuelle Position (grüner Punkt) sowie die Position der Referenzaufzeichnung zum selben Zeitpunkt (Ghosting). So weiß der Benutzer jederzeit, ob und wie weit er vor bzw. hinter seinem letzten Trainingslauf liegt. Aktiviert der Anwender vor dem Start des Trainings das Kontrollkästchen Save Run, so wird der aktuelle Lauf aufgezeichnet und kann später in der GPSStation Desktop-Anwendung mit einem vorangegangenen Traingslauf verglichen werden. Diese Aufzeichnung kann für ein späteres Training wieder in die RunningAssistant-Anwendung geladen und als Referenzstrecke verwendet werden. Kapitel 5 Zusammenfassung Satellitengestützte Navigation hat in den letzten Jahren das Leben vieler Menschen erleichtert. Aufgrund der stetig fallenden Preises für GPSEmpfangsgeräte gilt es nicht mehr als Luxus, ein GPS-Gerät zu besitzen. Die Qualität dieser Geräte steigt und mancherorts gibt es bereits die Möglichkeit in Innenräumen zu navigieren (wenn auch mit Hilfe zusätzlicher Technologien). Die Weiterentwicklung erfolgt nicht nur beim amerikanischen GPS, sondern auch bei seinen Mitbewerbern aus aller Welt, die sich ihre eigenen Satelliten ins Weltall schicken um exakt und unabhängig von den USA navigieren zu können. So arbeitet die Europäische Union bereits seit Anfang der 90er Jahre an einem eigenen, satellitengestützten Positionierungssystem, welches sich leider immer wieder verzögert. Der aktuell geplante Starttermin ist im Jahr 2013, wobei die Frage offen bleibt, ob die entwickelte Technologie bis dahin nicht schon veraltet ist. Neben klassischer Boden- und Luftraum-Navigation kann GPS auch in zahlreichen anderen Disziplinen sinnvoll eingesetzt werden. Mit steigender Genauigkeit wird GPS für die Vermessungstechnik immer interessanter. Das Militär hat seit jeher eigene Anwendungen für deren hochgenaues Positionierungssystem. Ein weiterer großer Bereich für GPS-Anwendungen, der vor allem in naher Zukunft immer weiter aufblühen wird, ist die Welt des Sports. Marathonläufer, Langläufer und Radfahrer arbeiten teilweise schon mit GPSSystemen und aktuelle Entwicklungen lassen erahnen, dass dies in den nächsten Jahren ein stark wachsender Markt sein wird. Seit einigen Jahren finden sich im Internet kostenlose Landkarten die über klassische Webbrowser abrufbar sind. Das angebotene Kartenmaterial reicht von klassischen Landkarten bis hin zu Luftbildern in mittlerweile sehr hoher Qualität. Die größten Anbieter, Google, Microsoft und Yahoo! bieten annähernd gleiche Qualität, wobei regional leichte Unterschiede zu erkennen sind. Die zur Verfügung stehenden Kartendaten können sehr einfach in eigenen Webseiten eingebunden und für eigene Zwecke angepasst werden. 55 Kapitel 5. Zusammenfassung 56 Zahlreiche SDK’s ermöglichen den programmatischen Zugriff auf das Kartenmaterial zur Navigation und Manipulation der visualisierten Daten. Die Open-Source-Gemeinde arbeitet zurzeit an vektorisierten Kartendaten für die neue Plattform OpenStreetMap, deren Benutzeranzahl ständig steigt. GPSStation beschreibt die dieser Arbeit zugrunde liegende Applikation, welche eine Sammlung verschiedener GPS-Anwendungen, verknüpft durch eine interaktive Karte, darstellt. Dabei ist es möglich, digitale Bilder und Fotos mit GPS-Informationen zu versehen. Diese können in einem entwickelten Teilprogramm von GPSStation angezeigt und die zugehörige Position in die interaktive Landkarte geladen werden. Um Sportler bei deren Wettkämpfen und Trainingseinheiten zu unterstützen, wurde eine Möglichkeit geschaffen, zurückgelegte Strecken zu analysieren und zu vergleichen. Die Strecken werden dabei in der Karte angezeigt und das Höhen- und Geschwindigkeitsprofil jeweils in einem Graphen visualisiert. Werden diese Daten exportiert, so kann der Benutzer einen Referenzlauf in der zugehörigen Windows Mobile-Applikation RunningAssistant laden. So sieht der Anwender zu jedem Zeitpunkt während seines Trainigs eine Echtzeit-Zwischenzeit, die Auskunft über den aktuellen Trainingsfortschritt liefert. Objekte und Personen können mit der Subanwendung WhereWasMyHusband observiert werden. Dabei werden Aufenthaltsorte und die getätigte Wegstrecke berechnet und in die korrespondierende Karte geladen. 5.1 Resümee Die entwickelte Applikation GPSStation wurde mit Windows Presentation Foundation und C# 3.5 implementiert, was sich im Nachhinein als gute Entscheidung herausstellte. Speziell für prototypische Anwendungen und nicht zeitkritische Applikationen eignet sich die Kombination dieser beiden Technologien, um schnell zu einem guten Ergebnis zu gelangen. Die Entwicklungszeit war mit knapp drei Monaten sehr kurz, zumal die Einarbeitungszeit in diese Technologie dabei bereits eingerechnet ist. Speziell die neuen Konzepte aus WPF wie etwa DataBinding und DataTemplates erleichtern einem Programmierer das Leben enorm. Strikte Trennung zwischen logischer Implementierung und graphischer Repräsentation erlauben das nachträgliche Anpassen des Designs ohne eine Zeile Code verändern zu müssen. Die Applikation war ursprünglich in einem etwas kleineren Umfang geplant, wurde allerdings nach anfänglichen Erfolgen um zusätzliche Anwendungen erweitert. Dank der Applikationsstruktur ist es im Nachhinein leicht möglich, neue Subapplikationen in die Anwendung zu integrieren. Eine der Hauptschwierigkeiten war die Kommunikation mit dem GPSLogger über das PMTK -Protokoll, da das Protokoll von offizieller Seite nicht Kapitel 5. Zusammenfassung 57 offengelegt ist. Zahlreiche Programmierer haben das Protokoll mittlerweile nahezu vollständig entschlüsselt (siehe Anhang A.6). 5.2 Erweiterungsmöglichkeiten Im Rahmen eines Semesterprojektes lassen sich, aus Zeit und Kostengründen, nicht alle Ideen sofort umsetzen. Der modulare Aufbau von GPSStation ermöglicht durch seine bestehende Applikationsarchitektur ein einfaches Erweitern um neue Subanwendungen. Es existieren bereits einige Ideen wie die vorgestellte Applikation erweitert und verbessert werden könnte. Diese werden in den folgenden Abschnitten vorgestellt und näher erläutert. 5.2.1 Laufzeithochrechnung nach Roger Kaufmann Für die mobile Applikation RunningAssistant wäre es interessant, während des Trainings bzw. Wettkampfes die ungefähre Gesamtzeit hochzurechnen. Dazu würde sich die vom Schweizer Mathematiker Roger Kaufmann (ETH Zürich) entwickelte Formel zur Laufzeithochrechnung anbieten. Dabei gibt der Benutzer zwei Strecken als Refernzläufe an (eine kürzere und eine längere) und kann sich so für Strecken von einem Kilometer bis zur klassischen Marathondistanz (42,195 km) seine Zeiten hochrechnen lassen. Die verwendete Formel lautet wie folgt: t = c ∗ dk t steht für die hochgerechnete Zeit nach einer Distanz von d. Die Faktoren c und k bezeichnet Kaufmann als Läufer-spezifische Parameter, die aus den angegebenen Strecken und zugehörigen Zeiten hochgerechnet wird. Dabei gibt die Variable c die Grundgeschwindigkeit und der Faktor k die Standfestigkeit des Läufers an. Diese Formel, an der schon seit Anfang der 90er Jahre geforscht wird, errechnet die endgültige Laufzeit vor allem für trainierte Läufer sehr exakt. Eine erweiterte Formel erlaubt auch die Berücksichtigung von Höhendaten, die natürlich Einfluss auf die Gesamtzeit haben. Genauere Information zu dieser Formel sowie ein Online-Formular zur Berechnung finden sich auf der Homepage des Mathematikers1 . 5.2.2 Anbindung von GPS-Sendegeräten Eine weitere Erweiterungsmöglichkeit für GPSStation wäre eine Anbindung von GPS-Sendegeräten, die ständig aktuelle Daten über den Aufenthaltsort dieser geben. So könnte beispielsweise ein Trainer seine Sportler während des Trainings über GPSStation beobachten und gegebenenfalls Tipps zur Optimierung geben. Leider sind GPS-Sendegeräte noch relative teuer und 1 http://www.rogerkaufmann.ch Kapitel 5. Zusammenfassung 58 mit regelmäßigen Gebühren verbunden, da für das Abfragen von GPS-Daten eines Sendegerätes Satellitengebühren zu zahlen sind. 5.2.3 Pulsmessgeräte Speziell für die Auswertung von Daten im LogAnalyzer könnte die Anbindung und Synchronisierung mit Daten von Pulsmessgeräten interessant sein. So zeigt sich etwa, wie stark die Pulsfrequenz eines Sportlers ansteigt, wenn dieser einen Anstieg bewältigt. Pulsmessgeräte die Daten aufzeichnen und an einen Computer überspielen können sind mittlerweile kostengünstig erhältlich. 5.2.4 Editiermöglichkeit für GPS-Informationen in Bildern Zurzeit unterstützt GPSStation nur das Speichern und Auslesen von GPSKoordinaten aus den Metadaten von Bildern. Eine hilfreiche Ergänzung wäre das Anbieten einer Editierfunktion dieser GPS-Daten. Wenn beispielsweise die Uhrzeit der verwendeten Digitalkamera um ein paar Minuten falsch eingestellt ist, können die GPS-Logdaten nicht exakt zugeordnet werden. So wäre es beispielsweise denkbar, dass der Benutzer für ein bestimmtes Bild durch Positionsbestimmung in der interaktiven Landkarte die GPS-Koordinaten für ein Bild manuell setzen und verändern kann. Anhang A Inhalt der CD-ROM File System: Joliet Mode: Single-Session A.1 Masterarbeit Pfad: /thesis Masterarbeit_Michael_Hurnaus.pdf Masterarbeit A.2 Quellcode Pfad: /source GPSStation/ . . . . . . RunningAssistant/ . . . A.3 Quellcode der Desktop Anwendung GPSStation Quellecode der Windows Mobile Applikation RunningAssistant Bibliotheken Pfad: /dependencies GeoTagLib.dll . . . . . . GPSLoggerReader.dll . . A.4 Assembly zum Geotaggen von Bildern Assembly zum Lesen von GPS-Logdaten eines GPS-Loggers Ausführbare Dateien Pfad: /Binary GPSStation/GPSStation.exe GPSStation Anwendung 59 Anhang A. Inhalt der CD-ROM 60 RunningAssistant/RunningAssistant.exe RunningAssistant Anwendung A.5 Demo-Dateien Pfad: /DemoFiles GPSLogs/ . . . . . . . . GeoTaggedImages/ . . . UntaggedImages/ . . . A.6 Verschiedene GPS-Logs im *.csv-Format Bilder mit eingebetteter GPS-Information Bilder ohne eingebettete GPS-Information Dokumentation Pfad: /Documentation MTK_commands.pdf . MTK_LogFormat.pdf . MTK -Kommandos für GPS-Geräte Spezifizierung eines Logeintrags am GPS-Logger PMTK182_commands.pdf MTK -Kommandos spezifisch für GPS-Logger A.7 Referenzen Pfad: /References / . . . . . . . . . . . . . Referenzierte Webartikel im *.pdf-Format Literaturverzeichnis [1] Arms Control Association: Missile Technology Control Regime, Jan. 1993. http://www.armscontrol.org/documents/mtcr.asp. [2] Egger, Ettl, Guggenberger und Lexe: Vermessungskunde. Veritas, Linz, Austria, 1997. [3] Höfler, K.: Microsoft-Entwicklung in Graz: Konkurrenz zu Google Earth. Die Presse, 23. Mai 2007. [4] Jagoe, A.: Mobile Location Services – The Definitve Guide. Pearson Education, 2003. [5] Kolodziej, K. W. und J. Hjelm: Local Positioning Systems – LBS Applications and Services. CRC Press, 2006. [6] Küpper, A.: Location-based Services – Fundamentals and Operation. John Wiley & Sons Ltd, West Sussex, England, 2005. [7] Lee, W. M.: Practical .NET 2 Net Projects. Apress, Birmingham, England, 2007. [8] Leick, A.: GPS Satellite Surveying. John Wiley & Sons Inc, Hoboken, New Jersey, 3. Aufl., 2004. [9] Mansfeld, W.: Satellitenortung und Navigation – Grundlagen und Anwendung globaler Satellitennavigationssysteme. Vieweg Verlag, Wiesbaden, Deutschland, 2. Aufl., 2004. [10] Nash, T.: Accelerated C# 2005 . Springer-Verlag New York, 2006. [11] Nathan, A.: Windows Presentation Foundation Unleashed. Sams Publishing, 2007. [12] Novosti, R.: Putin makes Glonass navigation system free for customers. http://en.rian.ru/science/20070518/65725503.html, 2007. [13] Online, H.: Russland bringt sich bei Galileo ins Spiel. http: //www.heise.de/newsticker/Russland-bringt-sich-bei-Galileo-ins-Spiel--/ meldung/89899, Mai 2007. 61 LITERATURVERZEICHNIS 62 [14] Ramm, F. und J. Topf: OpenStreetMap - Die freie Weltkarte nutzen und mitgestalten. Lehmanns Media Berlin, 2008. [15] Shankland, S.: Google mapping spec now an industry standard . http: //www.news.com/8301-10784_3-9917421-7.html, Apr. 2008. [16] Winter, M.-A.: A-GPS soll Navigations- und Ortungsdienste erleichtern. http://www.teltarif.de/arch/2005/kw16/s16847.html, März 2005. Messbox zur Druckkontrolle — Druckgröße kontrollieren! — Breite = 100 mm Höhe = 50 mm — Diese Seite nach dem Druck entfernen! — 63