14.01.2014 Aufrufe

Crawlen von GPX Dateien aus Sportstrecken ... - Userpage

Crawlen von GPX Dateien aus Sportstrecken ... - Userpage

Crawlen von GPX Dateien aus Sportstrecken ... - Userpage

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Projektdokumentation<br />

<strong>Crawlen</strong> <strong>von</strong> <strong>GPX</strong> <strong>Dateien</strong> <strong>aus</strong> <strong>Sportstrecken</strong><br />

Michael Klingen, Carsten Dreßke<br />

klingenm@fu-berlin.de, carsten.dresske@fu-berlin.de<br />

Betreuer: Sebastian Müller<br />

Berlin, 12. September 2013


Zusammenfassung<br />

Ziel dieses Projektseminars war die Entwicklung und Implementierung<br />

eines Programms zum automatisierten Sammeln <strong>von</strong> GPS-<br />

Strecken. Hierzu mussten geeignete Onlinedatenquellen gesucht werden,<br />

deren Funktionsweise ein <strong>Crawlen</strong> zulässt. Im Projektverlauf stellte<br />

es sich als sinnvoll dar, zielgerichtet, nach Fortbewegungsarten selektiert,<br />

Streckendaten zu sammeln, was einer Klassifikation und späteren<br />

Analyse und Auswertung entgegenkommen sollte.<br />

Nachdem eine Auswahl an geeigneten Quellen in die Implementierung<br />

eingebunden worden sind, wurden geeignete Testfälle generiert, die<br />

beispielhaft die Verwendung des Crawlers im Zusammenspiel mit den<br />

einzelnen Onlinequellen zeigen sollten. Dadurch konnte die Funktionsweise<br />

des Crawlers erprobt werden. Das Projekt endete mit einer<br />

Kurzpräsentation in der AG Datenbanken und Informationssysteme.<br />

Eine Ausführung möglicher Erweiterung, welche diskutiert wurden, ist<br />

ebenfalls Bestandteil dieser Projektdokumentation.<br />

Abstract<br />

The development and implementation of an automated crawling<br />

program for GPS sportstracks was one main objective during this<br />

course. Therefore it was necessary to identify suitable online-sources<br />

which allow automated crawling. In the implementation phase of<br />

project a structured classification by movement modes of the data due<br />

to further analyzing purposes became more important. After selecting<br />

and implementing applicable crawling sources test cases were created<br />

a demonstration of the implementation and to illustrate the usage of<br />

the program. The project ended with a presentation in front of the<br />

databases workgroup. In the end this document gives a brief overview<br />

for future extension possibilities.


Inhaltsverzeichnis<br />

1 Aufgabenstellung 1<br />

2 Motivation 1<br />

3 Verwandte Arbeiten 1<br />

4 Projektaufbau 2<br />

5 Probleme 3<br />

6 Datenquellen 3<br />

6.1 Strava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

6.2 GPSies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

6.3 OpenStreetMap . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />

6.4 MapMyTracks . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

7 technische Grundlagen 5<br />

8 Aust<strong>aus</strong>chformate 5<br />

8.1 <strong>GPX</strong> - GPS Exchange Format . . . . . . . . . . . . . . . . . . 5<br />

8.2 CSV - Comma-separated values . . . . . . . . . . . . . . . . . 6<br />

9 Implementierung 7<br />

10 Testszenarios 7<br />

11 Bewertung des Projektverlaufs 10<br />

12 Zusammenfassung 10<br />

13 Ausblick und mögliche Erweiterungen 10


1 Aufgabenstellung Klingen, Dreßke<br />

Einleitung Dieses Projekt wurde im Rahmen des Seminars Datenverwaltung<br />

im Sommersemester 2013 an der Freien Universität in der Arbeitsgruppe<br />

Datenbanken und Informationssysteme angefertigt.<br />

1 Aufgabenstellung<br />

Im Projektverlauf wurde folgende Projektzielsetzung erarbeitet. Ziel des<br />

Projekts war das automatische <strong>Crawlen</strong> <strong>von</strong> Jogging- oder Rennradstrecken<br />

