Bearbeitungsbeginn: 01.04.2015 Vorgelegt am : 31.09.2015 Thesis zur Erlangung des Grades Bachelor of Science im Studiengang OnlineMedien an der Fakultät Digitale Medien Savas Erbas Matrikelnummer: 238091 Bereitstellung von standortbezogenen Informationen für mobile Anwendungen Erstbetreuer: Prof. Dr. Wolfgang Taube Zweitbetreuer: Prof. Christoph Müller Kontakt Savas Erbas E-Mail: [email protected], [email protected] 2 Eidesstattliche Erklärung Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne unzulässige fremde Hilfe angefertigt habe. Alle verwendeten Quellen und Hilfsmittel sind angegeben. Savas Erbas, Emmendingen den 30.09.2015 3 Abstract Durch die Entwicklung neuer Webtechnologien, ist es möglich Web- Applikationen für mobile Endgeräte zu entwickeln, welche dem User aktuelle Standortinformationen ausliest und weiter Informationen über das Umfeld des Users ausgibt. Diese Arbeit zeigt, wie man mit Webtechnologien die genaueste Standortinformation an den User weitergeben kann. Dazu realisiert diese Arbeit, die Möglichkeit über die Ausgabe von Umgebungsinformationen an den User. In dieser Abschlussarbeit wird untersucht, welche Möglichkeiten und Technologien effizienter sind, um die genaueste und schnellste Informationen an den User weiterzugeben. Die Implementierung der Funktionen dieser Arbeit wird in den Programmiersprachen PHP und MySQL vorgenommen. Die Umsetzung der Web-Applikation wird in HTML5 & CSS3 sowie mit jQuery umgesetzt. 4 Inhaltsverzeichnis EINLEITUNG ....................................................................................................................................... 7 MOTIVATION .................................................................................................................................................. 7 GLIEDERUNG ................................................................................................................................................... 8 ZIELE DIESER ARBEIT ......................................................................................................................................... 9 VERWENDETE SOFTWARE .................................................................................................................................. 9 GRUNDLAGEN ................................................................................................................................ 10 INTERNETTECHNOLOGIEN ................................................................................................................................ 10 WEBBROWSER .............................................................................................................................................. 11 STANDORTBESTIMMUNG ................................................................................................................................. 11 KARTENDIENSTE ............................................................................................................................................. 12 PROGRAMMIERSCHNITTSTELLEN ....................................................................................................................... 13 DATENBANKTECHNOLOGIEN ............................................................................................................................. 13 DISTANZBERECHNUNG .................................................................................................................................... 15 VORHANDENE STANDORTBEZOGENE DIENSTE ..................................................................................................... 16 KONZEPT UND ANFORDERUNGEN ................................................................................................ 17 PROBLEMSTELLUNG UND ANFORDERUNGEN ....................................................................................................... 17 ARCHITEKTUR ................................................................................................................................................ 19 NETZWERKSCHNITTSTELLEN ............................................................................................................................. 20 DATENBANKEN .............................................................................................................................................. 21 Tabellenstruktur ................................................................................................................................ 21 Berechnungsinformationen ........................................................................................................... 22 STANDORTBESTIMMUNG UND KARTENANZEIGE ................................................................................................... 23 TECHNISCHE UMSETZUNG.............................................................................................................. 24 ENTWICKLUNGSUMGEBUNG............................................................................................................................. 24 Front-End Entwicklungsumgebung ............................................................................................. 24 Back-End Entwicklungsumgebung ............................................................................................. 25 KARTENANZEIGE ............................................................................................................................................ 26 STANDORTBESTIMMUNG ................................................................................................................................. 28 Standortbestimmung mit Geolocation API ............................................................................... 29 SavePosition Funktion ..................................................................................................................... 30 HighAccuracyErrorPosition Funktion .......................................................................................... 30 ErrorPosition Funktion ...................................................................................................................... 31 Marker Eintragung ........................................................................................................................... 31 STANDORT TRACKING ..................................................................................................................................... 32 STANDORT DATENBANKEN .............................................................................................................................. 35 Datenbanken für die PHP Version ............................................................................................... 35 Datenbanken für die MySQL Version ......................................................................................... 36 Zugriff auf Datenbank ..................................................................................................................... 37 DISTANZBERECHNUNG ................................................................................................................... 41 DISTANZBERECHNUNG MIT PHP ....................................................................................................................... 41 DISTANZBERECHNUNG MIT MYSQL .................................................................................................................. 42 5 SCREEN DESIGN ............................................................................................................................. 45 MONITOR ANSICHT .................................................................................................................................... 45 MOBILE ANSICHT........................................................................................................................................ 46 ZUSAMMENFASSUNG UND AUSBLICK ................................................................................................ 48 LITERATURVERZEICHNIS..................................................................................................................... 49 QUELLENVERZEICHNIS ....................................................................................................................... 50 ABBILDUNGSVERZEICHNIS ................................................................................................................. 52 FORMELVERZEICHNIS ........................................................................................................................ 53 ANHANG ........................................................................................................................................... 54 6 Einleitung Motivation Durch die Weiterentwicklung neuer Webtechnologien, werden dem User und den Entwicklern immer mehr neue Möglichkeiten vorgestellt. Nach der Weiterentwicklung von der Webtechnologie HTML5 und CSS3 und Geolocation API, ist es möglich den aktuellen Standort des mobilen Endgerätes auszulesen. Dazu bietet die Geolocation API die Möglichkeit den Standort zu verfolgen. Diese Technologie wurde in vielen Projekten als Tracking von Endgeräten oder zum Auslesen des Standortes implementiert. Auch MySQL hat mit seiner Version 5.7 einen Schritt in die Entwicklung von standortbezogenen Informationen gemacht. Sie bietet neue Funktionen zur Ermittlung von Standorten. Mit dieser Abschlussarbeit möchte ich eine Web-Anwendungen, welches den Standort des User´s verfolgt und Informationen über das aktuelle Umfeld ausgibt. Es werden vorerst Orte der Hochschule Furtwangen und Umgebung untersucht. Dazu sollen die ersten zehn Orte innerhalb eines eingestellten Radius ermittelt werden. Die Orte innerhalb dieses Radius werden nach Entfernung Sortiert und mit Informationen wie zum Beispiel Name, Vorlesung, Zeit ausgestattet. Es werden Orte wie zum Beispiel Vorlesungsräume und Fakultäten oder Hochschulen Ausgegeben. Als abschließendes Feature soll die aktuelle Position und die Ausgefilterten Orte in der Umgebung in einer Google-Maps Karte auf dem Endgerät angezeigt werden. 7 Gliederung In der vorliegenden Abschlussarbeit wird die Entwicklung einer Web- Anwendung für mobile Endgeräte dokumentiert, welche es ermöglicht, Informationen über den Aktuellen Standort und der Umgebung an den User weiter zugeben. Im zweiten Kapitel, gibt es einen Einblick in die grundlegenden Eigenschaften der verwendeten Programmiersprachen und Techniken. Es werden grundlegende Funktionalitäten der Standortermittlung über Browsertechnologien sowie Datenbanktechniken für Geoinformationssysteme und vorhanden Dienste aufgelistet und vorgestellt. Im dritten Kapitel, werden Anforderungen und der Konzept der Web- Anwendung erläutert. Es werden Verschiedene Schnittstellen untersucht, um herauszufinden welche die genauste ist. Zum Abschluss dieses Kapitels werden Datenbankkonzepte erstellt und die Standortbestimmung mit der Anzeige auf einer Karte dargestellt und erläutert. Nach der Erläuterung der Anforderung und des Konzeptes wird im vierten Kapitel die Technische Umsetzung der entwickelten Software dokumentiert und erläutert. Zuerst werden die Entwicklungsumgebungen erläutert. Danach wird die Standortdatenbank erstellt. Als nächstes wird die Standortbestimmung untersucht und dokumentiert. Nach der Standortbestimmung geht es in diesem Kapitel um das Tracking des Users. Danach soll die Möglichkeit der Darstellung in Google Map´s realisiert werden. Als letzten Schritt in diesem Abschnitt werden die zwei Varianten der Distanzberechnung realisiert und untersucht. Nach dem Kapitel mit der Technischen Umsetzung folgt das fünfte Kapitel, in dem die Umsetzung der Web-Anwendung und Ihre Gestaltung dokumentiert werden. Am Ende der Arbeit soll gezeigt werde, welche zukünftigen Möglichkeiten es in der Standortbestimmung für mobile Anwendungen möglich sind. 8 Ziele dieser Arbeit Die Aufgabe dieser Thesis ist es eine prototypische Web-Anwendung zu entwickeln, in der es möglich ist, dem User Informationen über den aktuellen Standort und Umgebung über einen Webbrowser zu geben. Dazu werden Orte der Hochschule wie, Vorlesungsräume, Fakultäten und Labore in eine Datenbank eingetragen. Als Resultat sollen dem User Informationen, über die Raumbelegung, die innerhalb eines bestimmten Radius befindet, ausgegeben werde. Um diese zu realisieren wird eine Distanzberechnung den Abstand zwischen User und den Räumen in der Datenbank berechnen. In dieser Arbeit wird diese Berechnung in zwei Varianten ermittelt. Einmal mit der MySQL- Technologie und desanderen mit der Programmiersprache PHP. Diese Arbeit untersucht welche Variante die effizientere ist. Verwendete Software Zur Entwicklung der Software und Programmierung wurde „Aptana Studio“ benutzt. http://www.aptana.com/ Die Datenbankprogrammierung wurde mit „MySQL Workbench“ umgesetzt. https://www.mysql.de/ Die Datenbankverwaltung wurde auch teilweise mit „phpMyAdmin“ betätigt. Lokaler Server mit Xampp Als Web-Browser wurden „Google Chorme“ und „Mozilla Firefox“ eingesetzt. Die Grafischen Elemente der Software wurden in „Adobe Photoshop“ gestaltet und umgesetzt. Die Thesis wurde in der Software „Microsoft Office 2013“ geschrieben. 9 Grundlagen Um ein Webanwendung für mobile Endgeräte zu entwickeln, welche die Standortinformationen ermittelt und weiter ausgibt, werden einige Programmier- und Scriptsprachen benötigt. Dazu gibt es unterschiedliche API´s um die Standortbestimmung über eine Webanwendung zu steuern. Um die Standorte zu bearbeiten und wiederzuverwenden, wird eine Datenbank angelegt. Die Anzeige der Standortermittlung läuft über eine Karte ab. Internettechnologien Mit der Erweiterung der Webtechnologie HTML4 auf die Version HTML5 und CSS3 ist es möglich nicht nur Webseiten zu erstellen, sondern auch Anwendung welche in dem Browser laufen, zu Programmieren. Auch das Arbeiten mit Standortinformationen hat sich mit der Zeit weiterentwickelt. Durch die von HTML5 unterstützte Geolocation API, werden Standortinformationen über den Browser bereitgestellt. In dieser Arbeit werden folgen Internettechnologien eingesetzt. HTML5 & CSS3 PHP5 jQuery JavaScript Ajax JavaScript ermöglicht das Verarbeiten der Koordinaten welche von der Geoloaction API ermittelt werden. Die Geoloaction API ist auch eine JavaScript Bibliothek. Mit Ajax werden die Empfangenen Daten an die PHP Datei weitergeleitet. Ajax steht für Asynchronous JavaScript and XML mit dieser Technik werden Inhalten einer Webseite asynchron geladen. Um die Empfangenen Dateien an den Server weiter zu leiten benötigt man eine PHP Daten in der die Verbindung zum Server und weiter Funktionen welche Serverseitig getätigt werden erstellt. 10
Description: