Eigene Fotos in JOSM und die Tabs im "ImageViewer". Habe nur ich Probleme damit?

Moin!
Ich mach jetzt seit ein paar Jahren auf (OSM-) Radtouren Fotos von allen möglichen Dingen und lege dann auf meinem PC jeweils ein Unter-Verzeichnis mit dem Datum als Namen an und da packe ich dien aufgezeichneten GPX-Track meines Navis sowie eine weitere GPX Datein mit “Wegpunkten” sowie alle Fotos rein. Die beiden GPX-Tracks haben dabei Datum im Namen mit drin.
Dann öffne ich JOSM mit einer Session-Datei “Fotos” und ergänze dort mittels Drag+Drop die beiden GPX-Dateien sowie die Fotos.
JOSM erzeugt dann einen neuen Layer “Geotagged Images” sowie insgesamt drei GPX Layer für den Track, die Wegpunkte und die “Marker from Wegpunkte xyz”.
Als nächstes klicke ich rechts auf den Layer “Geotagged images” und korreliere die Fotos mit dem passendem Track, damit JOSM mit die Fotos dort anzeigt, wo mein Fahrrad war. Das Fahrrad ist meist mit auf dem Bild und somit kann ich gut nachvollziehen, wo ich selbst war, als ich das Foto gemacht habe.
Anschliessend mappe ich, was ich auf den Fotos sehe sowie, was ich als Notiz bei den Wegpunkten erfasst habe (z.B. smoothness oder 'ne Hausnummer oder den Wechsel zwischen Asphalt und Beton und wieder Asphalt an einer Brücke.
Am Ende deaktiviere ich die drei neuen Layer für die GPX Daten und bennene den Layer “Geotagged images” um, damit er so heisst wie das Verzeichnis, in dem die Fotos sind. Dann speichere ich die Session mit den vier neuen Layern wieder als Fotos.joz.

Auf diese Art habe ich jetzt knapp 800 Layer und sowohl ich als auch JOSM kommen damit eigentlich ganz gut zurecht. Manchmal habe ich ein altes Foto und kann nicht nachvollziehen, wo ich da stand, dann blende ich den passenden GPX-Track wieder ein.

Nun mein Problem: Wenn ich - wie zur Zeit - viele alte Fotos anklicke, um z.B. die Ausrichtung (direction=*) von Zwischenwegweisern zu erfassen, dann habe ich im Nu Unmengen von Tabs (Reiter) in dem Dialogfenster, das die Fotos anzeigt (ImageViewer). Die muss ich dann alle Nase lang einzeln entfernen.
Beispiel:

Ich bin jetzt am Überlegen, ob ich einen Patch für JOSM bastel, der es erlaubt, alle Tabs zu schließen, oder ob ich meine Daten anders organisiere, damit JOSM nicht so viele Tabs erzeugt. Ich könnte ja z.B. alle Fotos von 2022 in einen einzigen Layer packen. Dann müsste ich aber erstmal die Dateien zu den Fotos umbenennen, damit das Datum mit drin ist.

Bin ich der Einzige mit diesem Problem? Haben auch andere Interesse an dem Patch für JOSM?

Deshalb laden die meisten die das eher exzessiv machen das zeugs bei Mapillary, Kartaview oder Panoramax hoch.

Da sind die “Viewer” bzw die die Integeration in josm effizienter.

Ich habe das ursprünglich auch so wie du gemacht. Hab aber mittlerweile 1 Mio Bilder und 6300km Straßen aus den letzten 12 Jahren. Das ist einfach im Josm nicht mehr machbar.

Ich habe einen ähnlichen Workflow aber ohne Sessions, sondern so, dass ich immer nur einen Tag an Fotos im JOSM geladen habe. Dass man mehrere Layer mit Fotos haben kann war mir neu.

Mein Workflow funktioniert einfach so, dass ich den Track öffne, den ich gerade bearbeiten will. Dann Rechtsklick auf den Track und “Import Images” und dann kann man das Verzeichnis mit den Bildern des Tages auswählen und öffnen. Dann importiert er alles aus dem Verzeichnis. Bevor ich den nächsten Track öffne, werden alle Layer entsorgt. So ist nie mehr als ein Image-Layer da.

Wie beschrieben sollte das Umbenennen nicht nötig sein. Einfach in Jsom “Datei → öffnen” und alle Unterverzeichnisse des Jahres mit einmal anwählen. Dann landen alle Fotos in einem Layer. Das geht natürlich einfacher, wenn du deine Tages-Foto-Order nochmal zusätzlich in Jahresordnern organisierst.

1 Like

Das werde ich ausprobieren, aber ich sehe da noch nicht, wie ich das mit dem Korrelieren mit dem jeweiligen GPX Track dann hinbekomme. Diese Info wird in der Session-Datei gespeichert, daher finde ich die sehr hilfreicht. Beim Korrelieren muss ich ja immer eine Offset zur UTC angeben, der je nach Sommer- oder Winterzeit unterschiedlich ist.
Ich habe in der Zwischenzeit damit experimentiert, die (vorhandenen) layer eines Jahres in JOSM zu “mergen”. Das hat ein paar seltsame Effekte und Crash-Reports gebracht, konnte aber nichts wirklich reproduzieren. Wahrscheinlich sollte man dabei den ImageViewer Dialog besser nicht geöffnet haben.
Weniger layer scheinen aber auf jeden Fall der richtige Ansatz.

Eigentlich merkt sich JSOM, wenn Fotos einmal korreliert worden.

Was ich ausserdem noch mache, ist, die Geokoordinaten direkt in die Fotos zu schreiben. Damit kommt JOSM (und auch jedes andere Programm) dann auf jeden Fall klar. Dazu habe ich das Plugin “photo_geotagging” installiert. Dann einfach Rechtsklick auf den Layer und Koordinaten in die Dateien schreiben.

Das ist auch mein Ansatz.

Nachdem ich feststellen musste, dass automatische Uhrzeitabgleiche der Kamera zu bis zu 1,6 Sekunden abweichenden Uhrzeiten in der Kamera führten und sogar eine Kamera mit GPS mal total daneben lag verlasse ich mich nur noch auf Fotos von genauen Uhren, die vor oder nach der Tour aufgenommen wurden. Dann werden zuerst die Uhrzeiten korrigiert und danach kommen die Koordinaten in die Fotos und Videos und alle Dateinamen werden geändert. Erst danach kommen JOSM und andere Programme an die Bilder.

In Linux (so ähnlich geht das auch in Windows) sieht der erste Schritt bei 2,3 Sekunden Differenz z.B. so aus:

(export DIFF="00:00:02.3"; cd /home/xxx/bilder_sammlung/incoming;chmod 644 *;exiftool -overwrite_original -AllDates-=$DIFF *.MP4 *.JPG;exiftool '-FileName<${CreateDate}%.lc.jpg' -d '%Y-%m-%d_%H-%M-%S_SX70' *.JPG;exiftool '-FileName<${DateTimeOriginal}%.lc.mp4' -d '%Y-%m-%d_%H-%M-%S_SX70' *.MP4)

Danach heißt eine Datei z.B.:

2025-05-09_08-19-56_SX70a.jpg

Dabei ist “SX70” der Kameraname und “a” die laufende Nummer falls man mehrere Aufnahmen aus derselben Sekunde hat.

Danach kommen die Koordinaten (hier z.B. aus dem Osmand) rein:

exiftool -geotag ~/gps/data/tracks/tours/20250306_1_a15w_w_altrhein.gpx -overwrite_original ~/bilder_sammlung/incoming

Danach kann man die Bilder beliebig auf der Platte verschieben und auch mit Bildern aus anderen Kameras mischen ohne eine bescheuerte Reihenfolge zu bekommen.

2 Likes

Hmm, macht mich alles nicht glücklich. Mehrere Tage (oder ganze Jahre) in einem Layer bedeuten auch, das die Navigationsknöpfe in dem Dialog für Springe zum ersten / letzten Bild nicht mehr funktionieren.
Edit: Mit funktionieren meine ich: Zum ersten/letzten Bild des Tages zu springen.

Das Laden von nur 1000 Fotos braucht schon erheblich länger als das Laden der Session Datei, weil JOSM dann eben jedes Foto laden muss, um die EXIF-Daten zu lesen. Ich habe bisher ~90.000 Fotos gesammelt (ich mache die alle einzeln)
In der Session-Datei werden eben genau diese Infos gespeichert, und die Datei ist bei mir gerade mal ~4 MB groß.

Ich hadere auch mit der Variante, meine Fotos ins Netz zu stellen. Mich sprechen immer mal wieder besorgte Bürger an, weil sie eben nicht wollen, das man sie im Netz findet. Ich finde das in Ordnung und sage den Leuten dann immer, dass ich die Fotos nicht ins Netz stelle. Dienste wie Mapillary verpixeln zwar, aber ich kann eben nicht versprechen, dass die unverpixelten Bilder nicht doch irgendwo gespeichert werden. Mal abgesehen davon, dass ich dann wirklich erstmal halbwegs sicher stellen müsste, dass die Fotos korrekt georeferenziert sind.

Ich werde also mal versuchen, die Reiter im Dialog wahlweise abzuschalten.
Es gibt schon die Einstellung “geoimage.viewer.show.tabs”, aber wenn ich die auf false setze kommt es zu allen möglichen Fehlern bei der Anzeige.

Edit2: Mein Gedächtnis bröselt so vor sich hin :frowning: Sehe gerade, dass ich da schon mal dran gearbeitet habe: #22806 ([Patch] Cannot disable tabs in image viewer) – JOSM