Google Standortverlauf visualisiert


Wer wie ich zu den „braven“ Google-Nutzern gehört und schon lange die diversen Dienste nutzt, hat natürlich bereits einen ansehnlichen Datenschatz auf den Servern des kalifornischen Unternehmens angehäuft. Darüber freut sich nicht nur Google (bzw. Alphabet Inc.), ich selbst kann diese Datensätze auch nutzen, z.B. um mir eine Karte meines Bewegungsverlaufs anzufertigen. Dazu benötige ich lediglich die freie Software QGIS und Geduld… je nachdem wie viele Jahre ich das Tracking bereits aktiviert habe. Bei mir haben sich zwischen September 2011 und September 2018 knackige 1,5 Millionen Punkte angesammelt. Unter Standortverlauf könnt ihr euch eure Historie nach Datum sortiert anschauen und überlegen, ob sich ein Download lohnt.

Google ermöglicht unter myaccount.google.com die Kontrolle sämtlicher Google-Produkte. Unter /privacy#takeout könnt ihr in diversen Archiv-Formaten Daten herunterladen, die sich hier angesammelt haben. Sei es zur Kontrolle was Google von euch weiß oder eben zur anderweitigen Verwendung. Fotos, Kommentare, Kontakte, Einkäufe, Fitnessdaten und der Standortverlauf. Rechts daneben muss der Schalter blau sein (die anderen möglichst alle abgewählt) und mit dem kleinen Haken nach unten kann das Dateiformat ausgewählt werden. Ich arbeite gerne mit KML, JSON geht aber auch. Unten auf Weiter klicken und auf der nächsten Seite bestimmen, ob das Archiv als Email an euch geht oder in Google Drive, die Dropbox etc geladen werden soll.

Ihr erhaltet ein Zip in dem sich (in meinem Fall) eine KML befindet, mit Millionen folgender Zeilen:

<when>2017-04-18T15:02:04Z</when>
<gx:coord>13.3557405 52.5454891 0</gx:coord>

Ein Zeitstempel, gefolgt von einer geographischen Koordinate. Da das komplette Datenpaket von einem <gx:Track> … </gx:Track> eingefasst ist, wird QGIS es als eine komplette Linie anzeigen. Sieben Jahre am Stück… Wer möchte, kann das Ganze mit Suchen/Ersetzen im Text-Editor umformatieren, also <Placemark><open>1</open><gx:Track> am Anfang und Ende entfernen und die Zeilen in folgendes Format bringen (und kann den ersten Schritt in QGIS überspringen):

<Placemark><description>2017-04-18T15:02:04Z</description>
<Point><coordinates>13.3557405,52.5454891,0</coordinates></Point></Placemark>

Wer darauf keinen Bock hat, arbeitet in QGIS an dem Problem. Der Vorteil an der obigen Methode ist, dass hier der Zeitstempel in der Punkte-Datei erhalten bleibt. Verbindet QGIS alles zu einer Linie, erhält diese Linie nur eine einzige Zeitangabe.

Wir müssen etwas vorsichtig sein was wir in QGIS mit so großen Datenmengen machen können und was nicht. 1,5 Millionen Punkte extrahieren, Linien zerteilen: kein Thema. Einfach mal eine Tabellenspalte anhängen und mit füllen: nicht machbar, dauert unbeschreiblich lange (Stand: QGIS 3.2.3-Bonn). Wer auf ArcMap zugreifen kann, hat hier bessere Chancen.

Die unbearbeiteten Daten, inkl. aller Aufzeichnungslücken.

Die KML wird einfach in QGIS reingezogen und nach einiger Rödelei auch angezeigt. Wie gesagt, eine riesige Linie oder eben Punkte, je nach Vorbehandlung.

  • Menüpunkt Vektor > Geometrie > Stützpunkte extrahieren: Shape erzeugen, welches nur die Punkte beinhaltet (und ja, ich arbeite mit der deutschen Oberfläche, steinigt mich…)
  • Verarbeitung > Werkzeugkiste anschalten > Vektorgeometrie > Linien sprengen (explode lines): aus der KML ein Shape mit Einzellinien erzeugen

Jetzt haben wir zwei Datensätze: einmal die vielen Punkte (wahlweise mit Datum oder ohne) und sämtliche Verbindungslinien, auch die kilometerlangen zwischen zwei Speicherpunkten (Gerät verliert den Empfang im Flugzeug oder in der U-Bahn oder die Ortung wird ausgestellt).

  • Werkzeugkiste/Verarbeitungswerkzeuge > Vektorauswahl > Nach Ausdruck extrahieren: wir wollen die Linien etwas filtern, darum selbige auswählen und als Ausdruck z.B. „&length < 0.02“ nutzen. Damit werden nur Linien unter 0,02° Länge extrahiert. Das ist eine schwer einzuschätzende Angabe und je nach Ort auf der Erde unterschiedlich. Wer es genauer will: Karte in eine metrische Projektion übertragen (z.B. UTM) und dann per „&length < 1000“ Meter-Angaben nutzen.

