Fachhochschule Darmstadt - Fachbereich Informatik Location Based Services für den öffentlichen Verkehr Bachelorarbeit am Fachbereich Informatik Fachhochschule Darmstadt von Bastian Fincke Referenten: Prof. Dr. W. Fuhrmann Prof. Dr. J. Reichardt Entstanden in Zusammenarbeit mit: T-Systems Nova GmbH Technologiezentrum Am Kavalleriesand 3 64295 Darmstadt www.t-systems.de Tag der Abgabe: 26. April 2004 Verfassererklärung Ich erkläre hiermit, dass ich die vorliegende Arbeit selbständig verfaßt und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Darmstadt, den 26. April 2004 Bastian Fincke Rhönring 107 64289 Darmstadt Fachhochschule Darmstadt - Fachbereich Informatik Matrikelnummer 627 991 Inhaltsverzeichnis 1 Einleitung und Aufbau der Arbeit 2 2 Definitionen 4 2.1 Location Based Services . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Mobiles Endgerät . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Nutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Öffentlicher Verkehr . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 WGS84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.6 Gauß-Krüger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 Points of Interest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 Location Based Services 3.1 3.2 Möglichkeiten zur Ortsbestimmung . . . . . . . . . . . . . . . . . . . . 8 3.1.1 Manuelle Eingabe . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.2 Ortsbestimmung per Satellit . . . . . . . . . . . . . . . . . . . . 8 3.1.3 Mobilfunkbasierte Möglichkeiten der Ortsbestimmung . . . . . . 11 3.1.4 Übersicht über die verschiedenen Möglichkeiten . . . . . . . . . 12 Von Koordinaten zum Ort . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Anwendungen für den öffentlichen Verkehr 4.1 4.2 8 15 Voraussetzungen und Möglichkeiten . . . . . . . . . . . . . . . . . . . . 15 4.1.1 Fernverkehr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1.2 Nahverkehr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1.3 Sightseeing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Vorhandene Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.1 HEAG Verkehrs-GmbH Darmstadt . . . . . . . . . . . . . . . . 17 4.2.2 Berliner Fenster . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.3 TRAIN-INFOSCREEN Hamburg . . . . . . . . . . . . . . . . . 18 4.2.4 Fahrinfo SMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.5 Electronic-Onboard-Ticketing Uni Augsburg . . . . . . . . . . . 19 1 Inhaltsverzeichnis 5 LBS4FIBB und TrainGuide 5.1 5.2 5.3 5.4 5.5 Vorstellung des Projektsystems . . . . . . . Analyse und Design . . . . . . . . . . . . . 5.2.1 Anforderungsanalyse . . . . . . . . 5.2.2 Bildschirmübersicht . . . . . . . . 5.2.3 Programmablauf für den Nutzer . . Programmaufbau . . . . . . . . . . . . . . 5.3.1 Positioning . . . . . . . . . . . . . 5.3.2 Anwendungsarchitektur . . . . . . Die einzelnen fertigen Module . . . . . . . 5.4.1 Datenbank . . . . . . . . . . . . . 5.4.2 LBS4FIBB . . . . . . . . . . . . . 5.4.3 TrainGuide . . . . . . . . . . . . . 5.4.4 Administrationsseite für LBS4FIBB 5.4.5 Übersichtskarte . . . . . . . . . . . Standort bestimmen Ausblick für LBS4FIBB und TrainGuide . . 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 21 23 23 24 24 25 27 28 29 32 34 34 . . . . . . . . . . . . . . . . 35 6 Schlussbetrachtung 37 Literatur 39 7 Anhang 40 1. Einleitung und Aufbau der Arbeit Diese Arbeit ist im Rahmen einer studienbegleitenden Zusammenarbeit mit dem Technologiezentrum Darmstadt entstanden. Das Technologiezentrum ist eine Business Unit der T-Systems Nova, die wiederum ein Tochterunternehmen der Deutschen Telekom AG ist. Das Thema dieser Arbeit - Location Based Services (LBS) für den öffentlichen Verkehr - hat sich im Verlauf der Praxisphase bei T-Systems entwickelt, wobei die Abkürzung „LBS“ im mobilen Bereich stehender Begriff geworden ist. Mit der Bezeichnung „Öffentlicher Verkehr“ kann zum einen ein Fernverkehrszug, aber auch eine Straßenbahn im Nahverkehr oder ein Bus, der für Sightseeing genutzt wird, gemeint sein. Auch ein Taxi ist ein öffentliches Verkehrsmittel, hier sind LBS aber derzeit noch weniger oder gar nicht von Bedeutung. Vielen Studien sagen LBS in den nächsten Jahren grosse Wachstumschancen voraus, weshalb die Entwicklung von marktfähigen Systemen zur Zeit von vielen Mobilfunkprovidern vorangetrieben wird. Am Anfang der Arbeit steht die Definition wichtiger Begriffe. Hier wird geklärt, was LBS genau sind und welche Vorteile Nutzer daraus ziehen können. Wichtig ist hierbei, gleich am Anfang zu definieren, auf welcher Art von Geräten die Anwendungen laufen sollen. Daher wird der Begriff „Mobiles Endgerät“ geklärt werden, zu dem sich in der Literatur verschiedene Definitionen finden. Schliesslich werden auch Ortungsinstrumente genauso wie die dazu benötigten Koordinatensysteme beschrieben. Im 3. Kapitel wird genauer auf LBS eingegangen. „Worum handelt es sich ?“ und „Wie funktionieren LBS?“ sind hier wichtige Fragen. Darüber hinaus geht es allgemein um 3 Lokalisierungs- und Einsatzmöglichkeiten sowie die Vor- und Nachteile von LBS. Grundlage vieler Lokalisierungsvorgänge sind Koordinatensysteme, von denen aus eine Abbildung in den realen Raum benötigt wird, um dem Nutzer verwertbare Informationen geben zu können. Im Folgenden geht es um konkrete Anwendungsbereiche von LBS für den öffentlichen Verkehr, aufgeschlüsselt nach den verschiedenen Arten von Verkehrsmitteln. Erst wird der Aufbau von Anwendungen allgemein, anschließend unterschiedliche Anwendungensideen im Einzelnen betrachtet. Weiterhin werden in diesem Kapitel unterschiedliche bereits in Benutzung befindliche Anwendung vorgestellt, z.B. die Fahrzeuglokalisierung der Darmstädter HEAG Verkehrs GmbH als einfaches Beispiel für Haltestellenansagen und Terminals an Haltestellen als grundlegende ortsbezogene Dienste. Im darauf folgenden Kapitel steht ein Beispiel aus der Praxis im Vordergrund: Der Demonstrator für Fast Internet in Bus und Bahn und die darauf aufbauende LBS-Anwendung, die Nutzern Ortsinformationen zur Verfügung stellt. Dieses Kapitel fußt direkt auf der Zusammenarbeit mit T-Systems. Insgesamt geht es in dieser Arbeit um bestehende Informationssysteme für den öffentlichen Verkehr. Ihre Funktionsweise und ihr Aufbau werden hier genauso behandelt wie der Versuch gemacht, einen generellen Überblick über bestehende Systeme zu geben. Als Letztes wird ein Versuch gewagt, die kommende Entwicklung abzuschätzen. Im Anhang befindet sich eine CD mit einer Anleitung und aller zur Installation des bei T-Systems entstandenen Systems benötigten Dateien. Selbstverständlich ist hier auch der komplette Sourcecode enthalten. 2. Definitionen 2.1 Location Based Services Location Based Services, auch „Dependent Services“ oder „Ortsbezogene Dienste“ genannt, sind normaler Weise mobile Angebote, die auf den jeweiligen Aufenthaltsort des Nutzers Bezug nehmen. Hjelm schreibt in seinem Buch [Hjel02]: „The concept Location-Dependent Services usually refers to wireless services dependent on a certain location, for example, the location of the requesting mobile station.“ Weiterhin unterscheidet Hjelm zwei verschiedene Typen von Anwendungen: • User-requested • Triggert-Services Bei User-requested Anwendungen bekommt das System einmal die Position übermittelt und generiert dadurch eine passende Information für den Nutzer. Ein Beispiel: • Der Benutzer schreibt eine SMS mit dem Inhalt „Taxi Darmstadt“ • Das System antwortet ihm mit der Nummer eines oder mehrerer lokaler Taxianbieter. Triggert-Services-Anwendungen laufen normalerweise länger und interagieren mit dem Benutzer. Der Server erhält in regelmäßigen Abständen, während die Anwendung läuft, aktuelle Positionsdaten des Nutzers und verarbeitet diese zum Beispiel zu einer Position auf einer Karte oder zu einem Bewegungsprofil. Turowski und Pousttchi ergänzen in ihrem Buch [TuPo04, Seite 73]: 2.2. Mobiles Endgerät 5 „Ortsbezogene Dienste (Location Based Services, LBS) sind Dienste, • die über mobile elektronische Kommunikationstechniken (typischerweise Mobilfunk) zur Verfügung gestellt werden, • für deren Ausführung der aktuelle Standort des dienstaufrufenden Nutzers (und/oder eines anderen Nutzers) bekannt sein muss und • deren Ausführung abhängig von diesem Standort erfolgt.“ Diese Arbeit setzt sich im Speziellen mit Diensten auseinander, die den Aufenthaltsort des Verkehrsmittels, nicht wie die meisten LBS den Ort des Nutzers, als Grundlage nehmen. Weiterhin geht es um Triggert-Services, da der Aufenthaltsort des Verkehrsmittels dem Server (der sich sogar darin befinden kann) durchgängig zur Verfügung steht und der Server somit auf den jeweiligen Aufenthaltsort reagieren kann. 2.2 Mobiles Endgerät In [TuPo04] wird ein mobiles Endgerät hauptsächlich durch zwei Kriterien beschrieben: 1. Allgegenwärtigkeit 2. 1:1-Beziehung zum Nutzer Eines der besten Beispiele hierfür ist das Mobiltelefon. Es ist normalerweise genau einem Benutzer zugeordnet, der es (fast) immer bei sich hat oder zumindest haben kann. Ein Laptop erfüllt diese Kriterien nicht in dem selben Maße, deshalb bezeichnen Turowski und Pousttchi es ausdrücklich nicht als mobiles Endgerät, sondern als Arbeitsplatzrechner [TuPo04, Seite 57], den man zwar leicht mitnehmen kann, der aber zu seiner Einsatzfähigkeit eine gewisse Infrastruktur benötigt. Abweichend hiervon gelten Laptops in dieser Arbeit als mobile Endgeräte. Dies hat folgenden Hintergrund: In vielen Verkehrsmitteln gibt es mittlerweile Anschlüsse, um z.B. Laptops anzuschließen, und mit einer mittleren Akkulaufzeit von drei Stunden kann ein Laptop sinnvoll mobil genutzt werden. Über die oft eingebauten WLAN- oder BluetoothSchnittstellen kann dieser leicht und kostengünstig in ein vorhandenes Netz eingebunden werden. Andere mögliche Endgeräte sind PDA1 , da auf ihren Displays schon einiges an Informationen dargestellt werden kann. Neuere PDA haben WLAN- oder Bluetooth- Schnittstellen und können somit, genau wie Laptops, eingebunden werden. 1 Personal Digital Assistent 2.3. Nutzer 6 Bei Handys und Smartphones sind die Displays sehr klein und Netzanbindungen nicht so leicht möglich, wie bei den beiden oben genannten Geräten. Eine Möglichkeit, diese in ein Netz einzubinden, wäre hier die Infrarotschnittstelle. Aber auch, wenn Infrarotanschlüsse sehr billig sind, wären sehr viele Schnittstellen erforderlich und es gäbe weitere Probleme, z.B. müsste generell eine Sichtverbindung bestehen. Auch eine Anbindung per GPRS oder UMTS ist nicht unproblematisch, da auf der Basis aktueller Gebührenstrukturen hohe Verbindungsentgelte entstehen können und die Zuordnung des Nutzers zu einem bestimmten Verkehrsmittel nicht mehr möglich ist. 2.3 Nutzer Der Nutzer ist ein Fahrgast des öffentlichen Verkehrs, dem es wichtig ist, die Reisezeit sinnvoll zu nutzen und dazu ein mobiles Endgerät zur Verfügung hat. Sein Gerät läßt sich über eine im Fahrzeug vorhandene Schnittstelle mit dem Bordnetz verbinden. Die Schnittstelle kann ein normaler Netzwerkanschluss per Kabel, aber auch WLAN oder Bluetooth sein. 2.4 Öffentlicher Verkehr Der öffentliche Verkehr, auf den sich diese Arbeit bezieht, beinhaltet zunächst alle nicht individuellen Verkehrsmittel, wie z.B. Busse oder Bahnen. Am interessantesten sind sicher Verkehrsmittel, die der Nutzer über einen längeren Zeitraum benutzt, da er beispielsweise in einer S-Bahn, in der er sich nur fünf bis zehn Minuten aufhält, kaum seinen Laptop anschalten wird. 2.5 WGS84 Das WGS84 ist eines von vielen Koordinatensystemen und wird von Winfried Böhm in [Böhm03] wie folgt erklärt: „Das World Geodetic System 1984 ist ein international vereinbartes Bezugssystem, das auf der nur kugelähnlichen Erde[...]einen bestimmten Referenzpunkt definiert, um beliebige andere Punkte positionsmässig festlegen zu können.“ Ein Vorteil von diesem System ist, dass es die ganze Welt umspannt und nicht wie viele andere Koordinatensysteme nur für einen Ausschnitt gebraucht werden kann. Das WGS84 wird oft in Dezimalnotation, aber auch in Gradnotation genutzt. Die meisten GPS-Geräte liefern Gradnotation, da man mit dieser aber nur schwer rechnen kann, wird oft das Dezimalsystem verwendet. Beispiele dazu siehe unten. 2.6. Gauß-Krüger 7 2.6 Gauß-Krüger Das Landesamt für Vermessung und Geobasisinformation Rheinland-Pfalz [LVG04] definiert die Gauß-krüger Koordinaten wie folgt: „Gauß-Krüger-Koordinaten sind ebene rechtwinklige Koordinaten, die aus Rechts- und Hochwert (zweidimensional) bestehen. Die Erdoberfläche -annähernd eine Kugel- muß in eine Ebene abgebildet werden. Hierbei soll die Längen-, Winkel- und Flächentreue möglichst gewahrt werden. Zur Vermeidung störender Abbildungsverzerrungen auf die Gauß-Krüger-Abbildungsebene dürfen die Rechtswerte bestimmte Beträge nicht überschreiten. Es wurden daher Abbildungsstreifen mit einer seitlichen Ausdehnung von drei Längengraden (Meridianstreifensysteme) festgelegt. Der Rechtswert eines Punktes ist dann der senkrechte Abstand vom Mittelmeridian des Abbildungsstreifens. Der Hochwert ist der Abstand des Punktes vom Äquator, gemessen entlang des Mittelmeridians.“ Zum Vergleich: Hauptbahnhof Darmstadt Länge: 49◦ 52’ 36” Breite: 8◦ 37’ 88” WGS84 Dezimal Länge: 49,872738 Breite: 8,631415 Gauß-Krüger Rechtswert: 3473578.97m Hochwert: 5526320.26m WGS84 in Grad 2.7 Points of Interest Punkte, die für den Nutzer interessant sein könnten, nennt man Points of Interest, abgekürzt POI. Interessante Punkte, sind verschiedene Orte, an denen das betreffende Verkehrsmittel direkt oder indirekt vorbeikommt. Hier wird auch die Möglichkeit gegeben, Werbung für lokal Gewerbetreibende einzufügen. 3. Location Based Services 3.1 Möglichkeiten zur Ortsbestimmung Bei der Ortsbestimmung unterscheidet man generell zwei Vorgehensweisen. Findet das Gerät selbst seinen Standort heraus, so benennt man das mit dem englischen Wort positioning, das man nicht mit dem deutschen Wort positionieren verwechseln sollte. Positioning kann z.B. durch ein eingebautes GPS-Gerät erfolgen. Liegt die Ortungsinstanz außerhalb des Geräts, so spricht man von tracking. Dies kann in einem Mobilfunktnetz z.B. durch Abfrage der Cell-ID funktionieren. 3.1.1 Manuelle Eingabe Dies ist die einfachste Art des positionings. Der Nutzer gibt z.B. in einer SMS oder auf einer WAP-Seite seinen Standort an. Diese Art der Positionsbestimmung ist technisch sehr einfach umsetzbar. Bei LBS für den öffentlichen Verkehr ist meist die Position des Fahrzeuges vorrangig. Eine interessante Anwendungsmöglichkeit haben die Berliner Verkehrsbetriebe seit Februar 2004 im Angebot. Mehr dazu im Kapitel 4.2.2. 3.1.2 Ortsbestimmung per Satellit Das bekannteste und am meisten zur satellitengestützten Postitionsbestimmung genutzte System ist GPS. Diese Abkürzung steht für Global Positioning System. Es wurde vom amerikanischen Verteidigungsministerium für eine militärische Nutzung im Ausland entwickelt. Wie der Name schon sagt, handelt es sich hierbei um Positioning, da das Gerät seine Position eigenständig feststellt. Die Geräte empfangen Signale von etlichen - in der Regel 24 - Satelliten, die in einer Höhe von ca. 20.200 km die Erde umkreisen. Die Satelliten sind dabei so angeordnet, dass von fast jedem Punkt der Erde immer mindestens 3.1. Möglichkeiten zur Ortsbestimmung 9 Abbildung 3.1: Satellitenortung aus [Hjel02] vier Satelliten im Sichtbereich liegen. Hierbei gilt: Je näher man am Äquator ist, umso mehr Satelliten liegen erreichbar. Dies bedeutet hier, dass ein Satellit eine direkte Luftlinie zum Empfänger hat. Wolken stören hierbei nicht, aber Wände oder ein Autodach können ein Problem sein. Für die Standortmessung senden diese Satelliten Signale aus, mit denen eine Laufzeitmessung möglich ist. Damit kann der Empfänger die Entfernung zu diesen bestimmen. In den Signalen sind Uhrzeit und Standort enthalten. Mit drei Entfernungen kann man im dreidimensionalen Raum einen Standort bestimmen. Ein vierter Satellit wird zur genauen Zeitabstimmung gebraucht. Die Genauigkeit hängt dabei immer von mehreren Faktoren, wie Abschattung und Reflektionen durch Gebäude und Anzahl der Satelliten im Empfangsbereich, ab. Wenn die empfangenen Signale von einem Gebäude oder einem Berg reflektiert werden, ergeben sich dadurch Verlängerungen der Laufzeit und somit Ungenauigkeiten. Neuere GPS-Empfänger können die Signale von bis zu zwölf Satelliten gleichzeitig empfangen, dadurch wird das Ergebnis verbessert. Die Ausgabe eines GPS-Empfängers geschieht über das NMEA-Protokoll. Dieses Protokoll ist von der „National Marine Electronics Association“ entwickelt und standardisiert worden. Das Protokoll besteht aus Sätzen, die bis zu 82 Zeichen lang sein können, immer mit einem $-Zeichen beginnen und am Ende eine optimale Prüfsumme und ein CR/LF1 haben. 1 Carrige Return/Line Feed = Zeilenumbruch 3.1. Möglichkeiten zur Ortsbestimmung 10 Als Beispiel ein Satz, der während der Erstellung dieser Arbeit aufgezeichnet wurde: $GPRMC,221025.200,A,4952.3667,N,00837.8810,E,0.23,170.85,051103„∗08 Der Reihe nach bedeutet das: GP GPS Empfänger RMC Recommended minimum sentence C = Minimaler Satz 221025 Uhrzeit 22:10:25 A Daten in Ordnung, alternativ V Warnung 4952.3667 Grad nördliche Breite und 837.8810 östliche Länge nach dem WGS84 System 0.23 Geschwindigkeit des Empfängers in Knoten 170.85 Kurs des Empfängers (0 bei Stillstand) Datum 5.11.2003 ∗08 Prüfsumme DGPS DGPS steht für Differential-GPS. Hierbei errechnet eine feststehende Station mit einem genau bekannten Standort einen Fehlerkorrekturwert für jeden einzelnen im Sichtbereich befindlichen Satelliten. Diesen Korrekturwert gibt sie dann per Funk, meist über ein FMRadio-Netzwerk an mögliche DGPS-Empfänger weiter. Diese benutzen den Wert dann, um ihre eigene Position genauer zu bestimmen. Assisted GPS Einem Assisted-GPS (A-GPS) Empfänger wird z.B. von einem Mobilfunkbetreiber beim Anschalten eine ungefähre Schätzung gegeben, wo das Gerät sich gerade befindet. Somit ist dem Gerät in etwa bekannt, wo es die Satelliten suchen muss, und kann dann relativ schnell die vorhandenen Positionsdaten verbessern. Zum Vergleich schafft ein AssistedGPS-Gerät eine Positionsbestimmung innerhalb von etwa einer Minute. Ein Kaltstart eines nicht Assisted-GPS-Gerätes, das somit noch keine möglichen Positionsdaten hat, dauert bis zu zwölf Minuten. A-GPS ist somit eine zweigeteilte oder Hybrid-Lösung. Es ist Tracking und Positioning in einem, da es sowohl geortet wird, als auch selbst seine Position bestimmt. 3.1. Möglichkeiten zur Ortsbestimmung 11 Weitere satelitengestützte Ortungssysteme Alternative satellitengestütze Navigationsysteme sind Glonass und Galileo. Glosnass ist ein System aus Russland, das außerhalb Russlands wenig verbreitet ist. Galileo ist ein Projekt der Europäischen Union, das die Unabhängigkeit vom amerikanischen GPS-System zum Ziel hat. Bis jetzt ist das System noch in der Planung. Bis zur Realisierung werden sicherlich noch einige Jahre vergehen. 3.1.3 Mobilfunkbasierte Möglichkeiten der Ortsbestimmung Hierfür gibt es bereits verschiedene Optionen. Beachten sollte man hierbei, dass diese Daten vom Mobil Service Provider zur Verfügung gestellt werden müssen. Damit ist man erstens abhängig und zweitens ist das aus datenschutzrechtlichen Gründen kritisch zu sehen. Durch die 1:1-Beziehung eines Nutzer zu seinem Handy kann man hier Bewegungsprofile aufnehmen und natürlich auch speichern. Aber dies sei hier nur am Rande erwähnt. Cell-ID und Cell-ID++ Die Ortsbestimmung über Cell-ID ist eine Form des Trackings. Die Technik beruht darauf, dass jeder Nutzer eines Mobilfunkgerätes, der im Netz unterwegs ist, immer in genau einer Zelle angemeldet ist, und zwar meist in der, von deren Antennen er das stärkste Signal empfängt. In einer Datenbank sind nun die Koordinaten des Mittelpunktes der Zelle angegeben. Somit ist der ungefähre Aufenthaltsort des Nutzer bekannt. Die Genauigkeit hängt somit von der Größe der Zelle ab und ist innerhalb von Städten und Ballungsgebieten ca. 100 bis 150 Meter, auf dem Land kann das mehrere Kilometer ausmachen. Manche Zellen sind noch in Einzelstücke unterteilt, sogenannte „sectored cells“ , die es ermöglichen, den Aufenthalt genauer zu bestimmen. Das System nennt man dann Cell-ID++. Observed Time Difference Unter diesem Namen lassen sich zwei sehr ähnliche Verfahren zusammenfassen. Bei Enhanced Observed Time Difference (E-OTD) und Observed Time Difference of Arrival (OTDOA) werden die Entfernungen zu mindestens 3 Antennen gemessen, indem man ähnlich wie bei GPS die Zeit mißt, die die Signale zwischen Antenne und mobilem Endgerät brauchen. Beim E-OTD wird die Messung vom Handy durchgeführt, es stellt die Zeit fest, die die Funksignale von der Basisstation zum mobilen Endgerät benötigen. Somit handelt es sich um Positioning. Im Gegensatz dazu wird beim OTDOA die Zeit gemessen, die Signale vom Handy zu mindestens 3 Basisstationen brauchen. Diese Zeiten werden an eine Measurement-Unit geleitet und dort vom Mobilfunkprovider ausgewertet. Die Ortsinformation ist jetzt nicht mehr im Handy vorhanden, damit ist OTDOA klar ein Tracking-Verfahren. Beide Verfahren erreichen eine Genauigkeit von ungefähr 50 bis 150m. 12 3.1. Möglichkeiten zur Ortsbestimmung Angel of Arrival Angel of Arrival (AOA) ist ein weiteres Ortungssystem: Hier wird durch eine spezielle Antennenkonstellation zu drei verschiedenen Basisstationen der Winkel des ankommenden Signals berechnet. Auch diese Daten werden wieder an eine Measurement-Unit weitergeleitet, diese ermittelt die drei Winkelgeraden, an deren Schnittpunkt sich dann das mobile Endgerät befindet. Die Genauigkeit entspricht der von OTDOA und E-OTD. Da auch hier die Ortung vom Mobile Service Provider durchgeführt wird, ist auch dieses ein Trackingsystem. 3.1.4 Übersicht über die verschiedenen Möglichkeiten Frank Felten von der VIAG Interkom GmbH & Co hat in dem Buch [TeLe02] eine Übersicht über die verschiedenen Lokalisierungsverfahren zusammengestellt: C-ID C-ID++ AOA E-OTD OTDOA GPS A-GPS Netz Netz Netz Hybrid Netz Endger. Hybrid Genauigkeit -- - - + 0 ++ ++ Geschwindigkeit ++ ++ ++ + 0 -- + Abhängigkeit v. Umweltfaktoren s.u. ++ - - + 0 - - Netzwerkseitiger Aufwand ++ ++ 0 0 0 ++ 0 Endgeräteseitiger Aufwand ++ ++ ++ 0 ++ -- -- Netz- oder Endgerätebasiert Legende: ++...beste Leistung, 0...mittlere Leistung, - -...schlechteste Leistung „Zur Abhängigkeit von Umweltfaktoren: Wind, Regen, Vegetation, hohe Gebäude oder besondere topographische Konstellationen können zur Reflexion von Mobilfunksignalen („Multi-Path“-Effekte) oder zur Beeinflussung von Signalstärken führen, die bei den unterschiedlichen Verfahren mehr oder weniger ins Gewicht fallen.“ Aus der Tabelle sieht man deutlich, dass es große Unterschiede bei den verschiedenen Möglichkeiten gibt. Bei der Auswahl einer Positioningart sollte man beachten, dass alle Möglichkeiten, die Daten aus dem GSM-Netz brauchen, nur beim Mobile Service Provider (MSP) vorhanden und so von außerhalb nur schwer zu bekommen sind. Somit bietet sich GPS - oder später Galileo - für den öffentlichen Verkehr an, sobald keine Zusammenarbeit mit einem MSP vorhanden ist. 3.2. Von Koordinaten zum Ort 13 3.2 Von Koordinaten zum Ort Problematisch bei LBS ist es, von Koordinaten zu einem realen Ort zu kommen. Wenn ein System Koordinaten hat, dann weiß es natürlich noch nicht, wie die zugehörige Straße heißt, oder welche POI in der Nähe sind. Die Abstraktion von einem Punkt, ermittelt mit einem der Ortungsverfahren, zu einem bestimmten Ort ist also schwierig. Einfach nur jeden POI in einer Datenbank abzuspeichern, reicht nicht. In diesem Fall würde die Übersetzung von den Koordinaten, die vom Ortungssystem kommen, zum Ort (z.B. Straßennamen) des POI fehlen. Um dieses Problem zu lösen gibt es mehrere Ansätze, von denen zwei hier vorgestellt werden sollen. Die erste Möglichkeit ist, in einer Datenbank zu jedem POI die Koordinaten in einem rechtwinkligen Koordinatensystem abzuspeichern. Dies ist wichtig, damit in regelmäßigen Abständen die Entfernung zu diesem Punkt mit geringem Aufwand berechnet werden kann. Der POI ist dann im Programm zu erwähnen, sollte der berechnete Abstand geringer als ein vorher festgelegter, zu diesem POI spezifischer Radius sein. Da sich der Aufwand linear mit der Anzahl der Punkte vergrößert, funktioniert dieses Verfahren so nur mit einer begrenzten Anzahl von Punkten. Bei einer hohen Anzahl von Punkten müssen diese nach Gebieten sortiert werden. Wenn dem System bekannt ist, dass ein POI sehr weit entfernt ist, dann kann daher auch der Nachbarpunkt nicht viel näher sein. Zur Vereinfachung kann man auch noch für jeden POI jedesmal einen Faktor X berechnen: X (m) = Geschwindigkeit (m/s) * Zeit (s) Sollte die zuletzt errechnete Entfernung abzüglich dieses Faktors größer als der zum POI gehörende Radius sein, so muss die Entfernung nicht neu berechnet werden. Es reicht, das Ergebnis der Subtraktion als Entfernung abzuspeichern. Sollte die Entfernung kleiner als der Radius sein, muss die Entfernung neu berechnet werden, da die Richtung des zurückgelegten Weges nicht bekannt ist. Wichtig hierbei ist, dass die Abwägung, ob die Entfernung zu einem Punkt berechnet wird oder nicht, nicht mehr Rechenzeit kostet, als das Ausrechnen der Entfernung selber. In einem rechtwinkligen Koordinatensystem ist das eine Anwendung des Satzes des Pythagoras, und somit nur ein geringer Aufwand. Eine andere Möglichkeit ist es, mit allen POI einen Nachbarschaftsgraph aufzubauen. Die einzelnen Knoten sind die POI, die verbindenden Kanten stehen für die Nachbarschaftsbeziehung zwischen den Punkten und eventuell der Entfernung. Um die POI vom Ort her besser beschreiben zu können, sollte man eine Bounding Box um diese bilden und diese dann abspeichern. Ein GPS Gerät liefert nicht nur die Koordinaten, sondern auch die 3.2. Von Koordinaten zum Ort 14 Abbildung 3.2: Nachbarschaftsgraph Richtung, in der sich das Fahrzeug bewegt. Somit wäre es sinnvoll, einer Kante auch noch eine Himmelsrichtung als Beschreibung zu geben. Somit kann das System abschätzen in Richtung welches POI sich das Fahrzeug bewegt. Zu erwähnen ist, dass es ein Problem bei allen LBS ist, eine gute Datenbank aufzubauen. Denn so ein System macht nur dann Sinn, wenn es auf eine hohe Anzahl an POI zurückgreifen kann. Und von all diesen POI muss eine genaue Positionsangabe, in dem benutzten Koordinatensystem, gemessen werden. Abschliessend ist darauf hinzuweisen, dass LBS4FIBB auf der vorher gennannten ersten Möglichkeit beruht. 4. Anwendungen für den öffentlichen Verkehr 4.1 Voraussetzungen und Möglichkeiten LBS-Anwendungen im öffentlichen Verkehr können sehr unterschiedlich sein. Die bekannteste ist die Haltestellenansage. Der Server im Fahrzeug erkennt, entweder durch Eingabe des Fahrers oder durch verschiedene Techniken - wie in Kapitel 3 beschrieben -, seinen Aufenthaltsort und weist durch eine Anzeige und/oder eine Lautsprecherdurchsage die Fahrgäste auf die nächste Haltestelle und evtl. Anschlußmöglichkeiten hin. Je nach Verkehrsmittel macht es aber wenig Sinn, eigens dafür einen Computer einzusetzen. In einem Flugzeug z.B. kann dies ganz leicht eine Stewardess oder der Pilot übernehmen, da die Anzahl der Stops sehr gering im Verhältnis zur Zeit ist. Dafür gibt es bei vielen Airlines schon einen Bildschirm im Flugzeug, an dem der Fluggast auf einer Karte die Strecke verfolgen kann. Wichtig für die Akzeptanz eines solchen Systems ist, dass die Investitionen in Zeit und Geld für den Benutzer in einem guten Verhältnis zur Leistung stehen. Einem Fahrgast einer S-Bahn, der die nächsten Haltestellen wissen will, kann man nicht zumuten, seinen Laptop hochzufahren, die Netzwerkeinstellungen vorzunehmen und dann vielleicht noch ein Programm herunterzuladen. Deshalb sollte bei allen Anwendungen, bei denen ein Nutzer sein eigenes mobiles Endgerät nutzt, darauf geachtet werden, dass er am besten nur Standardsoftware braucht, um den Dienst zu nutzen. Optimal ist hier natürlich ein Browser, da auf fast allen Systemen mindestens einer installiert ist. Ein Browser ist eine standardisierte Schnittstelle, die leicht zu benutzen ist. Über einen entsprechend konfigurierten Access Point ist es möglich, auf dem Gerät eine bestimmte Seite zu öffnen, und somit dem Nutzer Dienste direkt zur Verfügung zu stellen. 4.1. Voraussetzungen und Möglichkeiten 16 Die Verbindung des Mobilen Endgerätes sollte über WLAN oder Bluetooth funktionieren. Dies sind Standardprotokolle, die heute den Stand der Technik darstellen. Aber auch eine Verbindung per Netzwerkkabel ist möglich und kann eine gute Ergänzung sein. Bei Verbindungen über Netzwerkkabel oder Bluetooth ist die Reichweite so gering, dass man den Nutzer auch im Verkehrsmittel sehr genau lokalisieren kann, und es somit auch möglich ist, Tickets auf diesem Weg zu kaufen, ohne dass der Nutzer genauere Informationen eingeben muss. Ein Vorteil, den die Uni Augsburg in ihrem Projekt „Electronic-OnboardTicketing1 “ausnutzt. Auch über festeingebaute Bildschirme ist es möglich, dem Fahrgast Informationen zur Verfügung zu stellen. So eine Lösung gibt es z. B. in Berlin mit dem „Berliner Fenster2 “. Dort werden aktuelle Nachrichten, mit Werbung gemischt, in der U-Bahn angezeigt. Sehr angenehm an der Lösung ist, dass sie mit immer zwei zusammengeschalteten Monitoren funktioniert. Auf einem sind die ganz normalen Bilder, auf dem zweiten ist dann ein erläuternder Text dargestellt. Das hat den Vorteil, dass man den Text, der relativ gross sein muss, nicht direkt ins Bild einblendet. Weiterhin wird durch diese Lösung niemand gestört, der sich unterhalten oder lesen will, da eine Audioausgabe verzichtbar ist. Eine Möglichkeit ist es, dem Nutzer ein Terminal zur Verfügung zu stellen. Etwas ähnliches hatte die Deutschen Bahn AG in der ersten Generation der ICEs installiert. Hier hatte der Nutzer die Möglichkeit, sich über Zugverbindungen und andere Angebote der Bahn zu informieren. Wenn man hier dem Nutzer LBS und vielleicht auch noch einen Internetzugang anbietet, könnte eine derartige Möglichkeit einen nützlichen Service darstellen. 4.1.1 Fernverkehr Das wohl größte potenzielle Anwendungsgebiet dürfte sich im Fernverkehr eröffnen. Fahrgäste haben hier mehr Zeit als in anderen Verkehrsmitteln. Eventuelle durch den Nutzer durchzuführende Installationsarbeiten zur Nutzung des Systems sind im Verhältnis zur Fahrt gesehen gering. Fahrgäste haben hier oft das Bedürfnis, sich über Anschlusszüge zu informieren. Beispielsweise wenn der Zug Verspätung hat, oder für Kurzentschlossene, ist es interessant, Informationen über Hotels und Restaurants am Zielort zu bekommen. Aber in Fernverkehrszügen oder -bussen ist es im Gegensatz zu Flugzeugen schwieriger, die Informationen aktuell zu halten, da hier eine durchgehende Internetverbindung aufgrund von z.B. Tunnels oft nicht gegeben ist. Mit diesem Problem setzt sich T-Systems zur Zeit auseinander3 . Im Flugverkehr ist dies einfacher. Über Satelliten und Hochgeschindigkeitsempfgangsund Sendeanlagen wird zur Zeit ein Teil der Flugzeuge mit Internet ausgestattet. Viele Nutzer verbinden genau aus diesem Grund ihr Laptop mit einem Bordsystem. Über die1 siehe Kapitel 4.2.5 Mehr dazu im Kapitel 4.2.2 3 Siehe dazu die Einleitung von Kapitel 5 2 4.2. Vorhandene Lösungen 17 ses können dann auch ohne großen Mehraufwand LBS angeboten werden. 4.1.2 Nahverkehr Im Nahverkehr sind die Anwendungsmöglichkeiten geringer. Wie schon erwähnt, ist hier oft nicht genügend Zeit vorhanden, damit der Nutzer ein eigenes Gerät sinnvoll in das Bordnetz einbinden kann. Es bietet sich also an, Terminals oder Bildschirme, die fest im Verkehrsmittel installiert sind, zu benutzen. Werbung ist hier für lokale Anbieter, die auf Angebote hinweisen wollen, sicherlich interessant. Diese könnte eingespielt werden, sobald sich das Verkehrsmittel in der Nähe des Werbenden befindet. Problematisch sind aber die hohen Kosten für Bildschirme und die Wartung des Systems. 4.1.3 Sightseeing Ein LBS-System ist für die Touristische Nutzung „Sightseeing“ nutzbar. Anwendern kann ein Mobiles Endgerät an die Hand gegeben werden, an dem sie ihre Wunschsprache einstellen können. Über Kopfhörer bekommen sie dann die gewünschten Informationen und können vielleicht sogar noch zwischen verschiedenen Versionen (z.B. Kinder, Erwachsene, Senioren etc.) auswählen. Somit kann eine Sightseeingtour gleichzeitig in verschiedenen Sprachen angeboten werden. Auch kann z.B. ein normaler Stadtbus genutzt werden, der auf seiner Tour an verschiedenen Sehenswürdigkeiten vorbeifährt. Touristen und Pendler können somit einen Bus gleichzeitig nutzen. 4.2 Vorhandene Lösungen Hier soll eine Auswahl von Services für den öffentlichen Verkehr vorgestellt werden. Diese Auflistung ist nicht vollständig, gibt aber einen Überblick über vorhandene Lösungen. 4.2.1 HEAG Verkehrs-GmbH Darmstadt Die HEAG Verkehrs-GmbH aus Darmstadt ist bei der Lokalisierung ihrer Fahrzeuge ein gutes Beispiel. Schon seit einiger Zeit sieht das Unternehmen es als ein wichtiges Ziel, immer einen genauen Überblick über den Aufenthaltsort aller Fahrzeuge ihrer Flotte zu haben. Jede Linie hat einen festen Anfangspunkt. Von diesem Punkt an werden die gefahrenen Meter gemessen. Auf der Strecke gibt es ein bis zwei feste Baken, um eventuelle Fehler zu erkennen und ggf. Korrekturen einzuleiten. Für jede Haltestelle gibt es in einer Datenbank einen dazu passenden Sollwert, der mit dem aktuellen Istwert abgeglichen wird. Es ist also immer bekannt, wie weit es noch bis zur nächsten Haltestelle ist. Alle sieben Sekunden fragt die Leitstelle automatisch diese Daten per Funk ab, und hat 4.2. Vorhandene Lösungen 18 somit immer einen genauen Überblick über die jeweilige Position der Fahrzeuge und etwaige Abweichungen vom Fahrplan. Mit diesen Daten werden dann die Displayanzeigen und Haltestellenansagen im Fahrzeug gesteuert. Gleichzeitig werden die Daten aber auch benutzt, um an größeren Haltestellen wartenden Fahrgästen mitzuteilen, wie lange es noch bis zum Eintreffen des nächsten Busses/der nächsten Straßenbahn einer Linie dauert. Nach eigenen Angaben sind die Lokalisierungsdaten zur Zeit auf etwa 15m genau. Ein Problem ist aber, dass dieses System nur schwer feststellen kann, wenn ein Fahrzeug die Route verlässt. Dies ist erst möglich, wenn das System bemerkt, dass das Fahrzeug an keiner Bake mehr vorbeifährt. Um dieses Problem zu lösen, und um eine höhere Genauigkeit zu erreichen, soll in Zukunft noch in jedes Verkehrsmittel zusätzlich ein GPS-Gerät eingebaut werden. Beide Systeme sollen dann parallel laufen und das Ergebnis weiter verbessern. Weiteres unter www.heag.de 4.2.2 Berliner Fenster Das Berliner Fenster ist ein Projekt der Berliner Fenster GmbH, die eine Tochtergesellschaft der Berliner Verkehrsbetriebe (BVG) ist. Wie in Kapitel 4.1 beschrieben, arbeitet diese Lösung mit einem Zweimonitorsystem ohne Audioausgabe. Die Vorteile liegen darin, dass nicht interessierte Fahrgäste nicht gestört werden, interessierte aber von jedem Sitzplatz aus das Programm verfolgen können. Durch den zweiten Monitor, der nur für Texte genutzt wird, kann die Schrift hinreichend gross sein, ohne Teile des Bildes zu verdecken. Die gegenwärtig installierte technische Lösung läßt keine LBS zu, da in allen Zügen das gleiche Programm gesendet wird. Die Inhalte erreichen per DAB-DMB4 den Zug. Dafür werden die Daten erst in die U-Bahnhöfe übertragen und dann per Lichtwellenleiter, die in den Tunnels installiert sind, zu den Zügen weitergegeben. Auch wenn die Daten in den Zügen zwischengespeichert werden, läuft im Prinzip in allen Zügen das gleiche Programm. Eine Livesendung wäre ohne Probleme möglich. Um LBS anbieten zu können, wird zur Zeit versucht, das System mit der Zentrale des RBL5 zu verbinden. Somit wäre dem System bekannt, wo der Zug sich gerade befindet. Nun könnte man in der Sendezentrale für das Berliner Fenster verschiedene Programme für verschiedene Züge oder Aufenthaltsorte versenden. Zur Zeit laufen, laut Auskunft der Berliner Fenster GmbH, erste Tests in dieser Richtung. 4.2.3 TRAIN-INFOSCREEN Hamburg In Hamburg gibt es ein sehr ähnliches System, wie in Berlin. Hier werden die Daten über WLAN an den Stationen in die Bahn übertragen. Das System ist über die Haltestellenansagen mit der Leitstelle gekoppelt, dadurch ist der Aufenthaltsort bekannt. 4 5 Digital Multimedia Broadcasting Rechnergesteuertes Betriebsleitsystem 4.2. Vorhandene Lösungen 19 Infoscreen kommt mit nur einem Monitor aus, arbeitet aber mit der Haltestellenansage direkt zusammen. Bei Einfahrt in einen Bahnhof wird erst der Stationsname angezeigt. Wenn dies gebucht ist, kann direkt darauf folgend eine Werbung eines lokalen Anbieters gesendet werden. Dies ist für Gewerbetreibende in dem betreffenden Bahnhof sehr interessant, um die Bekanntheit zu erhöhen und auf laufende Aktionen hinzuweisen. Weiter Informationen zum TRAIN-INFOSCREEN unter www.infoscreen-hamburg.de und www.hochbahn.de. 4.2.4 Fahrinfo SMS Ein anderer Service der BVG ist ein ortsbezogener Dienst, der auf die Lokalisierung des Anwenders per manueller Eingabe setzt. Der Kunde schickt eine SMS mit einer eindeutigen Haltestellennummer, an der er abfahren möchte, an den Zentralrechner. Er erhält direkt eine Antwort mit Echtzeitinformationen über die nächsten 5 an dieser Haltestelle abfahrenden Verkehrsmittel. Die Nummer steht an jeder Haltestelle, kann aber auch per WAP abgefragt werden. Kosten entstehen nur für den WAP-Dienst und die versendete SMS zum Standardpreis. Die Antwort-SMS ist zum Zeitpunkt der Erstellung dieser Arbeit kostenlos. Somit ist dies ein sinnvolles System, um an kleinen Haltestellen Anzeigeterminals zu sparen. Mehr Informationen zu diesem Projekt unter: www.bvg.de. 4.2.5 Electronic-Onboard-Ticketing Uni Augsburg Die Uni Augsburg hat zur Cebit 2003 ein System zum Ticketkauf im Zug vorgestellt. Der Nutzer geht zum Bahnhof, und erst wenn er sicher weiß, welchen Zug er erreicht hat, kauft er über seinen PDA im Zug sein Ticket. Dazu muss er sich vorher ein Programm herunterladen, bleibt aber während des ganzen Vorgangs anonym. Seinen PDA verbindet er über Bluetooth mit dem Bordnetz. Somit weiß das System, ob er sich in der 1. oder 2. Klasse befindet, und auch an welcher Station er eingestiegen ist. Der Kunde muss nur noch Zahlungsweise, Ziel der Reise und mögliche Vergünstigungen (BahnCard) auswählen. Sobald er sich das Ticket gekauft hat, bekommt er eine Ticket-ID. Diese ID gibt er an den Schaffner weiter, der dann mit einem eigenen Gerät das Ticket überprüft und entwertet. Bei der Entwicklung wurde nach Auskunft von Professor Dominik Haneberg, einem der Projektleiter, auf die Sicherheit des Systems und Anonymität des Nutzers Wert gelegt. Weiterhin berichtet er, dass die Deutsche Bahn AG bis jetzt kaum Interesse gezeigt hat. Für das Verkehrsunternehmen würde das Projekt grosse Investitionen in Hardware bedeuten. Wahrscheinlich würden mit diesem System viele Nutzer auch erst ein Ticket kaufen, wenn der Schaffner schon in Sicht ist. Somit ist das System für den Kunden sehr interessant, für die Deutsche Bahn aber vorerst nicht. Weitere Informationen im Internet: http://www.informatik.uni-augsburg.de/swt/Publications.htm. 5. LBS4FIBB und TrainGuide 5.1 Vorstellung des Projektsystems LBS4FIBB und TrainGuide bilden zusammen ein Gesamtsystem, welches während meiner Praxisphase im Technologiezentrum der Firma T-Systems entstanden ist. Das System ist eine Erweiterung eines Forschungsprojektes mit dem Ziel, Nutzern des öffentlichen Verkehrs Internet zur Verfügung zu stellen. Der Name des Projekts ist „Fast Internet in Bahn und Bus“ (FIBB). In diesem Projekt wird ein Server, der sich in dem Verkehrsmittel befindet, über unterschiedliche Funktechniken ans Internet angeschlossen. Der Fahrgast kann sich mit seinem Laptop oder PDA mit diesem Server verbinden und somit über das Internet z.B. seine Emails abrufen, aber auch über einen VPN-Client in einem Firmennetzwerk arbeiten. Sollte sich die Verbindungstechnik des FIBB in sein Heimatnetz ändern, merkt der Kunde das nicht (Seamless Handover). Die Anbindung der Nutzer im Zug erfolgt durch WLAN, ist aber auch mit Bluetooth möglich. Wichtig für dieses Projekt ist, dass der Nutzer nur einen Browser auf seinem Gerät braucht, Betriebssystem des Nutzers und Art des mobilen Endgerätes darf keine Rolle spielen. Mit diesem Projekt angesprochene mobile Endgeräte sind genau die Endgeräte wie in Kapitel 2.2 dieser Arbeit definiert. Meine Aufgabe im Rahmen des Praxissemesters war nun, den Nutzern Location Based Services zur Verfügung zu stellen. Beispiele sind hierfür • eine Karte mit Anzeige des jeweiligen Standorts, • Informationen zu in der Nähe liegenden Sehenswürdigkeiten, • Informationen zu den nächsten Haltepunkten, Anschlussverbindungen und eventuell aktuellen Verspätungen, Übernachtungsmöglichkeiten, Veranstaltungen und Restaurants und 5.2. Analyse und Design 21 • Werbung für Geschäfte in der Nähe der nächsten Haltestellen. 5.2 Analyse und Design 5.2.1 Anforderungsanalyse Da es sich bei FIBB zum Zeitpunkt der Erstellung der Arbeit um einen Demonstrator handelt, sollte ein Modul für diesen entwickelt werden, das sich auch zu Vorführungszwecken eignet. Dazu war eine Strecke in Darmstadt auszuwählen, zu der eine Art Cityguide entstehen sollte. Bei der Realisierung gab es Anforderungen aus Sicht eines Nutzers, aus Sicht eines Administrators und allgemeine Anforderungen: Anforderungen aus Sicht des Nutzers: 1. Punkte in der Nähe: Ein Liste soll dem Nutzer aktuell in der Nähe befindliche POI anzeigen 2. Informationen zu den POI: Der Nutzer soll die Möglichkeit haben, Informationen zu den angezeigten POI zu erhalten. Dazu sollen Hyperlinks angezeigt werden, über die er durch Klicken auf externe oder interne Internetseiten gelangt. 3. Audiomodus: Der Nutzer soll die Möglichkeit haben, sich über einen Audiomodus Informationen anhören zu können, eine Art virtueller Stadtführung. Hierbei ist immer der POI entscheidend, dessen Entfernung am geringsten ist. Dieser Audiomodus soll - einmal angeschaltet - automatisch immer zu genau dem am nächsten liegenden POI Informationen abspielen. Dabei soll der Nutzer die Möglichkeit haben, sich die letzten beiden Sequenzen noch einmal anzuhören, aber auch eine Sequenz zu überspringen. 4. Übersichtskarte: Auf der Übersichtskarte wird simuliert, dass der Demonstrator sich nicht wirklich bewegt, und nur eine virtuelle Route entlangfährt. Für eine Demonstration ist es also sinnvoll, dem Betrachter auf einer einfachen Karte zu zeigen, wo sich das System gerade befindet. Anforderungen eines Systemadministrators: 1. POI hinzufügen: Ein Administrator muss mit möglichst wenig Aufwand einen neuen POI in das System aufnehmen können. Dazu gehört, dass das System mit möglichst vielen verschiedenen Koordinatensystemen umgehen kann, und es muss reichen, als Informationen einen externen Link anzugeben. Audioinformationen sind keine Pflicht, können aber ohne Probleme später hinzugefügt werden. Sollte z.B. ein neuer Werbepartner aufgenommen werden wollen, muss das einfach und schnell gehen. 5.2. Analyse und Design 22 2. POI bearbeiten: Änderungen an den Informationen müssen leicht und schnell durchführbar sein. 3. POI löschen: Einen einmal hinzugefügten Punkt sollte man löschen, aber auch deaktivieren können, sollte z.B. ein Werbevertrag auslaufen, oder eine Sehenswürdigkeit geschlossen haben. Abbildung 5.1: Anwendungsfälle des realisierten Systems für Administrator und Nutzer Allgemeine Anforderungen: 1. Browserfähigkeit: Der Nutzer muss keine weiteren Programme auf seinem mobilen Endgerät installieren, eine wichtige Zugangsvoraussetzung zur breiten Akzeptanz des Systemes. 2. Modularer Aufbau: Um diesen Demonstrator später wieder- bzw. weiterverwenden zu können, sollte er aus einfachen wiederverwertbaren Modulen bestehen, die eine hohe Anzahl an Schnittstellen besitzen. 3. Labortauglichkeit: Eine wichtige Voraussetzung für einen Demonstrator ist, dass die Lokalisierungsinformationen von außen anpaßbar sind und dem Demonstrator simulieren, er wäre auf der Strecke. Nur so kann man mit geringem Aufwand auch das System an einem festen Ort außerhalb der Strecke vorführen. 4. Betriebssystem: Auf den Servern im Verkehrsmittel ist als Betriebssystem Linux installiert. Somit müssen auch alle Module hierauf zugeschnitten sein. 5. Minimaler Datenaustausch: Möglichst viele der Informationen sollten auf dem Fahrzeugserver vorhanden sein, um den Traffic mit dem Internet zu minimieren. 5.2. Analyse und Design 23 6. Perpektive: Für spätere Anwendungen (z.B. Flottenmanagement, Übersichtskarte im Internet) ist es sinnvoll, den Aufenthaltsort des Fahrzeuges so zur Verfügung zu haben, dass man über das Internet auf diese Information zugreifen kann. 5.2.2 Bildschirmübersicht Für einen Nutzer, des obenbeschriebenen Systems wird also eine einfache Weboberfläche gebraucht, die vom Aufbau her im Screendiagramm in Abbildung 5.2 gezeigt wird. Hier ist wichtig, dass das Hauptfenster geöffnet bleibt und immer weiter die aktuellen POI anzeigt werden, während Informationen zu einem speziellen POI angezeigt werden. Es wird also automatisch ein weiteres Fenster geöffnet, in dem die beschriebenen Informationen zum ausgewählten POI angezeigt werden. Abbildung 5.2: Screendiagramm TrainGuide Abbildung 5.3 zeigt das schematische Screendiagramm für die Übersichtskarte. Ein Kreis soll auf einer Karte den aktuellen Aufenthaltsort des Fahrzeuges anzeigen. Abbildung 5.3: Screendiagramm Übersichtskarte 5.2.3 Programmablauf für den Nutzer Der Programmablauf für den Nutzer sollte möglichst einfach sein. Wichtig ist hierbei, den Traffic zu minimieren und die Einstellungen, die der Nutzer machen muss, sind möglichst gering zu halten. Deshalb wird darauf verzichtet, ein Programm zu schreiben, das der 5.3. Programmaufbau 24 Nutzer auf seinem mobilen Endgerät installieren muss. Genauso gibt es vorerst kein Java Applet, sondern eine einfach gehaltene HTML-Seite. Ein Applet kann aber später als eine zweite Lösung zur Wahl angeboten werden. Für den Nutzer im ÖPV soll der Ablauf wie folgend aussehen: 1. Der Nutzer verbindet sich mit dem Access Point im Verkehrsmittel und setzt alle dazu notwendigen Parameter in seinen Netzwerkeinstellungen. 2. Sobald die Verbindung besteht, muss der Nutzer sich ggf. authentifizieren, um eine Entgeltabrechnung zu ermöglichen. 3. Der Access Point sendet automatisch seine Startseite an den Browser des Nutzers. Auf dieser Website ist ein Verweis auf „Ortsbezogene Dienste“ . Über diesen Link gelangt der Nutzer zu TrainGuide. 4. In TrainGuide werden dem Nutzer Verweise auf in der Nähe befindliche POI angeboten. 5. Bei Interesse, kann der Nutzer einen Audiomodus anschalten. Das System spielt gespeicherte Audiodateien über den am nächsten liegenden POI ab. Über zwei Schaltflächen (Vor und Zurück), kann der Nutzer die letzten zwei gehörten Audiodateien wiederholen, bzw. die aktuelle Audioinformation überspringen. 5.3 Programmaufbau In diesem Kapitel soll nach und nach der Programmablauf für das Projektsystem entwickelt werden. Doch dazu sollte als Grundvoraussetzung die Art des Ortungssystems ausgewählt werden. 5.3.1 Positioning Die Entscheidung für die Positionierungsart fiel relativ schnell für ein satellitengestütztes Ortungssystem. Da möglichst viele Informationen direkt auf dem Fahrzeugserver vorhanden sein sollen, ist es sinnvoll, die Lokalisierung direkt im Fahrzeug vorzunehmen. Mit einem GPS-Gerät ist dies relativ einfach und ungebunden von Mobile Service Providern. Auch ist bezogen auf ein Fahrzeug, und somit mehrere Nutzer, die Investition in ein GPS-Gerät vergleichbar niedrig, die Größe des Gerätes spielt hier kaum eine Rolle. Das Gerät ist je nach Hersteller etwa 5x5x5 cm groß, angebracht wird es am besten witterungsgeschützt außen am Fahrzeugdach. Dort gibt es keine Abschattungen durch das Fahrzeug selber. Problematisch sind allerdings Hochspannungsleitungen, die in Bereichen von Kreuzungen durch die elektromagnetischen Felder laut einer Studie von T-Systems 25 5.3. Programmaufbau Abbildung 5.4: Übersicht über Klassen und die zugehörigen Schnittstellen zu Störungen führen können. Auch im Bahnhofsbereich, wenn keine Sichtverbindung z.B. durch Dächer zu Satelliten möglich ist, ist eine Ortung teilweise erheblich beeinträchtigt. Diese stören in einem geringen Maße den Empfang des GPS-Gerätes. Da aber der Aufenthaltsort bei relativ hohen Geschwindigkeiten nicht auf den Meter genau seien muss, ist dieses vernachlässigbar. Das Gerät wird z.B. über eine serielle Schnittstelle mit dem Fahrzeugserver verbunden. Für den Demonstrator ist an dem Server ein Rechner angeschlossen, auf dem ein Emulator mit GPS-Daten läuft, die in der Darmstädter Innenstadt aufgenommen wurden. Dieser Emulator ist ein Shellscript, das die Daten (im NMEA-Protokoll) aus einer Textdatei ausliest und dann an der seriellen Schnittstelle ausgibt. Diese muss mit einem Nullmodemkabel mit der seriellen Schnittstelle des Rechners verbunden werden, auf dem GPSD läuft. Ausgelesen wird die serielle Schnittstelle von einem Programm mit dem Namen GPSD. GPSD steht für GPS-Deamon1 und ist ein Programm, das unter der GNU General Public License (GPL) steht. Dieses Programm wertet das NMEA-Protokoll aus, und stellt über einen Telnetport verschiedene Daten wie Geschwindigkeit in Knoten und die Position, dezimal im WGS84 Format, zur Verfügung. Somit sind diese Daten direkt dem Fahrzeugserver, aber auch jedem anderen über Netz angeschlossenen Rechner bekannt. 5.3.2 Anwendungsarchitektur Vom Design her gab es von Anfang an eine Vorraussetzung: Die Graphische Oberfläche sollte genauso wie die Eingabe des Aufenthaltsortes als Adapter gestaltet werden, damit diese leicht austauschbar sind. Die Eingabe wird durch GPSD adaptiert. Dieses verbindet sich mit dem GPS-Gerät und empfängt von diesem die Daten im NMEA2 Format. Über das Telnetprotokoll wird jetzt eine variable Schnittstelle geschaffen. Daraus folgt, dass das GPS-Gerät nicht am selben Gerät angeschlossen sein muss, auf dem auch das System LBS4FIBB läuft. Bei der Oberfläche wird dies durch die Nutzung des Browsers in Verbindung mit HTML erreicht. Die Verknüpfung der Website mit den Ergebnissen der Standorterkennung war 1 Weitere Informationen http://pygps.org/gpsd/gpsd.html 2 siehe Kapitel 3.1.2 dazu unter http://freshmeat.net/projects/gpsd/ und 5.3. Programmaufbau 26 anfangs ein Problem. An dieser Stelle der Planung wurden zwei Konzepte erstellt. Beide wurden nach obengenannten Kriterien bewertet und die besser zu den Anforderungen passende realisiert. Möglichkeit 1 - ohne Datenbank Diese Möglichkeit kommt ohne eine Datenbank aus. Die einzelnen POI werden in einer Textdatei gespeichert. In dieser Datei sind Koordinaten und der Dateiname eines dazugehörigen Shellscriptes zu jedem Punkt abgespeichert. Sobald das Fahrzeug in den definierten Radius eines Punktes fährt, wird diese Datei gestartet. Somit könnte man hiermit eine HTML-Datei anpassen oder updaten. Eine weitere Methode muss aufgerufen werden, sobald der Radius des Punktes verlassen wird, um die Änderungen rückgängig zu machen. Zur Bewertung ist zu sagen, dass diese Möglichkeit leichter zu realisieren ist, da auf eine Datenbank komplett verzichtet werden kann. Eine Installation auf einem System wäre schneller möglich. Aber das System wird schwerer wartbar, da bei einer Änderung im Extremfall alle Shellscriptdateien geändert werden müssen. Auch fehlt hier eine klare Schnittstelle; es ist für externe Programme schwierig, auf den aktuellen Zustand der POI zuzugreifen. Die Modularität des System wäre gefährdet. Auch die nach außen zur Internetseite geforderte klare Schnittstelle ist nicht vorhanden. Möglichkeit 2 - mit Datenbank Möglichkeit Nummer zwei hat eine Datenbank, die einmal zum Verwalten der POI benutzt wird und zweitens zum Speichern der Ergebnisse von LBS4FIBB. Die Website greift direkt auf die Datenbank zu. Damit ist die Datenbank klar die geforderte Schnittstelle, die sehr flexibel mit anderen Programmen genutzt werden kann. Die Wartbarkeit und auch die Möglichkeiten der Erweiterung der Datenbank sind relativ einfach, und damit fiel auch die Entscheidung für Möglichkeit zwei. Die weiteren Einzelheiten dazu werden im folgenden genauer beschrieben. 27 5.4. Die einzelnen fertigen Module Abbildung 5.5: Möglichkeit 1 Abbildung 5.6: Möglichkeit 2 5.4 Die einzelnen fertigen Module Als Teststrecke durch Darmstadt wurde die Straßenbahn Linie 3 ausgewählt. Diese Linie führt an vielen unterschiedlichen, interessanten Punkten wie Hauptbahnhof, Orangerie, Luisenplatz und dem Bessunger Schwimmbad vorbei. Da dieses Projekt „LBS for FIBB“ Location Based Services für Fast Internet in Bus und Bahn zur Verfügung stellen soll, ist der Name LBS4FIBB entstanden. Da sich unter diesem Namen ein möglicher Endnutzer aber möglicherweise nichts vorstellen kann, ist später der Name TrainGuide für die Benutzeroberfläche eingeführt worden. Der Ablauf zwischen den Modulen wird im Sequenzdiagramm in Abbildung 5.7 verdeutlicht. Hier wird noch einmal die zentrale Rolle der Datenbank deutlich. Abbildung 5.7: Sequenzdiagramm für LBS4FIBB und TrainGuide 28 5.4. Die einzelnen fertigen Module 5.4.1 Datenbank Hierbei handelt es sich um eine MySQL-Datenbank, deren Vorteil ist, dass sie eine sehr hohe Anzahl an Schnittstellen zu verschiedenen Programmen hat. Somit kann man per PHP, mit C++, aber auch mit Java z.B. für ein Applet darauf zugreifen. Bei der Entscheidung für die verwendetet Datenbank stand die Modularität und Erweiterbarkeit des Systems im Vordergrund. Die Datenbank hat mehrere Aufgaben. Erstens dient sie zum Verwalten der verschiedenen Points of Interest. Von jedem POI werden hier gespeichert: Spaltenname Typ Beispiel id Name Rechtswert Hochwert Radius Link Audiolink Audiolaenge int(11) varchar(30) double double int(11) varchar(160) varchar(150) int(11) 1 Hauptbahnhof Darmstadt 3473578.97 5526320.26 800 www.bahn.de/.... bahnhofdarmstadt.mp3 55 „Rechtswert“ und „Hochwert“ sind Koordinaten im Gauß-Krüger-System (s. Kapitel 2.6). Somit muss die Umrechnung in dieses System nur einmalig beim Eintragen in die Datenbank geschehen und nicht jedesmal zur Programmlaufzeit. Dies spart Rechenzeit. Mit der Angabe „Radius“ wird festgelegt, ab welcher Entfernung (in Metern) der Punkt angezeigt werden soll. Der Hauptbahnhof ist sicherlich interessanter als eine kleine Haltestelle, somit ist dort der Radius höher zu wählen. „Link“ und “Audiolink“ geben die Positionen an, an denen weitere Informationen vorhanden sind. Beim Audiolink ist dies eine Audiodatei, die abgespielt werden kann. Unter „Link“ wird ein Hyperlink zu einer Website mit weiteren Informationen angeboten. Diese können lokal auf dem Fahrzeugserver, aber auch im Internet vorgehalten werden. „Audiolänge“ gibt die Länge der Audiodatei in Sekunden an. Die zweite Aufgabe der Datenbank ist es, den aktuellen Zustand der Punkte zu verwalten. Dazu gibt es weitere Felder in der gleichen Tabelle: Spaltenname Typ Beispiel status zeit naechster int(11) datetime int(11) 2 2004-01-28 14:39:12 1 5.4. Die einzelnen fertigen Module 29 Unter „Status“ ist der aktuelle Zustand des POI gespeichert. Dabei bedeutet: 0 Verkehrsmittel befindet sich nicht im Radius des POI, 1 Verkehrsmittel fährt in den Radius des POI hinein, 2 Verkehrsmittel befindet sich im Radius des POI und, 3 Verkehrsmittel fährt aus dem Radius des POI heraus. Abbildung 5.8: Mögliche Zustände eines POI In der Variablen „Zeit“ wird gespeichert, wann zuletzt der Status gewechselt hat. Sie ist am Anfang NULL. Somit kann über diese Variable sehr leicht abgefragt werden, ob und wann das Verkehrsmittel sich zuletzt in dem Radius des POI befunden hat. Damit kann im nachhinein die Strecke nachvollzogen werden. „Naechster“ ist auf 1 wenn dieser POI gerade der dem Fahrzeug nächst gelegene Punkt ist. Dies wird für die Audioinformationen benötigt. 5.4.2 LBS4FIBB LBS4FIBB ist das Hauptmodul des Systems und in C++ programmiert. Es fragt nach einem Initialisierungsvorgang die Datenbank ab und speichert alle POI in einem Vector des Typs „Streckenpunkte“, der durch die gleichnamige Klasse entsteht. Dies hat den Vor1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Streckenpunkt { Streckenpunkt(); double hochwert; double rechtswert; double entfernung; int radius; //die vorgegebene Entfernung ab wann der Punkt interessant ist int id; //die ID dieses Punktes aus der Datenbank int status; //2 wenn drin im Radius, 0 wenn draußen int alterstatus; //zum vergleich char name[30]; double entfernungberechnen(double hoch, double rechts); int auslesen(int nr); //aus der Datenbank int eintragenInDB(int gesamtstatus); }; teil, dass die ganze Datenbank (DB) nur einmal abgefragt werden muss und der Traffic zwischen DB und LBS4FIBB minimiert wird. Nun wird alle 2 Sekunden der aktuelle 5.4. Die einzelnen fertigen Module 30 Standort über Telnet bei GPSD abgefragt. Diese Koordinaten werden auch in das GaußKrüger-Koordinatensystem umgewandelt. Der Grund dafür ist, dass das Gauß-KrügerKoordinatensystem auf Rechtwinkligkeit beruht. Somit kann in diesem mit einer einfachen Dreiecksberechung in der Klasse „Streckenpunkte“ zu jedem einzelnen Punkt die Entfernung berechnet werden: 1 double Streckenpunkt::entfernungberechnen(double hoch, double rechts) { 2 entfernung=sqrt(pow((hoch-hochwert),2)+pow((rechts-rechtswert) ,2)); 3 return entfernung; 4 5 }; //entfernungberechnen Dies ist die direkte Anwendung des Satzes des Pythagoras: Entf ernung = q Dif f erenz der Hochwerte2 + Dif f erenz der Rechtswerte2 Aus dem Ergebnis dieser Berechnung wird der Status für jeden Punkt festgelegt, 1 if (entfernung<radius) { 2 if (alterstatus==0 or alterstatus==3) status=1; // 3 reinfahren else status=2; // 4 5 } 6 else 7 if (alterstatus==2 or alterstatus ==1) status=3;//rausfahren 8 else status=0; mit dem zur Zeit abgespeicherten Status verglichen und ggf. in der Datenbank geändert. 1 2 if (status!=alterstatus) { 3 // Dann verändere die Eintragung in der Datenbank 4 MYSQL mysql; 5 mysql_init(&mysql); 6 if (!mysql_real_connect(&mysql,"localhost","lbs4","lbs4fibb"," streckenpunkte",0,NULL,0)) 7 { cerr <<"Verbindung fehlgeschlagen " << mysql_error(&mysql) 8 << endl; 9 } 5.4. Die einzelnen fertigen Module 31 10 char sqlcommand[100]; 11 sprintf(sqlcommand,"UPDATE punkte SET zeit=now(), status = %d where id = %d ",status,id); 12 int a= mysql_query(&mysql,sqlcommand); 13 if (a!= 0) 14 { 15 cout << a ; 16 cerr << "Fehler in der Abfrage\n"; 17 return -1; 18 }; 19 alterstatus=status; 20 mysql_close(&mysql); 21 } Klassendiagramme Abbildung 5.9: Klassendiagramme von LBS4FIBB Insgesamt besteht LBS4FIBB aus drei Klassen. Die Klasse „Streckenpunkt“ verwaltet die POI. Für jeden Punkt in der Datenbank wird ein Objekt dieser Klasse erstellt und über den Vector in der „Main“ verwaltet. In „Alterstatus“ steht immer der aktuelle Status, der auch in der Datenbank eingetragen ist. Der neue Status wird mit der Methode „entfernungberechnen“, die als Parameter den aktuellen Standort bekommt, und dem Radius berechnet. Sobald Status und Alterstatus verschieden sind, muss der Eintrag in der 5.4. Die einzelnen fertigen Module 32 Datenbank geändert werden. Die Klasse „Streckenpunkt“ baut die Telnetverbindung zu GPSD auf, fragt dort regelmäßig den aktuellen Aufenthaltsort ab und rechnet diesen ins Gauß-Krüger-Format um. Die Klasse „Main“ regelt den Ablauf. Sie kontrolliert am Anfang, ob neue POI vorhanden sind und nimmt diese ggf. in die Datenbank mit auf. Danach liest die Klasse den Inhalt der Datenbank in den Vector ein. Weiterhin gibt sie alle zwei Sekunden den Auftrag an die Klasse „Standort“, die Position bei GPSD abzufragen und läßt zu jedem Punkt die Entfernung berechnen. Abbildung 5.9 zeigt eine genauere Übersicht über die drei C++ Klassen und ihre Variablen. 5.4.3 TrainGuide TrainGuide bezeichnet die Oberfläche (GUI) für den Benutzer im Zug und läßt sich in zwei Teilen beschreiben. Zunächst hat der Nutzer eine Liste von Links, über die er sich Informationen zu den in der Nähe befindlichen Punkten holen kann. Der zweite Teil ist der Audiomodus. Hier kann der Nutzer sich Informationen zu dem nächsten POI vorlesen lassen. Er bekommt also eine Art Stadtführung - Sightseeing Online. Die Website (siehe Abbildung 5.10) TrainGuide ist unterteilt in 3 Frames und geschrieben in HTML und PHP. Im oberen Frame ist Platz für die Überschrift, im linken Frame ist eine Übersicht über die in der Nähe befindlichen POI, und im mittleren ist Platz für den Audiomodus (Stadtführung). Die Kombination aus HTML und PHP begründet sich in der Tatsache, dass die Website für alle Browser nutzbar sein soll und es zu keinen Komplikationen mit Java kommen kann. Der Nachteil von HTML ist, dass der Server keine Informationen pushen kann. Die Website muss somit selber regelmäßig die Datenbank nach Änderungen überprüfen. Dies funktioniert regelmäßig über einen refresh, der immer wieder dieselbe Seite aufruft, und die Datenbank abfragt. Die wichtigsten Befehle dieses Frames (verweise.php) sind: 1 2 <meta http-equiv="refresh" content="2; URL=verweise.php" [...] 3 if ($anzahl==0) print "Leider nichts in ihrer Nähe <br><br>"; 4 else print "In Ihrer Nähe befindet sich: <br><br>"; 5 $sql_show ="SELECT name, link FROM punkte where status =1 or status=2;"; 6 $res_show =mysql_query($sql_show) or die(mysql_error()); 7 while($row=mysql_fetch_array($res_show)) 8 { 9 $name = $row[’name’]; 10 $link = $row[’link’]; 5.4. Die einzelnen fertigen Module 11 print" <a href=$link target=’_blank’>[$name]</a> <br>"; 12 } 33 Sobald ein Link angeklickt wird, geht ein neues Fenster mit der gewünschten Internetseite auf. Die Seite TrainGuide bleibt also im Hintergrund erhalten. Der Audiomodus ist ein Zusatzelement, das explizit gestartet werden muss. Für diesen fragt die Website in der Datenbank ab, bei welchem Punkt unter „naechster“ der Eintrag „1“ ist. Zu diesem ist die Entfernung am geringsten. Sollte zu diesem Punkt ein Audiolink vorhanden sein, wird die zugehörige Datei direkt gestartet. Nach der in der Datenbank für diese Datei abgespeicherten Zeit wird die Seite neu aufgerufen und wieder abgefragt, welcher POI jetzt am nächsten ist. Dabei werden die letzten beiden gespielten Audiodateien als Parameter übergeben, damit die gleiche Datei nicht immer wieder abgespielt wird. Sollte keine Datei vorhanden sein, dann wird nach einer gewissen Zeit die Abfrage erneut durchgeführt, bis wieder neue Audioinformationen verfügbar sind. Somit kann keine Datei zweimal hintereinander wiedergegeben werden. Es ist aber möglich, dass eine Datei übersprungen wird, da noch eine andere abgespielt wird, während man an dem zugehörigen Punkt vorbeifährt. Dies ist nötig, damit die laufende Datei nicht unterbrochen werden muss. Die Audiodateien liegen auf dem Webserver. Der genaue Link und der Name der Dateien ist in der Datenbank unter „Audiolink“ vorhanden. Dabei existiert jede Datei zweimal, einmal als mp3 und einmal als wav-Datei, da es beim Testen mit dem Konquerer, einem Browser unter Linux, mit manchen Einstellungen Probleme gab. Standardmäßig werden die mp3-Dateien benutzt; sollte es Probleme geben, hat der Nutzer die Möglichkeit, zur wav-Datei zu wechseln. Abbildung 5.10: Startseite von TrainGuide 5.4. Die einzelnen fertigen Module 34 5.4.4 Administrationsseite für LBS4FIBB Die Administrationsseite dient dazu, um neue Punkte in die Datenbank einzugeben, in der die Punkte nur im Gauß-Krüger-Format stehen. Da die meisten Punkte im WGS84Format vorliegen, ist es angebracht, einem Administrator eine Möglichkeit anzubieten, die Daten in WGS84 einzugeben. Dazu gibt es eine gesonderte Website (siehe Abbildung 5.11). Hier besteht die Möglichkeit, die Daten entweder im Grad- oder im Dezimalformat einzutragen. Die Daten werden in einer zweiten Tabelle in der Datenbank gespeichert. Bei jedem Start überprüft LBS4FIBB, ob neue Daten in dieser Tabelle sind. Diese Daten werden dann umgerechnet ins Gauß-Krüger-Format und in der eigentlichen Tabelle der Datenbank angefügt. Abbildung 5.11: Adminseite für den FIBB 5.4.5 Übersichtskarte Um bei Vorführungen des Systems die Bewegung durch die Stadt zu demonstrieren, ist eine einfache Karte entstanden. Auf dieser Karte bewegt sich, je nach dem, was der GPSEmulator ausgibt, ein blauer Kreis. Dieser markiert, an welcher Stelle sich der Emulator gerade befindet. Die Karte ist mit TCL/TK programmiert, da es relativ schnell ist und es TCL/TK Interpreter sowohl für Linux als auch für Windows gibt. TCL ist eine Programmiersprache für Shellscripte, TK eine Erweiterung für Grafische Oberflächen, die man hiermit sehr einfach und ohne großen Aufwand realisieren. Mit der TCL Erweiterung Expect kann man leicht eine Telnetverbindung aufbauen und Daten abfragen. Da die TK und 5.5. Standort bestimmen Ausblick für LBS4FIBB und TrainGuide 35 Expect Erweiterungen nur schwer gemeinsam laufen, ist das Programm in zwei Teile unterteilt. Ein Teil fragt per Telnet bei GPSD nach den aktuellen Koordinaten und gibt diese als Ergebnis an den zweiten Teil weiter. Dieser ruft periodisch Teil eins auf, und rechnet diese Koordinaten in Bildpunkte um. Mit den Bildpunkten setzte er dann einen Kreis auf eine Karte, die aus einem Stadtplan von Darmstadt kopiert ist. Da die Karte nicht georeferenziert ist, funktioniert diese Umrechnung nur bei genau dieser einen Karte und damit nur in Darmstadt. 5.5 Standort bestimmen Ausblick für LBS4FIBB und TrainGuide LBS4FIBB mit der Oberfläche TrainGuide ist eine Entwicklung in genau die beschriebene Richtung. Als Erweiterung eines mobilen Internetanschlusses wird das System eine Chance zur Akzeptanz haben. Aber man darf nicht vergessen, dass es bis jetzt nur ein Demonstrator ist, dessen Hauptaufgabe es ist zu zeigen, dass LBS mit nicht allzu hohem Aufwand als eine Erweiterung für ein System wie das „Fast Internet in Bahn und Bus“ möglich ist. Um es professionell anwenden zu können, ist über den vorliegenden Demonstrator hinaus noch weitere Entwicklungsarbeit zu leisten. Die hierzu notwendigen Schritte möchte ich in diesem Kapitel noch kurz anreißen. Mögliche Erweiterungen: 1. Grafische Gestaltung der Weboberfläche: Die Oberfläche muss von der Grafik an das Corporate Design von T-Systems angepaßt werden. Diese Aufgabe wird von Grafikern von T-Systems durchgeführt werden. 2. Java Applet als Oberfläche für den Nutzer: Bis jetzt gibt es nur eine HTML Seite. Das hat den Grund, dass diese flexibler ist und von allen Browsern unterstützt wird. Um das System für viele Fahrgäste in einem größeren Netzwerk nutzbar zu machen, sollte es möglich sein, einem Nutzer auch Informationen pushen zu können. Das hätte den Vorteil, das nicht jedes System regelmäßig eine Abfrage nach neuen POI durchführen muss. 3. Aufteilung der Punkte der Datenbank in Regionen: Wenn die Anzahl der POI in der Datenbank zu groß wird, um regelmäßig die Entfernung zu allen zu berechnen, macht es Sinn, die Punkte in Regionen zu unterteilen. Dann muss nur noch die Entfernung zu dem Punkt mit dem höchsten Radius berechnet werden. Ist bei diesem Punkt der Status=0 (also das Verkehrsmittel ist nicht im Radius des Punktes), muss für keinen weiteren Punkt die Entfernung berechnet werden. 5.5. Standort bestimmen Ausblick für LBS4FIBB und TrainGuide 36 4. Variable Karte: Es wurde schon in Kapitel 5.4.5 angesprochen, dass die Karte nicht flexibel genug ist. Eine neue flexiblere Version mit einem größeren Einzugsbereich wird benötigt. 5. Intelligente Umsteigeinformationen: Hierzu sind genaue Informationen über die nächsten Bahnhöfe wichtig. Ein aktueller Abfahrtsplan, wie schon in TrainGuide für den Darmstädter Hauptbahnhof vorhanden, ist hier ein erster Schritt. Aber auch eine Reiseauskunft, die den aktuellen Zug mit einplant und möglichst aktuelle Informationen hat, ist hier von großem Vorteil. Gerade für Kunden, die die Strecken nicht so genau kennen, wäre dies ein interessantes Angebot. 6. Fahrscheinkauf: Für spontan Reisende sicherlich interessant, da oft vor Abfahrt des Zuges keine Zeit für den Fahrscheinkauf mehr vorhanden ist. In Fernverkehrszügen ist es zwar schon möglich, beim Zugbegleiter eine Karte zu kaufen, aber dieser Service kostet auch eine sogenannte Bordgebühr. 6. Schlussbetrachtung Eine Utopie aus dem Alltag : Herr Krüger hat es mal wieder eilig. Er muss als unabhängiger Berater schnell und flexibel auf die Wünsche seiner Auftraggeber reagieren. Ein wichtiger Kunde hat ihn angerufen und braucht dringend seine Hilfe bei einem großen Projekt. Herr Krüger packt schnell seine Sachen. Schon auf dem Weg zum Bahnhof verbindet er sich in der S-Bahn mit seinem PDA über das Bordnetz mit der Fahrplanauskunft und sucht sich eine Verbindung von Frankfurt nach Hamburg aus. Im Zug angekommen, bucht er mit seinem Laptop eine Fahrkarte zulasten seiner Firma - selbstverständlich Bargeldlos. Danach schreibt er seiner Sekretärin eine E-Mail mit dem Inhalt, dass er am flogenden Tag nicht ins Büro kommen wird. Nachdem der Schaffner sein digitales Ticket kontrolliert hat, macht Herr Krüger es sich in seinem Sitz bequem, per Kopfhörer hört er ein paar Zahlen, Fakten und Geschichten über die Landschaft an, durch die er gerade fährt. Kurz wird er zwischendurch gestört. Das Bordsystem teilt ihm über seinen Kopfhörer mit, dass er verspätungsbedingt seinen geplanten Anschlußzug in Hannover nicht erreichen wird. Aber eine neue Verbindung wird ihm direkt auf seinem Bildschirm angezeigt. Kurz vor der Ankunft bucht Herr Krüger sich noch ein Hotel in Bahnhofsnähe für die Nacht und reserviert einen Tisch im gegenüberliegenden Restaurant, in dem er sich mit seinen Kunden zum Abendessen treffen will. So oder so ähnlich könnte in ein paar Jahren eine Zugfahrt aussehen. Ortsbezogene Dienste werden durch den Vorreiter Mobilfunk fast so normal wie Telefongespräche sein. Auch in Fahrzeugen des öffentlichen Verkehrs wird es oft Möglichkeiten geben, Location Based Services zu nutzen. Aktuelle Fahrpläne oder auch Verbraucherhinweise, die mittelbar mit 38 dem Verkehrsmittel zu tun haben, werden wie selbstverständlich zur Verfügung stehen. Einfache ortsbezogene Dienste, wie die Haltestellenansage im Nahverkehr, sind uns schon seit mehreren Jahren ein bekanntes Serviceangebot auf unseren Fahrten. Weitere werden sicher dazukommen, aber es stellt sich die Frage, ab wann es sich finanziell lohnt, solche Dienste und die dazugehörige Hardware anzubieten. Meist will man als Anbieter solche Services möglichst schnell in allen Verkehrsmitteln zur Verfügung stellen. Für die Darmstädter HEAG z.B. würde aber ein Monitorsystem nur in den Straßenbahnen pro Bahn mindestens drei Monitore bedeuten. Bei 44 Zugeinheiten im gesamten Netz der HEAG sind das immerhin schon 132 Monitore, an die hohe Anforderungen an Stabilität (Vandalismus!), Helligkeit und Kontraststärke gestellt wird. Dazu kommen Entwicklungskosten und Wartung. Eine hohe Akzeptanz werden ortsbezogene Dienste wohl als Mehrwert zu Internetanschlüssen in Verkehrsmitteln erreichen. An der Entwicklung im Flugverkehr, aber auch bei der Bahn, kann man sehen, dass es vielen Reisenden ein Bedürfnis ist, regelmäßig online sein zu können. Für viele (Buisness-) Kunden stellt es einen erheblichen Mehrwert auf einer Reise dar, wenn sie während der Fahrt mit ihrem Laptop arbeiten und dabei einen Internetanschluss nutzen können. Somit haben sie schon ein mobiles Endgerät angeschaltet und ins Bordnetzwerk integriert. Über gezielte Werbeeinnahmen durch LBS kann dann zumindest ein Teil der Investitionskosten in ein solches Bordnetz refinanziert werden. In Hinblick auf die stürmischen Entwicklungen, die die Nutzung mobiler Endgeräte in wenigen Jahren genommen hat, bedarf es kaum hellseherischer Fähigkeiten, um zu prognostizieren, dass das eingangs als utopisch bezeichnete Szenario - sofern es nicht schon in Teilen existiert - in relativ naher Zukunft Teil unseres Alltages sein wird. Bei aller Euphorie hinsichtlich der Zukunft der Informationstechnologie sollte aber nicht unerwähnt bleiben, dass mit der allgegenwärtigen Verfügbarkeit von Informationen, die durch bestehende oder künftig zu installierende Systeme bereitgestellt werden, auch Risiken und ggf. Gefahren verbunden sind oder sein können, die wir in ihrer Tragweite heute vielleicht noch gar nicht abschließend beurteilen können. Diese können aus den verwendeten Funkübertragungssystemen (Strahlung), aber auch aus der Ortbarkeit der Personen (Datenschutz) resultieren. ***** Literatur [Böhm03] Winfried Böhm. Handbuch der Navigation: Begriffe, Verfahren, Formeln. BusseSeewald, Herford. 2003. [LVG04] Landesamt für Vermessung und Geobasisinformation Rheinland Pfalz. GaußKrüger-Koordinaten. http://www.lverma.rlp.de/wissen.htm. April 2004. [Hjel02] Johan Hjelm. Creating location services for the wireless web: professional developer’s guide. John Wiley & Sons, Inc., New York. 2002. [Oest98] Bernd Oestereich. Objektorientierte Softwareentwicklung: Analyse und Design mit der Unified modeling language - 4. akualisierte Auflage. R. Oldenbourg Verlag, München Wien. 1998. [TeLe02] René Teichmann und Franz Lehner. Mobile Commerce: Strategien, Geschäftsmodelle, Fallstudien. Springer-Verlag, Berlin Heidelberg New York. 2002. [TuPo04] Klaus Turowski und Key Pousttchi. Mobile Commerce Grundlagen und Techniken. Springer-Verlag, Berlin Heidelberg New York. 2004. 7. Anhang Auf der hier beigefügten CD befindet sich der Komplette Sourcecode, der in Zusammenhang dieser Arbeit während meiner Praxisphase bei T-Systems entstanden ist. Weiterhin ist auf der CD eine Installationanleitung für das System und die vorliegende Arbeit als Datei enthalten. 41