<strong>aus</strong> sozialen Netzwerken oder vergleichbaren Onlinediensten und deren<br />

Transformation in das <strong>GPX</strong> Format. Es sollten gängige Dienste unterstützt<br />

werden. Das <strong>Crawlen</strong> sollte eingeschränkt auf den eigenen Account unter<br />

Berücksichtigung der entsprechenden Policy funktionieren. [Mü]<br />

2 Motivation<br />

Im Gegensatz zu automatisch generierten GPS-Spuren stellen reale Daten<br />

eine praxisnahe Grundlage für weiterführende Auswertung dar. Dabei<br />

müssen ebenso das Fehlverhalten <strong>von</strong> Nutzern, die beispielsweise unzutreffende<br />

oder irreführende Klassifikationen vornehmen, wie auch die Unschärfe<br />

der GPS-Positionsbestimmung mittels handelsüblicher GPS-Empfängern<br />

durch Auswertungsalgorithmen kompensierbar sein. Darüber hin<strong>aus</strong> werden<br />

in der Praxis keine festen Frequenzen zur Aufzeichnung der Positionen verwendet,<br />

was wiederum keine negativen Einflüsse auf die Modellierung haben<br />

sollte.<br />

3 Verwandte Arbeiten<br />

Ein großer Datenbestand an klassifizierten Streckendaten ist für bereits<br />

durchgeführte Projekte des Seminars eine wichtige Datenquelle, um die Güte<br />

der Algorithmen zu verifizieren oder bestehende Klassifizierungsmodell zu<br />

verfeinern. Eine Anwendung ist beispielsweise die automatisierte Erkennung<br />

des Bewegungsmodus anhand <strong>von</strong> GPS-Spuren. [MK]<br />

1


4 Projektaufbau Klingen, Dreßke<br />

4 Projektaufbau<br />

Im folgenden werden die einzelnen Bearbeitungsphasen des Projektes kurz<br />

dargestellt. Neben den Inhalten sind auch die zeitlichen Umfänge aufgeführt.<br />

06.04.2013 Projektstart<br />

Aufgabenname Beschreibung zeitlicher Umfang<br />

Analyse Anforderungen werden definiert. 12 Stunden<br />

Es werden Verfügbarkeit <strong>von</strong><br />

getaggten (Fahr-)Spuren im Internet<br />

überprüft und mögliche<br />

Bezugsquellen lokalisiert.<br />

Proof of Concept Eine Demoapplikation wird entworfen<br />

16 Stunden<br />

die (Fahr-)Spuren <strong>aus</strong> ver-<br />

schiedenen Quellen laden und abspeichern<br />

kann.<br />

07.05.2013 Meilenstein 1<br />

Aufgabenname Beschreibung zeitlicher Umfang<br />

Design<br />

Die Architektur des Crawlers wird 12 Stunden<br />

mittels Klassen- und Sequenzdiagrammen<br />

geplant.<br />

21.05.2013 Meilenstein 2<br />

Aufgabenname Beschreibung zeitlicher Umfang<br />

Implementierung Die geplante Funktionalität wird 60 Stunden<br />

implementiert und getestet.<br />

12.06.2013 Präsentation<br />

Aufgabenname Beschreibung zeitlicher Umfang<br />

Vorstellung der In einer Abschlusspräsentation vor 30 Minuten<br />

Ergebnisse<br />

der Arbeitsgruppe wird der Projektverlauf<br />

reflektiert und die Funktionalität<br />

des Crawlers vorgeführt.<br />

Übergabe der Dokumentation<br />

Tabelle 1: Meilensteine<br />

2


5 Probleme Klingen, Dreßke<br />

5 Probleme<br />

Bei der Analyse der Aufgabenstellung ließen sich folgende Teilfragestellungen<br />

ableiten.<br />

Was sind die Anforderungen?<br />

In Rücksprache wurden folgenden Anforderungen ermittelt und festgehalten.<br />

funktionale Anforderungen<br />

• (Fahr-)Spuren sollen <strong>aus</strong> Onlinequellen gecrawled werden.<br />

• Die Nutzung des Crawlers soll konsolenbasiert unter der Verwendung<br />

