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:

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:

11 GPS  Für Lückenlose Übertragung mindestens 24 Satteliten in der Luft  6 Umlaufbahnen mit mindestens 4 Satteliten  Durchschnittliche Bahnhöfe von 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 adresse  Anmeldung: Eingabe der adresse und Passwort, Validierung mit Javascript Server überprüft ob adresse 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 + adresse  Login Speicherung in PHP Sessionvariable Abfrage von adresse und Passwort Berechung des Passworthashes Gibt es einen Datensatz mit passender adresse 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)* (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 : HTML 5 differences from HTML 4, Introduction.   W3C HTML  Christian Wenz: Javascript,  w3schools.com: HTML5-Geolocation  Jesse James Garrett: Ajax: A New Approach to Web Applications, om/ideas/essays/archives/ php  IETF, JSON,  The PHP Group,PHP-Documentation  MySQL: Why MySQL,  Ron White, Tim Downs ( ): How Global Positioning Systems Work,


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

Ähnliche Präsentationen


Google-Anzeigen