Tap to Play!

Back

Eine der einfacheren Migration von DEVONthink zu TagSpaces ist meine Datenbank von Fahrradtouren. Diese im Laufe der Jahre angehäuften GPX- und FIT-Dateien liegen als ein Haufen in DEVONthink herum. Der Haufen kann einfach exportiert und von TagSpaces eingelesen werden. Dies liegt aber vor allem daran, dass die eigentliche Verwaltung in rubiTrack stattfindet:

Karte mit Radtour und divesen Filtern in rubiTrack

Da ich beim Wechsel zu Linux auch rubiTrack verlieren werde, müssen einige Funktionen in TagSpaces nachgerüstet werden, z.B. die Kartendarstellung mit Geschwindigkeitsprofil und die Möglichkeit, nach Ländern und Distanzen zu filtern. Ebenso erforderlich ist eine Gesamtkarte mit allen Touren und eine Heatmap über Jahre und Monate, sowie ein sinnvolles Thumbnail.

Verschlagwortung und Thumbnail-Generierung#

Den ersten Schritt übernimmt ein Python-Skript, welches die Dateien einliest und im .ts-Verzeichnis dazugehörige Thumbnails generiert. Es ermittelt außerdem die gefahrene Distanz und die durchfahrenen Länder, den Startzeitpunkt und ergänzt entsprechende Tags im Dateinamen.

Generierter Dateiname:

2017-08-30_22241247_schweiz-2017-03-laufenburg-luzern_export[20170830T074630 75-100Km cDE cCH 8FVCH377+53].gpx

Generiertes Thumbnail:

Orangene Grafik mit weiße Linie der gefahrenen Route und dargestellter Kilometeranzahl

Icon-Ansicht#

Dieser Ordner kann nun von TagSpaces als Location konfiguriert und eingelesen werden. Über die Tags kann nach Distanzen oder Ländern gefiltert werden, hier z.B. mit gefahrenen Routen in der Schweiz:

Filterung nach Dateien mit diesem Tag aus der Tag-Übersicht

Icon-Ansicht mit Thumbnails

Wird eine Datei angeklickt öffnet sich die Detailansicht im rechten Bereich. Diese besteht einmal aus den Basis-Dateiinformationen und, sofern man die Pro-Version besitzt, einer Mini-Karte des Startpunkts. Der Startpunkt steht als Koordinaten-Tag im Dateinamen und wird von TagSpaces eingelesen. Unterhalb der Dateiansicht befindet sich eine Extension, die ich von Claude habe bauen lassen, welche die Route inkl. Geschwindigkeitsprofil auf der Karte darstellt, gefolgt von Statistiken. Damit sind die grundsätzlichen Ansichts- und Filterfunktionen von rubiTrack nachgebildet.

Thumbnails, Tags, Such- und Filterfunktionen und die Extension funktionieren mit der kostenlosen Version von TagSpaces. Für die beiden folgenden Funktionen ist die Pro-Version erforderlich.

Karten-Ansicht#

Wechselt man von der Icon-Ansicht in die Karten-Ansicht, so werden die Thumbnails auf einer Karte platziert. Auch hier wird wieder die im Dateinamen abgelegte Koordinate genutzt.

Kartenansicht mit auf ihr platzierten Icons für die Routen-Startpunkte

Heatmap-Ansicht#

TagSpaces bietet eine Kalenderansicht, die darstellt, wieviele Dateien pro Monat und Jahr abgelegt wurden. In meinem Szenario somit: Wie häufig bin ich Fahrrad gefahren?

Heatmap für Jahre und Monate

Hier scheint es momentan noch einen Bug zu geben – die Tags für den Zeitstempel werden ignoriert – aber man kann auch nach dem Änderungsdatum gruppieren, welches das oben erwähnte Skript ebenfalls auf den Startzeitpunkt der Tour setzt.

Import neuer Dateien#

Nachdem die alten Dateien drin sind müssen natürlich konstant neue Dateien nachgeschoben werden. Da TagSpaces nur auf das Dateisystem starrt ist ein aufwändiger Import unnötig: Es genügt, mittels Ordneraktionen (macOS) oder inotifywait + systemd (Linux) einen Eingangs-Ordner auf neue Dateien zu überwachen und diese per Skript in den Ziel-Ordner zu kopieren und dort für die neue Daten das Thumbnail-Skript ausführen zu lassen. TagSpaces zeigt dann die neue Datei korrekt an, samt Thumbnail und Tags.

Fazit#

rubiTrack kann deutlich mehr, als ich nun in TagSpaces nachgebildet habe, allerdings nutze ich rubiTrack nur sporadisch, um Routen zu importieren und zu betrachten. Diese Anforderungen kann ich nun direkt in TagSpaces abbilden. Was fehlt sind Funktionen für mehrere Dateien, z.B. mehrere Touren auswählen und gleichzeitig auf einer Karte ablegen.

Im weiteren Verlauf der Linux-Migration wird der Import-Prozess noch automatisiert werden.