eine Reihe <strong>von</strong> definierten Parametern möglich sein.<br />

• Die gecrawlten (Fahr-)Spuren sollen lokal gespeichert werden.<br />

• Der Zielordner zum Speichern der (Fahr-)Spuren kann vom Benutzer<br />

frei gewählt werden. Der Pfad, in dem das Programm liegt ist der<br />

Standard<strong>aus</strong>gabepfad.<br />

• Das Zielformat zum Speichern der (Fahr-)Spuren kann vom Benutzer<br />

gewählt werden. Folgende Formate werden angeboten: <strong>GPX</strong>, CSV.<br />

<strong>GPX</strong> ist der Standard<strong>aus</strong>gabetyp.<br />

nicht funktionale Anforderungen<br />

• GPL v2 Lizenzen dürfen nicht verwendet werden.<br />

Welche Art <strong>von</strong> Quellen sind brauchbar?<br />

Die Datenquellen sollten nach Möglichkeit eine breite Datenbasis mit verschiedenen<br />

Bewegungsmodi darstellen. Eine Abfrage sollte über eine Web-<br />

API durchgeführt werden können.<br />

Wie werden Daten <strong>aus</strong> diesen Quellen abgerufen?<br />

Üblicherweise werden Anfrage an RESTful APIs per http-Requests gestellt.<br />

6 Datenquellen<br />

Dieser Abschnitt soll die Datenquellen, welche als geeignet identifiziert wurden<br />

kurz beschreiben. Die Verfügbarkeit einer API war dabei das primäre<br />

Auswahlkriterium. Der Datenbestand in allen <strong>aus</strong>gewählten Quellen wird<br />

<strong>von</strong> öffentlichen Nutzern generiert und bereitgestellt.<br />

3


6.1 Strava Klingen, Dreßke<br />

6.1 Strava<br />

Ausgehend <strong>von</strong> einer breit angelegten Suche nach geeigneten Datenquellen<br />

wurde zunächst die Lauf- und Radfahrcommunity Strava 1 für geeignet befunden.<br />

Hier findet ein weltweiter Aust<strong>aus</strong>ch <strong>von</strong> Streckendaten zwischen aktiven<br />

Sportlern statt. Die Plattform besitzt eine API, welche in früheren Versionen<br />

Entwicklern <strong>von</strong> externen Applikationen frei zur Verfügung gestellt<br />

wurde. Jedoch wurde innerhalb der Projektlaufzeit eine Versionsumstellung<br />

an der API vorgenommen, so dass eine Nutzung nur nach vorheriger Registrierung<br />

und anschließender Zuteilung eines Developer API-Keys möglich<br />

ist. Diese wurde durchgeführt, jedoch bleib eine Reaktion der Plattformbetreiber<br />

<strong>aus</strong>, was dazu führte, dass ein Test dieser Quelle im Crawler nicht<br />

umgesetzt werden konnte.<br />

6.2 GPSies<br />

GPSies 2 ist eine Plattform zum Aust<strong>aus</strong>ch <strong>von</strong> Streckendaten für verschiedenste<br />

Freizeitaktivitäten. Es bietet einen umfangreichen Datenbestand, welcher<br />

zum Teil mit <strong>aus</strong>sagekräftigen Tags versehen ist. Nach Rücksprache mit dem<br />

Betreiber der Plattform war es möglich, einen API-Key zur Anbindung der<br />

Datenquelle an den zu entwickeldenden Crawler zu erhalten. Dabei wurde<br />

darauf hingewiesen, dass zur Zeit nur limitierte Serverressourcen verfügbar<br />

sein. Eine exzessive Nutzung des Dienstes wird daher vom Betreiber <strong>aus</strong>geschlossen<br />

und führt zur Sperrung des API-Keys. Mit einer Anfrage können<br />

jedoch bis zu 100 <strong>GPX</strong>-Tracks zurückerhalten werden. Als Parameter werden<br />

dabei eine BoundingBox und ein Streckentyp (Bewegungsmodus) verwendet,<br />

was im Hinblick zur späteren Auswertung und Analyse einen Vorteil<br />

gegenüber den anderen Quellen darstellt.<br />

