Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Inhaltsverzeichnis  Motivation  Kurzbeschreibung  Benutzte Technologien HTML 5 / Javascript / Geolocation API AJAX PHP MYSQL GPS  Datenbankstruktur.

Ähnliche Präsentationen


Präsentation zum Thema: "Inhaltsverzeichnis  Motivation  Kurzbeschreibung  Benutzte Technologien HTML 5 / Javascript / Geolocation API AJAX PHP MYSQL GPS  Datenbankstruktur."—  Präsentation transkript:

1

2 Inhaltsverzeichnis  Motivation  Kurzbeschreibung  Benutzte Technologien HTML 5 / Javascript / Geolocation API AJAX PHP MYSQL GPS  Datenbankstruktur  Struktur der Anwendung  Benutzerverwaltung  Sammlung und Auswertung der Daten

3 Motivation  Anwendung im Rahmen einer Datenerhebung  Mobilitätsverhalten von Menschen in Aachen  Benötigte Daten: Zweck und Fortbewegungsmittel Länge der Strecke Geschwindigkeiten  Für den Benutzer: Auswertung der Daten für Benutzer sichtbar Beobachtung des eigenen Verhaltens

4 Kurzbeschreibung  Webbasierte Anwendung  Aufzeichnung von Wegen  Anzeige einer Auswertung  Bestimmung der Position mit GPS  Plattformunabhängig Anwendung im Webbrowser  Sprachen: HTML 5, PHP und Javascript  Speicherung in MySQL  Auswertung einzeln, gruppiert und gesamt Authentifizierung per E- Mailadresse und Passwort Aktivierungsmail Clientseite:  HTML 5, Javascript Serverseite:  PHP

5 Technologien  HTML : Hypertext Markup Language Textbasierte Auszeichnungssprache für Inhalte im Internet Interpretiert und dargestellt von Webbrowsern, z.B.: „Internet Explorer“ HTML 5 in Entwicklung, jedoch vom Großteil aller Browser unterstützt  Javascript Scriptsprache für dynamische Webseiten Erweitert HTML um einige Funktionen, z.B.: Eventhandling Syntax ähnlich der von Java  Geolocation API Einführung mit HTML 5 Ermittlung der Position des Gerätes Muss akzeptiert werden vom Benutzer HTML 5 / Javascript / Geolocation API

6 AJAX / JSON / JQuery  Ajax: „Asynchronous Javascript and XML“ Asynchroner Datenaustausch zwischen Browser und Server Keine neue Seite wird aufgerufen Benutzt um GPS Daten zu senden und Statusmeldungen zu empfangen  JSON: „Javascript Object Notation“ Textbasiertes Format für die Codierung von Daten Valides Javascript Vorgefertigte Funktionen zum Codieren und Decodieren in Javascript und PHP vorhanden  Jquery Javascript Bibliothek Vereinfacht die manipulation der Webseite Vereinfacht das versenden von Requests und das Verarbeiten der Antworten

