Während das Thema Standortverlauf für die meisten Android-Nutzer vertraut klingt, so ist es doch vielleicht für die iOS-Kollegen etwas befremdlich und ich will erstmal mit einer Erklärung beginnen, was das eigentlich ist. Der Google Standortverlauf ist eine Funktion von Google Maps, die fest in das Android-Betriebssystem integriert ist und den Standort eines Gerätes regelmäßig aufzeichnet. Die Standorte werden dann von Google online gespeichert und der Nutzer kann sich auf Wunsch anzeigen lassen, was er am Freitag, 26.03.2022 um 17:35 vermutlich gemacht hat (frei erfundenes Datum, ist bestimmt kein Freitag).
Diese Funktion ist natürlich, vor allem weil sie von Google stammt, ein zweischneidiges Schwert. Auf der einen Seite ist es mehr als nur ein wenig creepy zu wissen, dass Google genau Buch darüber führt, wo man sich so aufgehalten hat in den letzten 10 Jahren und daraus genaue Schlüsse über Alltagsleben, Urlaube und Reisen, Arbeitsplatz, Wohnort, Treffen von Freunden, bevorzugte Restaurants oder Bars und so vieles mehr ziehen kann. Auf der anderen Seite aber ist es auch sehr praktisch, weil sich die Frage, wo man eigentlich damals auf dem zweiten Gamescom-Ausflug am dritten Tag abends Essen war, schnell und einfach beantworten lässt.
Mein Ziel ist es also, ein Logbuch über meine vergangenen Standorte zu führen, ohne dabei aber Kompromisse beim Datenschutz eingehen zu müssen. Ein weiterer Punkt ist, dass die gewählte Variante möglichst wenig Akku verbraucht um nicht anderweitig im Alltag zum Problem zu werden.
Bisher habe ich stets versucht, eine Komplettlösung zu finden und das hatte ich auch bereits: PhoneTrack oder Traccar. Bei PhoneTrack handelt es sich um eine Nextcloud-App zum selbst hosten, die über eine bereitgestellte API das Empfangen von Koordinaten und Metadaten eines Geräts erlaubt und diese dann auf Wunsch speichert und auch auf einer Onlinekarte anzeigen kann. Traccar macht im Grunde das selbe, nur ohne Nextcloud, die Dienste sind sogar teils kompatibel untereinander; so kann man die Traccar-App auch nutzen, um Standorte an PhoneTrack zu senden.
Diese Variante hat eigentlich ganz gut funktioniert, jedoch habe ich mich schwer getan mit dem Akkuverbrauch und der Zuverlässigkeit des Systems. Wenn die Sammelrate von Standorten zu häufig ist, wird jedes Mal zum Finden des Standorts das Gerät geweckt, GPS aktiviert, Position bestimmt, per Internet an den Server gesendet und wieder schlafen gelegt. Wenn man das zu häufig macht, dann ist das Akku natürlich in kürzester Zeit leer. Die Apps ermöglichen hier oft Einstellungen, um das nach Möglichkeit zu verhindern, funktioniert hat das aber nicht immer. Manche der Tracking-Clients für die beiden Systeme haben meine Einstellungen schlichtweg ignoriert. Andere hingegen haben den Standort dann gar nicht mehr korrekt erfasst und die Daten zu selten an den Server gesendet, wodurch die entstehende Karte dann zu ungenau und für mich uninteressant wurde.
Also habe ich begonnen, ein eigenes System aufzubauen, das auf ein wenig Automatisierung, sowie möglichst offene Standards setzt. Da Android im Vergleich zu iOS leider kein vorinstalliertes und gut gebrauchbares "Shortcuts"-System beherrscht, habe ich mich auf die sehr beliebte App "Macrodroid" verlassen. Diese ist leider nicht Open Source, aber genießt bereits seit vielen Jahren Legendenstatus und ich gebe auch gerne die paar Euro für die Pro-Variante aus.
Um die Standorte zu tracken, habe ich ein Makro angelegt, das jede 30 Minuten (gesteuert von der Geräte-Uhr für Präzision und Sparsamkeit) das Aktualisieren des Standorts erzwingt und die daraus erhaltenen Daten dann in einer Variable speichert. Anschließend werden Längen- und Breitengrad von dort genommen und in eine zweite Array-Variable hinzugefügt, die dann vorerst lokal als Standortverlauf dient.
In einem zweiten Schritt wird diese Variable 1x am Tag genommen und in einem eigentlich sehr simplen, in Form eines Makros hingegen doch eher komplizierten Prozess in eine GPX-Datei zusammengefügt und im lokalen Speicher abgelegt. Diese Dateien kann ich dann bei Bedarf mit einem beliebigen Online-Tool oder einer App auf meinem Handy auslesen und bis auf 30 Minuten genau meine Standorte einsehen.
Auf diesem Weg spare ich mir auch das Senden der Standorte via Internet an einen Server, wodurch noch ein wenig Strom gespart werden kann.