6.3 OpenStreetMap<br />

Das OpenStreetMap 3 Projekt bietet neben weltweitem Kartenmaterial auch<br />

die Möglichkeit zum Aust<strong>aus</strong>ch <strong>von</strong> Streckendaten innerhalb der Karten. Es<br />

handelt sich hierbei ebenfalls um eine sehr umfangreiche Quelle, die über<br />

eine API angesprochen werden kann.<br />

Ähnlich der Arbeitsweise <strong>von</strong> GPSies wird ebenfalls mit einer BoundingBox<br />

zur Eingrenzung des Suchbereiches gearbeitet. Im Gegensatz zu GPSies werden<br />

die Strecken nicht im <strong>GPX</strong>-Format zurückgegeben und müssen daher<br />

geparsed und aufbereitet werden.<br />

1 www.strava.com<br />

2 www.gpsies.com<br />

3 www.openstreetmap.org<br />

4


6.4 MapMyTracks Klingen, Dreßke<br />

6.4 MapMyTracks<br />

Diese Quelle 4 ist wiederum eine Community <strong>von</strong> Rad- und Laufathleten,<br />

die zur gegenseitigen Motivation und zum Erfahrungs<strong>aus</strong>t<strong>aus</strong>ch aktuelles<br />

Trainingsstreckenmaterial <strong>aus</strong>t<strong>aus</strong>chen. Der Dienst bietet eine API. Jedoch<br />

unterscheidet sich der Abruf <strong>von</strong> Daten grundlegend <strong>von</strong> GPSies und Open-<br />

StreetMap. Es ist hier nur möglich auf die Strecken <strong>von</strong> anderen Nutzern<br />

der Community zuzugreifen.<br />

Zu diesem Zweck wird ein “Freundesnetzwerk” unter den Nutzern aufgebaut.<br />

Um nun die Daten der Community zu sammeln, ist ein aktiver Nutzer-<br />

Login notwendig. Testweise wurde ein Login samt personalisierter Authentifizierung<br />

angelegt, der mit aktiven Nutzern Freundesverknüpfungen hergestellt<br />

hat. Man spricht dabei <strong>von</strong> “Followern” anderer Nutzer, die die<br />

Aktivitäten eines Nutzer einsehen können. Auf die Daten anderer Nutzer<br />

konnten somit erfolgreich zugegriffen werden. Ein rekursives Durchsuchen<br />

des Netzwerks ist denkbar.<br />

7 technische Grundlagen<br />

Die Daten werden <strong>von</strong> den diversen Anbietern über so genannten RESTful<br />

Webservices zur Verfügung gestellt. Die Kommunikation mit den einzelnen<br />

Webservices erfolgt mittels HTTP-Requests sowie HTTP-Responses.<br />

Die Strava API 5 , die GPSies API 6 , die OpenStreetMap API 7 und die<br />

MapMyTracks API 8 definieren alle erforderlichen Komponenten für eine<br />

erfolgreiche Kommunikation mit dem entsprechenden Dienst. Auch die Interpretation<br />

der erhalten Antwort wird dort eingehend beschrieben.<br />

8 Aust<strong>aus</strong>chformate<br />

Durch den Auftragssteller des Projekts wurden die Formate zur Persistierung<br />

und zum Aust<strong>aus</strong>ch benannt und Falle des eigenen CSV-Formats definiert.<br />

8.1 <strong>GPX</strong> - GPS Exchange Format<br />

Zur Persistierung und zur Standardisierung beim Aust<strong>aus</strong>ch <strong>von</strong> GPS-Spuren<br />

wurde auf ein weit verbreitetes Format zurückgegriffen. Das <strong>GPX</strong>-Format ist<br />

ein in XML formuliertes Aust<strong>aus</strong>chformat bei dem zusätzlich zu den GPS-<br />

Punkten weitere Metainformationen hinterlegt werden können. Dabei gibt<br />

es verschiedene Erweiterungen des Standards. Die bekannteste wurde durch<br />

4 www.mapmytracks.com<br />

5 http://strava.github.io/api/v3/<br />

6 www.gpsies.com/api/GPSiesAPI.pdf<br />

