in technospeak

Wo war ich im 2017

Anfangs Jahr ist ein guter Zeitpunkt, um aufs vergangene Jahr zurückzublicken. Das heisst, es gibt mal wieder ein paar nerdige Blogeinträge. Der Rest (wenn er dann kommt) ist unter dem Tag jahresrückblick17 zu finden.

Da ich erst Mitte 2017 herausgefunden habe, dass OpenPaths tot ist (die Daten können nicht mehr exportiert werden, auf Mails und Twitter-Nachrichten reagiert niemand), habe ich mich nach Alternativen umgesehen. Leider erst ab Juli, daher fehlen die Daten der ersten Jahreshälfte…
Nachdem Moves ausgeschieden ist, weil es zu Facebook gehört, und Arc ausgeschieden ist, weil die Batterielaufzeit des Telefons massiv verringert wurde, bin ich bei WHIB gelandet. Dank einem 2$-premium-Feature können alle aufgenommenen Daten als CSV exportiert werden, das macht es möglich, mit ein bisschen Python zu schauen, wo ich mich (in der zweiten Hälfte) 2017 rumgetrieben habe, als ich das Telefon dabei hatte.

Dazu brauchen wir ein paar Bibliotheken

import pandas
import matplotlib.pylab as plt
import seaborn
import folium

Laden wir mal das exportierte File in eine Pandas Tabelle

locations = pandas.read_csv('journey.csv')

Das sieht doch schon mal ganz gut aus, wir haben nämlich 6233 Datenpunkte.

locations.describe()
Crumb Latitude Longitude Altitude (in metres) Accuracy (in metres)
count 6233.000000 6233.000000 6233.000000 6233.000000 6233.000000
mean 3116.000000 46.932620 7.437850 533.149527 125.461736
std 1799.456446 0.067238 0.115774 159.792018 596.847400
min 0.000000 46.434918 7.026148 -43.000000 0.000000
25% 1558.000000 46.935265 7.417971 545.000000 47.000000
50% 3116.000000 46.937312 7.424690 555.000000 65.000000
75% 4674.000000 46.948112 7.433138 558.000000 70.000000
max 6232.000000 47.398817 8.577597 2003.000000 23964.000000

Mit etwas Hilfe von Folium können wir dann diese gut 6000 Datenpunkte auf einer schwarz-weissen Karte darstellen. Damit überhaupt ‘richtig’ etwas zu sehen ist, machen wir eine sogenannte Heatmap, dann ist das Ganze etwas übersichtlicher.

from folium.plugins import HeatMap
xy = [[row['Latitude'], row['Longitude']] for index, row in locations.iterrows()]
m = folium.Map(location=[locations['Latitude'].mean(),
                         locations['Longitude'].mean()], tiles='Stamen Toner', zoom_start=9)
folium.plugins.HeatMap(xy).add_to(m)
m

Schlussendlich sieht das dann so aus; da war ich überall in der zweiten Hälfte vom 2017. Rein- und rauszoomen ist erlaubt und erwünscht :)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.