photo_geotagging - "synchronize your photos with a gpx track"

Im Wiki lese ich dazu:

First, you have to synchronize your photos with a gpx track, such that they are displayed as small icons on the main area of JOSM.

ich habe dann weiter gesucht, aber nichts konkretes gefunden.
Wie macht man denn “synchronize your photos with a gpx track”?

Voraussetzungen:

  • gpx track ist vorhanden
  • Bilder sind vorhanden
  • Plugin ist in JOSM (5697) drin :wink:
  • OS: ubuntu

Ich verwende geosetter (http://www.geosetter.de/), um die Koordinaten in die Bilder zu schreiben. Das erfüllt genau seinen Zweck - mit einer komfortablen Bedienoberfläche.
Die referenzierten Bilder lassen sich dann einfach in JOSM öffnen.

  1. GPX-Datei in JOSM öffnen.
  2. Bilder in JOSM öffnen.
  3. Anweisungen auf dem Bildschirm folgen.

Danke für den Tipp
Mit Ubuntu hat aber die .exe ihre Schwierigkeiten. :wink:

vor lauter Bäumen den Wald nicht gesehen :wink:
Der sortiert wohl nach der Zeit ein.

… die Zeiten im GPS und der Kamera differieren leicht :frowning: , denn das Bild erscheint nicht an der richtigen Stelle in der gpx
… aber jetzt habe ich das Prinzip verstanden … werde die GPX dann in einem Editor öffnen und das Bild an die richtige Stelle setzen …

oder liege ich damit falsch?

Genau - deshalb ja dort auch der Tipp, die Zeitanzeige im GPS-Empfänger abzufotografieren und dieses Foto später zur Kalibrierung zu benutzen. Hilfsweise kann man auch noch manuell einen Offset einstellen, z.B. mit Hilfe eines Fotos, das man selbst eindeutig einem bestimmten Ort zuordnen kann. Wenn man dieses Foto in Bewegung aufgenommen hat, entspricht dieser Ort (praktisch) sogar einem Zeitpunkt, nicht einem endlichen Zeitintervall. Weitere Möglichkeit: Anhalten, sofort (!) Objekt fotografieren, einige Zeit warten, Objekt noch einmal fotografieren und sofort (!) weitergehen/fahren. Die Bilder markieren dann Beginn und Ende der Pause. Später in JOSM so lange mit dem Offset spielen, bis beide Bilder an derselben (richtigen) Stelle liegen. Das hilft z.B. bei einem reinen Logger ohne Zeitanzeige - ansonsten ist das Uhrzeitfoto natürlich weitaus komfortabler.

Mein Logger - ein WBT-021 - hat keine Anzeige, aber man kann durch Drücken einer Taste einen Waypoint aufzeichnen. Kamera in die eine, Logger in die andere Hand, gleichzeitig abdrücken und schon habe ich einen GPS-Zeitstempel und ein Bild, die eindeutig zueinander gehören und anhand derer ich die Abweichung berechnen kann. Mit Exifer/ExifTool korrigiere ich dann gleich alle Zeitstempel in den Bildern, die ja falsch waren, auf den richtigen Wert. Dann brauche ich künftig in irgendwelchen Workflows nicht mehr rumspielen.

Hi Oli-Wan

Danke für den Hinweise … da ich das ganz nachträglich machen wollte …
man sollte halt vorher lesen …
Ich spiele mit dem Offset … aber reichlich :slight_smile: und wenn dann alles nicht klappt, werde ich heute “nochmals mit beiden Geräten spazieren” gehen müssen … :wink: Habe eben mal die Zeit an der Kamera korrigiert :frowning: + 25 Stunden … :frowning:

Was nützen richtige Straßennamen und keine blanks, wenn die Westwallbunker an der falschen Stelle stehen. :wink:

Nachtrag:

  1. da das Foto völlig falsche Zeit hat, war es am Anfang des Tracks platziert …
  2. da ich die Stelle (in der Realität und) im track genau kenne, ist es kein Problem, mit sukzessivem Erhöhen des Offset die richtige Stelle zu finden.

cooles tool … ich muss heute Nachmittag doch nicht noch mal an die Luft :wink:

Dann bist du ein geeignetes Opfer für die Deluxe-Befehlszeilenversion. :smiley:

Mit zwei kleinen Progrämmchen kannst du die Koordinaten dauerhaft in die Metadaten der JPG-Bilder schreiben. Das hat zwei Vorteile: Erstens kannst du die Bilder künftig direkt in JOSM ziehen, ohne dich um die zugehörige GPX-Datei oder gar das Zeitoffset kümmern zu müssen. Und zweitens bieten viele Fotoverwaltungen (z.B. DigiKam) eine geografische Suchfunktion, die diese Koordinaten auswertet; du kannst dann also im Fotoprogramm auf einer Karte alle Bilder auswählen, die in einem bestimmten Bereich aufgenommen wurden.

Installiere dir die Programme exiv2 und gpscorrelate, sie sind beide in den Standard-Repositories. exiv2 bearbeitet die Metadaten der JPG-Bilder, u.a. die dort eingetragene Uhrzeit. Und gpscorrelate ermittelt aus Uhrzeit des Bilds und dem GPS-Track die Position, an der das Bild gemacht wurde, und schreibt diese Information in die Metadaten.

Du kannst gpscorrelate einen Zeitoffset übergeben, wenn die Kamerauhr nicht stimmt, aber ich finde es sinnvoller, die Uhrzeit direkt in den Metadaten zu korrigieren und dann gpscorrelate mit dem Zeitoffset 0 aufzurufen. Für diese beiden Schritte habe ich ein kurzes Shell-Skript:

#!/bin/bash
# Usage:
#  gpx-correlatepics offset
# where offset is the time difference between camera clock time and actual time, 
#  in the format h:mm:ss. 
# Use -h:mm:ss, if the camera clock is running ahead, 
#  or +h:mm:ss, if the camera clock is running behind.
# Example: 
#  gpx-correlatepics -0:01:23

exiv2 -a $1 ad *.JPG
#During Daylight Saving Time:
gpscorrelate -g iblue.gpx -z +2 *.JPG
#During Standard CET (winter):
#gpscorrelate -g iblue.gpx -z +1 *.JPG

Darin muss du bei Bedarf den Namen deiner gpx-Datei ändern (oder als Aufrufparameter übernehmen), evtl. die Zeitzone korrigieren (in diesem Beispiel Mitteleuropa, d.h. + 1 h) und die Zeile für Sommer/Winterzeit auskommentieren (etwas murksig, könnte natürlich dynamisch ermittelt werden).

Ich mache gewöhnlich ein Foto einer Funkuhr, um zu ermitteln, wie weit die Kamerauhr abweicht, aber es wurden ja auch schon einige andere Methoden beschrieben. Zuhause packe ich die GPX-Datei und alle geschossenen Bilder in ein Verzeichnis, öffne das Uhrenbild, berechne die Zeitabweichung und rufe mit dem Ergebnis das Skript auf. Fertig - die Bilder sind dauerhaft georeferenziert. Künftig kein Rumgepfriemel mehr mit GPX-Datei und Zeitoffsets, nur weil ich auf einem Bild etwas nachprüfen will. Ich kann einfach die Bilder mit der Maus in JOSM ziehen und sie erscheinen an der richtigen Position.

Hi MetiorErgSum

Die Kommandozeile ist mein Freund. :wink:

Dich schickt der Himmel. Du kannst Gedanken lesen? … denn Du hast die bei mir jetzt aufgetauchten Fragen beantwortet.
Danke! … exiv2 war schon da - warum auch immer. :wink: … gpscorrelate ist jetzt auch da. :wink:

und mit dem Skript zeigst Du, warum die Befehlszeile unser aller Freund sein sollte. DANKE!

warum so kompliziert? mach josm doch auch.
nachdem die Pics an der richtigen Stelle liegen, einfach das Kontex-Menü vom Layer “Georeferenzierte Bilder” aufrufen und “Koordinaten in Bild speichern”

das wars.

Gruss
walter

Hallo Walter,

gar nicht kompliziert :slight_smile:

  1. Exif ließ sich bei mir ums Verrecken nicht installieren (ist aber mittlerweile auch drin. :-))
  2. obiges Skript nudelt Dir aber alle Dateien auf einen Rutsch durch! :slight_smile:

ist so was wie Entfernen von blanks für Arme. :wink:

Edit: Du musst die Zeitanpassungen doch bei allen Bildern einzeln machen … oder?

nö, alle in einem Rutsch! wär sonst wirklich blöd.

Nachtrag: “Manuell justieren” im Popoup “Bilder mit GPS-Spur korrelieren”

Auch wenn dem so ist, sollte zumindest erwähnt werden, dass es auch ein gpscorrelate-gui gibt. Damit lassen sich auch recht schnell und komfortabel große Mengen an Bildern bearbeiten ;).

hi

das wird ja immer doller :slight_smile:
— schau ich mir auch an … danke für den Tipp …, ich kann auch gui :wink:

Bilder sind verbraucht, :wink:
jetzt muss ich doch noch mal an die Luft, denn das will ich auch noch probieren :wink:
Danke Walter