7 www.openstreetmap.org<br />

8 http://www.mapmytracks.com/about<br />

5


8.2 CSV - Comma-separated values Klingen, Dreßke<br />

den GPS-Gerätehersteller Garmin [Gar] eingeführt.<br />

Im folgenden ist ein kurzes Minimalbeispiel einer <strong>GPX</strong>-Datei gegeben. Dabei<br />

wird am Track (trk) die Metainformation des Namens durch den entsprechenden<br />

Tag hinterlegt. GPS-Spuren können <strong>aus</strong> verschiedenen Segmenten bestehen,<br />

die wiederum <strong>aus</strong>gewählten einzelnen GPS-Punkten bestehen. Zur weiteren<br />

Auswertung ist es notwendig, dass der Aufnahmezeitpunkt des GPS-<br />

Punktes vermerkt wird, was einen Rückschluss auf die Bewegungsgeschwindigkeit<br />

zulässt. Im Beispiel Beispiel wurde zusätzlich die Höhe ü.N.N. erfasst.<br />

<br />

<br />

<br />

Alfeld -Sack - Wehrstedt on GPSies .com <br />

<br />

<br />

141.0 <br />

2010 -01 -01 T24 :00:00Z <br />

<br />

<br />

130.0 <br />

2010 -01 -01 T24 :00:47Z <br />

<br />

<br />

<br />

<br />

Listing 1: <strong>GPX</strong>-Beispiel Listing<br />

8.2 CSV - Comma-separated values<br />

Das Projekt soll als Datenquelle für das in der Vergangenheit im Rahmen<br />

des in der Vergangenheit erstellten Agg2Graph Frameworks dienen. Darin<br />

wurde ein CSV-Format definiert, was im folgenden kurz benannt werden<br />

soll. Die Ausgabe des Crawlers entspricht dieser Struktur.<br />

Type ,<br />

Segment ,<br />

Punkt ,<br />

Breitengrad ( Grad ),<br />

L n g e n g r a d ( Grad ),<br />

H h e (m),<br />

Peilung ( Grad ),<br />

Genauigkeit (m),<br />

Geschwindigkeit (m/s),<br />

Zeit ,<br />

6


9 Implementierung Klingen, Dreßke<br />

Leistung ( Watt ),<br />

Trittfrequenz ( Umdrehungen pro Minute ),<br />

Herzfrequenz ( S c h l g e pro Minute ),<br />

Akkustatus<br />

Listing 2: CSV-Beispiel Listing<br />

9 Implementierung<br />

Die Aufgabe wurde als eine AllInOne-Lösung in Java entwickelt. Java bereitete<br />

die Möglichkeit bereitet neben der konsolenbasierten Eingabe auch die<br />

Logik in einfacher Form umzusetzen. Als Entwicklungsplattform wurde Netbeans<br />

sowie zur Vereinfachung der Logik die Plugins Apache Commons CLI,<br />

Selenium, Apache Commons Compress.<br />

Apache Commons CLI ermöglicht auf einfach Art und Weise eine Verwendung<br />

der über die Konsole eingegebenen Parametern. Da dies für ein konsolenbasiertes<br />

Programm unabdingbar ist wurde hier auf die fertige Bibliothek<br />

zurückgegriffen.<br />

Selenium ist eigentlich als Webtesting Framework gedacht, was ein automatisiertes<br />

Testen einer Webpage ermöglichen soll. Der Ansatz, bzw. die Fähigkeit<br />

sich frei auf einer Webseite zu bewegen und mit ihr in jeder erdenklichen<br />

Form zu interagieren wurde genutzt um benötigte Informationen der Datenquellen<br />

auf ihren Webseiten in Erfahrung zu bringen.<br />

Apache Commons Compress ist eine Sammlung gängiger Kompressionsverfahren.<br />

Da die zu crawlenden <strong>Dateien</strong> rein textbasiert sind und ein gewisser<br />

Teil redundant ist lassen sich die Spuren wunderbar komprimieren und somit<br />

Speicherplatz, Performance und Trac sparen. Einigen Anbieter verteilten<br />

die angefragten Spuren in komprimierter, welche mittels dieser Bibliothek<br />

