Einen (unechten) Track mit gpsbabel und bikerouter.de erstellen
Home » Equipment » Navigation
Marco von blindschleiche.ch hatte in seinem Blog geschrieben, dass er auf der Suche nach einer neuen Idee zum Tracking von seinen Routen ist. Er hatte mal einen GPS Tracker, nutzt diesen aber nicht mehr (System gekündigt).
Er kennt jemanden, der die in den EXIF-Daten der Bilder gespeicherten GPS-Daten nutzt um sich so nach der Fahrt Routen beziehungsweise einen (»unechten«) Track erstellen zu lassen. Ich habe die Idee aufgegriffen und nach langer Zeit mal wieder GPS-Daten experimentiert, welche ich auf der gestrigen Tour nebenbei erfasst habe.
Das Ziel von Marco ist, eine einfache Dokumentation der Tour für seinen Blog zu erhalten. Oder wie er es formuliert hat: »Sprich, die ausgewählten Bilder nehmen, in einen Topf werfen und das Tool erstellt die Route anhand der Bilder« – genau das habe ich jetzt ausprobiert. 😊
Basis für die Anleitung ist das Bildmaterial von meiner gestrigen Tour. Ich habe 16 Nachweise beim Pässeknacken erbracht und jeder Nachweis ist ein Bild – samt GPS-Daten. Ich habe die Bilder mit meinem Schmarrnfon aufgenommen und zum Glück nicht vergessen, das Geotagging wieder zu aktivieren. Normalerweise habe ich es nämlich deaktiviert.
Als Hardware nutze ich ein handelsübliches Schmarrnfon. Vermutlich gibt es inzwischen kein Gerät mehr, welches keine GPS-Daten abspeichern kann? Auch Systemkameras haben inzwischen häufig GPS-Informationen, daher können erstellte Bilder als Basis für das Tracking verwendet werden.
Als Betriebssystem nutze ich CachyOS, eine auf Arch basierende Linuxdistribution. Die beiden von mir verwendeten Programme gpsbabel (holt mir die GPS-Daten aus den Bildern) und GPXSee (stellt den Inhalt von GPX-Dateien grafisch dar) gibt es aber auch für andere Betriebssysteme. Versorgt sind die Nutzer von Windows, iOS und Linuxdistributionen. Weiterhin habe ich die Website bikerouter.de (berechnet Routen anhand von Waypoints und gespeicherten Tracks oder Routen und erlaubt den Export) verwendet.
Bevor es mit der Anleitung losgeht noch ein wenig Klärung von Begrifflichkeiten und deren Defintionen – und warum es im Deutschen damit schwierig ist.
Ein GPX-Track ist eine detaillierte »Brotkrumenspur« aus vielen, vielen Punkten. Ein Track gibt exakt einen aufgezeichneten (!) Weg 1:1 wieder. Das habe ich zum Beispiel schon bei Fahrten mit dem Auto gemacht und nebenbei die Daten der zur Verfügung stehenden Netze beim Mobilfunk zurückgemeldet. In bestimmten Zeitabständen wurden die GPS-Daten und das Funknetz erfasst und so konnte ein »Track« erstellt werden.
Übersetzt man die beiden Wörter aus dem Englischen wird aus »Track« der Begriff »Strecke«, »Fährte« oder »Spur«. Aus »Waypoint« wird »Wegpunkt« und aus »Route« bleibt – nun ja – »Route«. 😉
Leider werden alle drei Begriffe im normalen deutschen Sprachgebrauch gerne als Synonyme verwendet, das kann verwirren. Darum schreibe ich nicht von »Fährte« sondern immer »Track« und einen »Wegpunkt« gibt es nicht, dafür »Waypoints«.
Ein echter, darstellbarer Track im GPX-Sinne wäre das Ergebnis einer erfolgreichen Routenplanung, welche in eine Fahrt umgesetzt wurde. Während der Fahrt wurde die tatsächlich gewählte Strecke festgehalten – so ist dann ein Track entstanden. Da sind wir schon wieder bei den sprachlichen Problemen. 😁
Im Fall der Passknacker-Nachweisfotos (welche mir die GPS-Daten liefern) handelt es sich technisch gesehen um Waypoints. Also um einzelne, benannte Punkte auf der Karte ohne Verbindung untereinander. Damit daraus eine zusammenhängende Linie wird, muss man diese Punkte zunächst in eine Route und dann in einen »unechten« Track umwandeln.
Noch einmal in Kurzfassung, damit es zu keinen Missverständnissen kommt:
Track: Eine Aufzeichnung der tatsächlich zurückgelegten Strecke. Ein Track besteht aus vielen, wenn nicht gar tausenden einzelnen Punkten (wie die »Brotkrumen« im Märchen), die exakt den gefahrenen Verlauf abbilden. Ein Track ist starr und wird vom Gerät nicht verändert.Route: Eine Planungshilfe, die meist nur aus wenigen wichtigen Wegpunkten (Start, Ziel, Zwischenstopps) besteht. Das Navigationsgerät berechnet die Verbindung zwischen diesen Punkten aktiv auf Basis des vorhandenen Kartenmaterials.Waypoints: Einzelne benannte Punkte auf der Karte, unabhängig von Track oder Route, z. B. Sehenswürdigkeiten oder eben Fotostandorte (bei mir die Passknacker-Nachweispunkte).Es ist keine umfassende GIS-Software, sondern fokussiert auf die Darstellung von Tracks und Karten. Es unterstützt verschiedene Kartenquellen und wird auf der OpenStreetMap-Wiki-Seite als ein Tool zur Visualisierung gelistet. Wann genau die erste Version von GPXSee veröffentlicht wurde, konnte ich nicht ermitteln. Das Changelog reicht bis ins Jahr 2015 zurück – das war allerdings schon die Version 2.5. Vermutlich wurde die Version 1.0 irgendwann in den 2010er Jahren veröffentlicht.
Es ist keine Registrierung notwendig, im Gegensatz zu vielen kommerziellen Apps kann Bikerouter.de ohne Benutzerkonto direkt im Browser genutzt werden. Neben den diversen Profilen für Radfahrer gibt es die von BRouter bekannten Profile für Kraftfahrzeuge, welche auch für die Routenberechnung verwendet werden können.
Auf bikerouter.de kann man aber nicht »nur so tun als wäre man mit dem Fahrrad unterwegs«, es sind auch motorisierte Fahrzeuge für die Planung von Routen (die dann Tracks werden sollen) möglich. Dadurch wird die Nutzung bei der Berechnung auf für Kraftfahrzeuge zugelassene Wege eingeschränkt.
Unter CachyOS waren die beiden Programme noch nicht installiert. Dies habe ich nachholen müssen. Es geht ganz einfach an der Kommandozeile.
Falls es jemanden nicht interessiert, kann dieser Abschnitt einfach übersprungen werden.
Mit dem Befehl pacman -Ss gpsbabel wird die Paketdatenbank nach dem Paket »gpsbabel« durchsucht. Wird das Paket gefunden wird angzeigt, wo und in welcher Version es verfügbar ist.
Mit dem Befehl sudo pacman -S gpsbabel wird das Paket installiert. In folgendem beispiel sind beide Aufrufe direkt hintereinander ausgeführt worden:
❯ pacman -Ss gpsbabel
cachyos-extra-v3/gpsbabel 1.10.0-2.1
Read, write and manipulate GPS waypoints in a variety of formats
extra/gpsbabel 1.10.0-2
Read, write and manipulate GPS waypoints in a variety of formats
~
❯ sudo pacman -S gpsbabel
[sudo] Passwort für archibald:
Abhängigkeiten werden aufgelöst …
Nach in Konflikt stehenden Paketen wird gesucht …
Paket (2) Neue Version Netto-Veränderung Größe des Downloads
cachyos-extra-v3/shapelib 1.6.2-1.1 0,42 MiB 0,09 MiB
cachyos-extra-v3/gpsbabel 1.10.0-2.1 3,31 MiB 1,40 MiB
Gesamtgröße des Downloads: 1,49 MiB
Gesamtgröße der installierten Pakete: 3,73 MiB
:: Installation fortsetzen? [J/n]
:: Pakete werden empfangen …
shapelib-1.6.2-1.1-x86_64_v3 92,5 KiB 532 KiB/s 00:00 [------------------------------------] 100%
gpsbabel-1.10.0-2.1-x86_64_v3 1435,9 KiB 2,09 MiB/s 00:01 [------------------------------------] 100%
Gesamt (2/2) 1528,5 KiB 718 KiB/s 00:02 [------------------------------------] 100%
(2/2) Schlüssel im Schlüsselbund werden geprüft [------------------------------------] 100%
(2/2) Paket-Integrität wird überprüft [------------------------------------] 100%
(2/2) Paket-Dateien werden geladen [------------------------------------] 100%
(2/2) Auf Dateikonflikte wird geprüft [------------------------------------] 100%
:: Paketänderungen werden verarbeitet …
(1/2) Installiert wird shapelib [------------------------------------] 100%
(2/2) Installiert wird gpsbabel [------------------------------------] 100%
:: Post-transaction-Hooks werden gestartet …
(1/3) Arming ConditionNeedsUpdate...
(2/3) Updating icon theme caches...
(3/3) Updating the desktop file MIME type cache...
~ 7s
❯ █
Das gleiche noch einmal für das Programm GPXsee, dessen Paket gpxsee heißt:
❯ pacman -Ss gpxsee
cachyos-extra-v3/gpxsee 16.0-1.1
GPS log file viewer and analyzer
extra/gpxsee 16.0-1
GPS log file viewer and analyzer
~
❯ sudo pacman -S gpxsee
[sudo] Passwort für archibald:
Abhängigkeiten werden aufgelöst …
Nach in Konflikt stehenden Paketen wird gesucht …
Paket (2) Neue Version Netto-Veränderung Größe des Downloads
cachyos-extra-v3/qt6-serialport 6.11.0-1.1 0,21 MiB 0,06 MiB
cachyos-extra-v3/gpxsee 16.0-1.1 6,77 MiB 2,10 MiB
Gesamtgröße des Downloads: 2,16 MiB
Gesamtgröße der installierten Pakete: 6,98 MiB
:: Installation fortsetzen? [J/n]
:: Pakete werden empfangen …
qt6-serialport-6.11.0-1.1-x86_64_v3 59,3 KiB 449 KiB/s 00:00 [------------------------------------] 100%
gpxsee-16.0-1.1-x86_64_v3 2,1 MiB 8,75 MiB/s 00:00 [------------------------------------] 100%
Gesamt (2/2) 2,2 MiB 6,70 MiB/s 00:00 [------------------------------------] 100%
(2/2) Schlüssel im Schlüsselbund werden geprüft [------------------------------------] 100%
(2/2) Paket-Integrität wird überprüft [------------------------------------] 100%
(2/2) Paket-Dateien werden geladen [------------------------------------] 100%
(2/2) Auf Dateikonflikte wird geprüft [------------------------------------] 100%
:: Paketänderungen werden verarbeitet …
(1/2) Installiert wird qt6-serialport [------------------------------------] 100%
(2/2) Installiert wird gpxsee [------------------------------------] 100%
:: Post-transaction-Hooks werden gestartet …
(1/4) Updating the MIME type database...
(2/4) Arming ConditionNeedsUpdate...
(3/4) Updating icon theme caches...
(4/4) Updating the desktop file MIME type cache...
~ 9s
❯ █
Beide Programme sind binnen weniger Sekunden installiert. Linux kann einfach sein – auch an der Kommandozeile. 😎
Auf der Kommandozeile geht es jetzt weiter. Die Friendly Interactive Shell (Fish) ist auf CachyOS der Standard für die Konsole, weil sie darauf ausgelegt ist, dem Nutzer eine moderne, benutzerfreundliche und interaktive Erfahrung zu bieten – ohne dass eine aufwendige Konfiguration erforderlich ist.
Ich habe mich mit fish als Shell sehr schnell angefreundet und habe mir – mit der Hilfe von KI – ein kleines Script erstellen lassen.
Das Skript soll folgendes machen:
Ich habe daher eine Datei namens gpxreadout.fish erstellt. Der Inhalt:
Als Batch-Datei für Windows (ungetestet, ich nutze kein Windows mehr):
Damit die Datei ausgeführt werden kann, muss man ihr noch entsprechende Rechte geben: chmod +x gpxreadout.fish.
Das Skript liest beim Ausführen alle .webp-Dateien im aktuellen Verzeichnis ein, extrahiert die in den EXIF-Daten gespeicherten GPS-Koordinaten und schreibt sie als zusammenhängenden Track in eine GPX-Datei namens route.gpx.
Optional ist es möglich, dass auch nur die Punkte abgespeichert werden. Diesen Bereich habe ich auskommentiert. Der Aufruf ist simpel:
❯ fish gpxreadout.fish
Als Ausgabe erhalte ich die Datei und kann mit ihr weiterarbeiten. Während das Script läuft, werden Informationen ausgegeben:
❯ fish gpxreadout.fish
In Datei 260406_01.jpg sind keine GPS-Daten!
In Datei 260406_02.jpg sind keine GPS-Daten!
In Datei 260406_03.jpg sind keine GPS-Daten!
In Datei 260406_04.jpg sind keine GPS-Daten!
In Datei 260406_05.jpg sind keine GPS-Daten!
In Datei 260406_06.jpg sind keine GPS-Daten!
In Datei 260406_07.jpg sind keine GPS-Daten!
In Datei 260406_08.jpg sind keine GPS-Daten!
In Datei 260406_09.jpg sind keine GPS-Daten!
In Datei 260406_10.jpg sind keine GPS-Daten!
In Datei 260406_11.jpg sind keine GPS-Daten!
In Datei 260406_12.jpg sind keine GPS-Daten!
In Datei 260406_13.jpg sind keine GPS-Daten!
In Datei 260406_14.jpg sind keine GPS-Daten!
In Datei 260406_15.jpg sind keine GPS-Daten!
In Datei 260406_16.jpg sind keine GPS-Daten!
In Datei IMG_20260406_135333020_HDR.jpg sind keine GPS-Daten!
Ausgabe erfolgt!
❯ █
Die zusätzlichen Informationen sind einfach für mich, damit mir gleich Fehler auffallen. Beispielsweise wenn in Bildern keine GPS-Daten vorhanden sein sollten.
Die GPS-informationen aus den 16 Nachweisbildern wurden von gpsbabel zu einer Route zusammengefügt. Per Doppelklick auf die erstellte Datei namens »route.gpx« öffnet sich GPXSee und zeigt folgendes an:
Zum Vergleich was passieren würde, wenn man nur die Punkte läd – oder per Import ein ganzes Verzeichnis mit Bildern:
Da keine Information zu einer Route vorhanden ist, werden die GPS-Daten aus den EXIF-Daten der Bilddateien einfach nur als Waypoints eingeblendet. Die eingeblendeten Zahlen sind die Dateinamen (ohne Suffix), beispielsweise »260407_01«.
Damit man eine »schöne Darstellung« erhält, muss die Route in einen Track umgewandelt werden. Jedes Navigationsgerät kann das, online darf dies bikerouter.de für mich erledigen.
Ich habe nur die Informationen einer Route und will damit einen »unechten« Track erstellen. Der sieht dann schön auf Karten aus und kann als Screenshot oder interaktiv auf einer Karte eingebunden werden. Warum »unecht«? Weil »gefälscht« nicht sonderlich schön klingt und der generierte Track kein Track sondern per Definition eine Route wäre (da nicht während einer Fahrt erfasst, sondern per Software geplant).
Auf bikerouter.de können Tracks als Routen eingelesen werden. Hier wieder das Problem mit den Bezeichnungen. Ich habe keinen Track, ich habe nur eine Route. Aus der Route will ich einen »unechten« Track erstellen. 😎
Da ich tatsächlich nur eine Route habe, lade ich die Route als Route, muss dafür aber »Track als Route« auswählen:
Es öffnet sich ein Dialogfenster, in welchem man die gewünschte Datei auswählen kann. Nach der Auswahl der Datei tut sich sofort etwas im Fenster, die Route wird im Hintergrund eingeblendet.
Im Hintergrund sieht man daher schon die von mir hochgeladene Route, das Fenster für die Dateiauswahl bleibt offen.
Bestätigt man den Import und klickt auf »Track als Route laden« übernimmt die Software die Daten und berechnet den (unechten) Track in Form einer detailierten Route:
Jetzt passen leider die vorher so schön definierten Begriffe nicht. Denn ich will den Track herunterladen, keine Route. Der Export per »Herunterladen« bietet aber nur eine Route an. Tatsächlich wird aber der berechnete Track heruntergeladen.
Per Doppelklick auf die heruntergeladene GPX-Datei mit dem Track, öffnet sich GPXSee und zeigt tatsächlich den Track an. Automatisch wird das Höhenprofil und die gefahrene Strecke angezeigt.
Weil man auf dem kleinen Screenshot nicht so viel sieht, habe ich das Fenster etwas größer aufgezogen. Man kann gut die Nachweispunkte als schwarze Punkte erkennen.
Man kann auch die »Wegpunkt-Labels« einblenden lassen. In meinem Beispiel wären es die Dateinamen, welche beim Import über GPSBabel in die Datei eingefügt wurden. Würde ich die Namen der Nachweispunkte statt der Dateinamen haben wollen, müsste ich die GPX-Datei bearbeiten.
Es ist möglich die Route als .png aus GPXSee heraus speichern zu lassen. Der Standarddialog gibt eine Ausgabe im Format 600x800 Pixel vor.
Ich habe für den Export für meine Website 1024x576 Pixel verwendet – bin aber mit dem Ergebnis nicht so ganz zufrieden. 🙄
Die Ausgabe erfolg exakt so, wie es auf dem Bildschirm zu sehen ist. Es erfolgt keine automatische Veränderung vom Zoomfaktor. Nachdem ich ein wenig herausgezoomt habe, passt es:
Da Kartenmaterial von OSM verwendet wurde, muss natürlich auch entsprechend darauf hingewiesen werden. Ein Beispiel für die Umsetzung: © OpenStreetMap Contributors.
Primär sollte die Anleitung auf dieser Seite darstellen, wie man aus EXIF-Daten von Bildern zunächst eine Route und aus der Route dann einen (unechten) Track erstellen kann.
Die GPX-Trackdaten können dann vielfältig weiterverwendet werden. Der Export als .png aus GPXSee heraus ist nur eine der Möglichkeiten. Als Beispiel die Darstellung bei gpx.studio, welche leider keine Möglichkeit für den Export bietet. Ein Screenshot kann von der Route gemacht werden:
Da OpenStreetMap generell das Einbinden vom Kartenmaterial zulässt und selbst DSGVO-konform nicht die Besucher trackt, kann die Karte auch interaktiv eingebunden werden. Oder man nutzt umap.openstreetmap.de
Eine Empfehlung für die Einbindung in einen (Motorrad)Blog kann ich an dieser Stelle noch nicht liefern. Da muss ich mich selbst noch ein wenig mehr in die Thematik einarbeiten. Ich habe bislang mit Screenshots gearbeitet, nicht mit interaktiven Karten.
Falls jemand einen Tipp hat und vielleicht sogar ein »Lebendbeispiel«: Gerne in den Kommentaren entsprechende Informationen und vielleicht sogar einen Link zum Beispiel hinerlassen.
Deine E-Mailadresse wird nicht veröffentlicht.
Autor:
Teilen:
Weitere Artikel des Autors:





Das könnte Sie auch interessieren:
Diese Website wurde erstellt mit: Bluefish, Kate, Geany und Gimp. Neben HTML kommt Markdown zum Einsatz und das alles unter CachyOS als Betriebssystem. 😊
Bildnachweis: Kate Editor Logo von Tyson Tan, lizenziert unter CC BY-SA 4.0.
Das Generieren dieser Seite dauerte genau 0.05873 Sekunden.
Kommentare
Dieser Beitrag hat noch keine Kommentare erhalten.