7 PHP  PHP steht für „PHP: Hypertext Processor“  Scriptsprache zum erzeugen von dynamischen Webseiten  Oft serverseitig benutzt  PHP Dateien werden nicht übertragen sondern interpretiert, Ergebniss wird übertragen (Quelle: http://commons.wikimedia.org/wiki/File:PHP_funktionsweise.svg)

8 PHP  Viele Vorteile für dieses Projekt: Unterstützung vieler Datenbanksysteme Als Scriptsprache auch für die AJAX Funktionen zu benutzen Objektorientierung möglich  Rolle in diesem Projekt: Erstellung des HTML – Codes Scripte für Speicherung und Nachladen von Daten Versand von E - Mails

9 MySQL  Ein Auf SQL basierendes relationelles Datenbanksystem  Oft Datenspeicherung für Webanwendungen, oft benutzt mit PHP  Unterteilung in Datenbanken und Tabellen  Daten – definition, -abfrage und – manipulation erfolgen mit der Sprache SQL  Beispielabfrage „SELECT * FROM user WHERE benutzer=‘test‘; ”

10 GPS  GPS steht für „Global Positioning System“  Satelitengestütztes System zur Positionsbestimmung und Zeitmessung  Vorteile: Geräte müssen Daten nur Empfangen Dadurch relativ Stromsparend  Sichtkontakt zu 4 Satteliten  Berechnung der Position anhand der Laufzeit der Signale (Quelle: http://kostenloshandyorten.de/wp-content/uploads/2012/03/handyortung-gps.jpg)

11 GPS  Für Lückenlose Übertragung mindestens 24 Satteliten in der Luft  6 Umlaufbahnen mit mindestens 4 Satteliten  Durchschnittliche Bahnhöfe von 20200 Metern  Geolocation API stellt Längen- und Breitengrade bereit  Breitengrad konstante Länge von 111,12 km  Länge eines Längengrades abhängig vom Breitengrad laenge = 111,12km *cos(Breitengrad)

12 Datenbankstruktur  Tabellen für Folgende Daten: Benutzer Registration Weg- und Zeitdaten Kategorien für Zwecke Kategorien für Fortbewegungsmittel

13 Datenbankstruktur

14 Struktur der Anwendung  Objektorientierter Ansatz  „index.php“ enthält die Logik der Anzeige sowie HTML Grundgerüst  Ist kein Benutzer angemeldet wird das Modul für Login und Registration geladen  Zu ladene Unterseiten werden durch den GET Parameter „id“ benannt z.B.: „index.php?id=start“  Unterseiten werden durch Klassen repräsentiert.  Objekt wird erstellt, HTML – Code durch toString-Methode  Ordner mit PHP Skripten für AJAX Funktionen  Klasse für die Kommunikation mit der Datenbank

15 Benutzerverwaltung  Identifizierung mit E-Mailadresse  Anmeldung: Eingabe der E-Mailadresse und Passwort, Validierung mit Javascript Server überprüft ob E-Mailadresse verfügbar ist Erzeugung eines Aktivierungscodes und Senden eines Aktivierungslinks per E- Mail Speicherung in der Tabelle „activation“ Bei Aktivierung umschreiben der Daten in die Tabelle „user“ Speicherung eines Passworthashes ○ MD5 Hash berechnet aus Passwort + E-Mailadresse  Login Speicherung in PHP Sessionvariable Abfrage von E-Mailadresse und Passwort Berechung des Passworthashes Gibt es einen Datensatz mit passender E-Mailadresse und Passworthash gelingt der Login Sonst erneutes Laden des Loginfensters

16 Sammlung und Auswertung  Javascript fragt eine Aufnahmeid ab und speichert diese versteckt  Beim Aufrufen einer anderen Seite wird diese ID mitgeschickt  So läuft die Aufnahme auf den anderen Unterseiten weiter  Ist die ID gesetzt ist die Aufzeichnung aktiviert  Funktion „navigator.geolocation.watchPosition(Send)“ ruft die Funktion „Send“ bei Positionswechsel auf  Die Funktion „Send“ sendet Koordinaten an Serverskript  Zeitpunkt wird auf dem Server ermittelt um die zu sendenen Daten zu vermindern Starten einer Aufzeichnung

17 Speicherung und Zwischenspeicherung  Zwischenspeicherung in Datei mit Aufnahmeid als Namen  Zeichenkette wird angehängt  Format: „Timestamp;Breitengrad;Längengrad;Höhe][„  Die Semikolons trennen einzelne Daten, die Klammern die Datensätze  Format ermöglicht einfache Trennung der Datensätze bei der Auswertung  Bei Beenden der Aufnahme Speicherung der Rohdaten in der Datenbank zusammen mit übermittelten Daten

18 Auswertung  Zwischenspeicherung von Zweck und Fahrzeug  Datenstring aus der Datei aufspalten, Speichern des ersten Datensatzes  Schleife berechnet die Werte mit den Datensätzen Zeitdifferenz: t =neueZeit – alteZeit (ms) Längengradlänge lgl=111120*cos(Breitengrad) (m) Längengraddifferenzlänge lgd = (neuerLängengrad-alterLängengrad)*lgl (m) Breitengraddifferenzlänge bgd = (neuerBreitengrad-alterBreitengrad)*111120 (m) Höhendifferenz hd=neueHöhe – alteHöhe (m) Wegpunktentfernung d = sqrt( lgd² + bgd² +hd²) (m) Momentane Geschwindigkeit v = d / t * 3,6 *100 (km/h)  Längen werden addiert  Maximaltempo ermittelt  Daten werden in der Datenbank gespeichert und die temporäre Datei gelöscht

19 Anzeige  Tabellenform  Links zu Einzelansichten  Filter für gruppierte Ansichten Erweiter um Durchschnittliche Länge, Zeit und Geschwindigkeit  Filter kombinierbar

20 Fazit  Konzept entwickelt  Details zur Implementation  Anforderungen erfüllt: Mobilität Plattformunabhängigkeit  Durch Objektorientierung leichte Erweiterung möglich  Durch das Speichern der Rohdaten lassen sich auch neue Funktionen auf alte Daten anwenden

21 Quellen  Anne van Kesteren 25.10.2009: HTML 5 differences from HTML 4, Introduction. http://www.w3.org/TR/html5-diff/#introduction  http://www.w3.org/TR/1999/REC-html401-19991224/  W3C HTML 4.01 http://www.w3.org/TR/1999/REC-html401-19991224/  Christian Wenz: Javascript, http://openbook.galileocomputing.de/javascript/  w3schools.com: HTML5-Geolocation http://www.w3schools.com/html/html5_geolocation.asp  Jesse James Garrett: Ajax: A New Approach to Web Applications, http://web.archive.org/web/20080702075113/http://www.adaptivepath.c om/ideas/essays/archives/000385.php  IETF, JSON, http://tools.ietf.org/html/rfc4627  The PHP Group,PHP-Documentation http://www.php.net/docs.php  MySQL: Why MySQL, http://www.mysql.com/why-mysql/  Ron White, Tim Downs (08.07.2008): How Global Positioning Systems Work, http://www.pcmag.com/article2/0,2817,2316534,00.asp


Herunterladen ppt "Inhaltsverzeichnis  Motivation  Kurzbeschreibung  Benutzte Technologien HTML 5 / Javascript / Geolocation API AJAX PHP MYSQL GPS  Datenbankstruktur."

Ähnliche Präsentationen


Google-Anzeigen