wieder entpackt wurden.<br />

10 Testszenarios<br />

Im folgenden sollen die mit dem Crawler durchgeführten Funktionstests<br />

näher erläutert werden. Dabei wurden für jede angebundene Datenquelle<br />

zwei Queries erprobt, die sowohl den Export im <strong>GPX</strong>- als auch im CSV-<br />

Format demonstrieren sollen. Ebenso wurden die Möglichkeiten zur Klassifikation<br />

der Bewegungsart anhand <strong>von</strong> Tags berücksichtigt.<br />

7


10 Testszenarios Klingen, Dreßke<br />

Datenquelle 1 - GPSies<br />

Der nachfolgende Aufruf des Crawlers demonstriert die Arbeitsweise des<br />

Crawlers für die Datenquelle GPSies. Zur Nutzung ist ein gültiger API-Key<br />

zwingend notwendig (Parameter k).<br />

java -jar <strong>GPX</strong>Crawler.jar -d 1 -k jpjqggfbhtyyrxyr<br />

-b 10.0,51.0,11.2,52.3 -r dl/gpsies -t jogging<br />

Hierbei werden in einer definierten Boundingbox (Parameter b) alle Tracks<br />

des Typs jogging gesucht und im Anschluss in das Verzeichnis “dl/gpsies”<br />

abgelegt. Darin wird automatisch ein Unterordner jogging angelegt, was die<br />

weiterführende Analyse und Auswertung der Daten erleichtern soll.<br />

Das zweite Beispiel zur Nutzung <strong>von</strong> GPSies zeigt die Verwendung eines<br />

anderen Bewegungsmodus und den Export in das CSV-Format.<br />

java -jar <strong>GPX</strong>Crawler.jar -d 1 -k jpjqggfbhtyyrxyr<br />

-b 10.0,51.0,11.2,52.3 -f csv -r dl/gpsies -t walking<br />

Datenquelle 2 - MapMyTracks<br />

Bei der Verwendung <strong>von</strong> MapMyTracks ist die Übergabe der Nutzerzugangsdaten<br />

erforderlich (Parameter -u -p). Des weiteren wird in diesem Beispiel<br />

die Verwendung des Count-Parameters c demonstriert, mit dessen Hilfe eine<br />

Begrenzung des Suchumfangs möglich ist.<br />

java -jar <strong>GPX</strong>Crawler.jar -d 2 -u gpxTester -p gpxcrawl<br />

-r dl/mmt -c 10<br />

Dieser Aufruf exportiert die Daten im CSV-Format.<br />

java -jar <strong>GPX</strong>Crawler.jar -d 2 -u gpxTester -p gpxcrawl<br />

-f csv -r dl/mmt -c 15<br />

Datenquelle 3 - OpenStreetMap<br />

Die Nutzung <strong>von</strong> OpenStreetMap ist vergleichbar mit GPSies. Einzig die<br />

direkte Auswahl des Tracktyps ist nicht möglich, so dass eine dynamische<br />

Auswertung während des Suchvorgangs <strong>aus</strong>geführt wird, welche eine Klassifikation<br />

der Daten ermöglicht.<br />

java -jar <strong>GPX</strong>Crawler.jar -d 3 -b 10.0,51.0,10.2,51.5<br />

-r dl/osm<br />

Auch hier ist der Export im CSV-Format möglich.<br />

java -jar <strong>GPX</strong>Crawler.jar -d 3 -b 13.0,52.4,13.2,52.6<br />

-f csv -r dl/osm<br />

8


10 Testszenarios Klingen, Dreßke<br />

Ergebnisse der Testszenarios<br />

Die Ausgabedateien der Tests werden in einer übersichtlichen Ordnerstruktur<br />

abgelegt.<br />

#tree -L 3 dl/<br />

dl<br />

gpsies<br />

csv<br />

walking<br />

gpx<br />

jogging<br />

mmt<br />

csv<br />

walk<br />

gpx<br />

walk<br />

osm<br />

csv<br />

unknown<br />

gpx<br />

unknown<br />

car<br />

16 directories, 316 files<br />

