Crawlen von GPX Dateien aus Sportstrecken ... - Userpage
Crawlen von GPX Dateien aus Sportstrecken ... - Userpage
Crawlen von GPX Dateien aus Sportstrecken ... - Userpage
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
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