Wenn ihr das Gefühl habt, dass die erzeugten Linien eure Bewegungen gut wiedergeben und weder besonders grobe Linien enthalten noch besonders große Lücken aufweisen, könnt ihr euch um die Darstellung kümmern.

  • in den Layereigenschaften der Linien unter Darstellung die Linienfarbe z.B. auf ein helles Orange stellen und die Breite auf 0,2mm stellen
  • unten unter Layerdarstellung den Mischmodus bei Layer und Objekt auf Multiplizieren stellen > einzelne Linien erscheinen dünn und hell, öfter besuchte Strecken werden dunkler
  • bei den Punkten ähnlich vorgehen und den Mischmodus auf Multiplizieren stellen
  • unter Symbol einen einfach Punkt wählen, ebenfalls orange setzen, mit z.B. 0,25mm Größe
  • Wer möchte kann die Punkte nach Alter klassifizieren: oben statt Single Symbol auf Graduated stellen und als Spalte „Zahl“ nutzen, die einfach vom ältesten bis zum aktuellsten Punkt durchzählt. Unten „Gleiches Intervall“ nutzen und z.B. zehn Klassen. Ein Farbverlauf von Hell- bis Dunkelrot lässt ältere Punkte heller erscheinen und zuletzt besuchte Orte deutlicher, auch wenn sie nicht so oft besucht wurden. Einfach mal testen.

Als Kartenhintergrund eignen sich diverse Web-Layer. In der aktuellen QGIS-Fassung können die selbst per Erweiterung nicht so vielseitig hinzugefügt werden. Darum für diese Anleitung nur fix den von mir verwendeten StamenTonerLite-Graustufen-Layer als Datei. Einfach als Layer hinzufügen und evtl. in den Eigenschaften unter Transparenz mit einer eben solchen versehen (hab ich nicht gemacht). WMS googlen, wenn ihr was anderes wollt.

Kommen wir zum Layout. Unter Projekt > Layout Manager ein neues Layout anlegen.

  • links in der Werkzeugleiste „Karte zum Layout hinzufügen“ wählen und im Dokument aufziehen
  • während die Karte angewählt ist, rechts auf Elementeigenschaften gehen und unter Position und Größe das gewünschte Format einstellen, entweder in cm oder in Pixel, je nach Verwendungszweck
  • oben unter Haupteigenschaften wird der Maßstab und das Koordinatensystem (KBS) eingestellt: da Grad (Vorgabe WGS84, EPSG 4326) selten gut aussieht, besser rechts auf die Gitterkugel (KBS) klicken und Pseudo Mercator raussuchen (Filter: 3857)
  • Vorschau aktualisieren und mit dem Werkzeug (linke Leiste) „Inhalt verschieben“ den Kartenausschnitt setzen
  • Wenn die Karte die richtigen Ausmaße hat, kann im Layout-Tab (rechts) unter „Layout- und Inhaltsgröße anpassen“ auf „Layoutgröße anpassen“ geklickt werden. Das Dokument passt sich dann allen Elementen an, in dem Fall also der Kartengröße.
  • Im gleichen Tab muss unter Export die gewünschte dpi (Auflösung, also dots per inch) eingegeben werden. Bei 300dpi wird ein Bild ausgegeben, dass in Verbindung mit der unter Elementeigenschaften eingestellten Größe genügend Pixel für ein Druckprodukt bietet. Wenn das Bild nur an einem klassischen Bildschirm angezeigt wird, könnten hier 96dpi eingestellt werden.
  • Die Maßstabsleiste, Text und Bilder können ebenfalls über die Werkzeugleiste ins Dokument eingefügt werden.

Das wars. Projekt > Export als Bild oder PDF wählen und fertig. Für den schicken blau auf schwarzem Hintergrund Effekt habe ich das Bild im Bildbearbeitungsprogramm meiner Wahl einfach invertiert.

Der Fall des auffällig beweglichen Smartphones. Ein Kollege hat seinen Standortverlauf genau wie ich bearbeitet und ungewöhnliche Ausreißer bemerkt.  An etlichen Stellen sprang eine eigentlich genau auf der Straße verlaufende Linie immer wieder zu seiner Wohnung, hinterließ dort einen Punkt und ging dann an der Straße weiter. In den originalen Punkt-Daten war dieses Phänomen auch zu beobachten. Drei Punkte an der Straße, ein Punkt an der Wohnung, wieder einige Punkte an der Straße. Die Zeiten liefen von Punkt zu Punkt sauber weiter, als würde das Handy immer den Standort wechseln.

Wir wissen bis heute nicht klar warum das so ist, unsere beste Theorie lautet, dass sein Tablet zu Hause, bei dem er mit dem gleichen Google-Konto angemeldet ist, ab und an seine WLAN-Position sendet und Google die Unterscheidung der beiden Geräte, also welcher Punkt zu welchem Gerät gehört, in einem separaten Datensatz vorhält bzw. uns beim Export nicht mitgibt.

Wie auch immer, um das Problem zu lösen, haben wir den Punkte-Datensatz bearbeitet (Digitalisierungswerkzeugleiste > Bearbeitungsstatus umschalten (der Stift)), manuell mit dem kreisförmigen Selektier-Werkzeug einen guten Satz Punkte um die Heimadresse herum selektieren und löschen. Bearbeitung beenden und speichern. In den Verarbeitungswerkzeugen > Vektorerzeugung „Punkte Zu Weg“ wählen und die übrigen Punkte anhand des Sortierungsfelds „Zahl“ wieder zu einer Linie verbinden und oben bei „Linien sprengen“ weitermachen.


Über Martin Vigerske

Hat 2005 sein Diplom und 2008 seinen Master in Kartographie und Geoinformation an der Beuth Hochschule für Technik Berlin (bzw TFH) beendet und arbeitet dort seit 2006 als Technischer Mitarbeiter im Labor für Geomedien.