Der Umfang der gesammelten Daten betrug bei der Durchführung der Testdurchläufe<br />

316 <strong>Dateien</strong> mit einem Gesamtdatenvolumen <strong>von</strong> 83 MB.<br />

#du -sh dl/<br />

83M dl/<br />

Auf diesem Wege kann somit in kürzester Zeit eine umfangreiche Datenbasis<br />

zur weiterführenden Auswertung gesammelt werden. Projekt<strong>aus</strong>wertung<br />

In diesem Abschnitt sollen einige Punkte und Auffälligkeiten innerhalb der<br />

Bearbeitungsphase des Projektes dargestellt werden, um die eigene Arbeit<br />

zu reflektieren und mögliche, sinnvolle Erweiterungen für künftige Projekte<br />

aufzuzeigen.<br />

9


11 Bewertung des Projektverlaufs Klingen, Dreßke<br />

11 Bewertung des Projektverlaufs<br />

Innerhalb des Projektverlaufs wurde <strong>von</strong> einer zunächst angedachten offline<br />

Anbindung eines Dumps des Datenbestandes <strong>von</strong> OpenStreetMap hin<br />

zu einer online Lösung gewechselt. Dadurch sind jederzeit die aktuellsten<br />

Daten der Datenquelle verfügbar, womit auf den wachsenden Datenbestand<br />

zugegriffen werden kann. Dadurch sind auch künftig eingepflegte Daten für<br />

das Projekt erschlossen. Leider war es nicht möglich, einen API-Key für das<br />

Strava-Projekt zu erhalten. Somit konnte diese Datenquelle nicht getestet<br />

werden. Jedoch wurde eine Anbindung hierzu mit Hilfe der API Dokumentation<br />

implementiert.<br />

12 Zusammenfassung<br />

Alle Anforderungen des Auftragsgebers wurden umgesetzt und konnten in<br />

einer Abschlusspräsentation demonstriert werden. Unter dem Punkt Literaturtests<br />

wurde gezeigt, dass der Crawler unter realistischen und praxisnahen<br />

Einsatzszenarios verwendbare und <strong>aus</strong>wertbare Daten sammelt, was<br />

die primäre Zielsetzung dieses Projektes dargestellt hat. Ebenso wird die<br />

Klassifikation <strong>von</strong> Streckendaten unterstützt, was eine Optimierung der Algorithmen<br />

zur Modellierung der weiterführenden Projekte ermöglicht.<br />

Auf Grundlage dessen kann <strong>von</strong> einer erfolgreichen Projektumsetzung gesprochen<br />

werden.<br />

13 Ausblick und mögliche Erweiterungen<br />

Es wurden zahlreiche externe Libraries in das Projekt eingebunden, was zur<br />

Folge hatte, dass die lauffähige Version des Crawlers eine etwas auffällige<br />

Größe erreicht hat (ca. 50MB). Dadurch ist ein etwas erhöhter Ressourcenverbrauch<br />

bei der Versionierung feststellbar gewesen. Es wäre denkbar, diesen<br />

Overhead zu reduzieren, indem möglicherweise auf einzelne Datenquellen<br />

verzichtet würde. Dies wäre durch Analyse der gelieferten Daten denkbar.<br />

Durch den Wegfall einzelner Libraries könnte die Applikation resourceneffizienter<br />

verwaltet werden.<br />

Darüber hin<strong>aus</strong> wäre eine Anbindung weiterer Datenquellen vorstellbar. Dies<br />

dazu notwendigen Überlegungen und implementationstechnischen Vorgehensweisen<br />

sind in der Kurzdokumentation näher <strong>aus</strong>geführt.<br />

10


Literatur<br />

Klingen, Dreßke<br />

Literatur<br />

[Gar] Garmin. http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd.<br />

[MK] Marc Simons Manuel Kotlarski. Projektseminar -<br />

Erkennung des Mobilitätsmodus (completed 2013, available<br />

from FU internal access). http://userpage.fuberlin.de/semu/intern/2013<br />

project transportation mode.pdf.<br />

[Mü] Sebastian Müller. http://userpage.fu-berlin.de/semu/ps13/.<br />

11

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!