Quantcast
Channel: tessarakt - das vierdimensionale B-L-O-G » Reisen
Viewing all articles
Browse latest Browse all 51

Bilder mit GPS-Koordinaten versehen

$
0
0

Leider haben Consumer-Kameras ja noch kein GPS (meine Dezember 2009 gekaufte jedenfalls nicht). Aber wenn man ein Outdoor-GPS-Gerät sein eigen nennt, kann man das ja zum Glück recht einfach anderweitig erledigen. So ein Gerät (ich habe ein eTrex Vista HCx von Garmin) läuft mit 2 AA-Batterien ca. 20 Stunden, und man kann es einfach im Rucksack oder der Jackentasche mit sich rumtragen. Dabei zeichnet es jede Sekunde die Position in einer GPX-Datei (eine Datei pro Tag) auf Speicherkarte auf.

Prinzipiell täte es auch ein einfacher GPS-Logger (der dann deutlich kompakter ausfallen könnte), aber das Display ist ganz praktisch. Die Zeit auf der Kamera muss man ja in der Regel manuell einstellen — eine automatische Synchronisation mit GPS oder einer anderen Zeitnormalquelle haben die Dinger nicht. Das könnte man tun, man kann es aber genauso gut lassen. Denn so eine Uhr hat ja auch ein wenig Gangabweichung, beim nächsten Urlaub stimmt es dann schon wieder nicht. Eine Minute Abweichung ist jedenfalls (mir) zuviel, um mich für die GPS-Korrelation darauf zu verlassen.

An dieser Stelle kommt das Display des GPS-Empfängers ins Spiel: Man macht ab und zu (am Anfang und am Ende des Urlaubs beispielsweise …) Fotos von einer als zuverlässig bekannten Uhrzeitanzeige – dafür bietet sich die des GPS-Empfängers an (Beispiele hier und hier). Dann hat man die Kamerazeit (über EXIF-Daten) und die echte Zeit in einem Foto und kann somit die Differenz ermitteln.

Beispiel: Ich hatte zwei Fotos vom GPS-Empfänger gemacht:

  • Auf dem ersten Foto zeigte der GPS-Empfänger 12:04:40 Uhr am 30. Juli 2011 (Europe/Berlin, also MESZ). Nach Ortszeit (in diesem Fall Island, also erfreulicherweise gleichzeitig UTC – es entfällt also die schwierige Entscheidung, welche von beiden ich nehmen soll) ist das 10:04:40 Uhr. Die Zeit der Kamera war 11:06:09 (also vermutlich MEZ, ohne S) am 30. Juli 2010 (sic!). Um von der Kamerazeit auf die richtige Zeit zu kommen, muss man also ein Jahr hinzuzählen, 1 Stunde abziehen, 2 Minuten abziehen und 31 Sekunden hinzuziehen (bzw: 1:29 Minuten abziehen).
  • Auf dem zweiten Foto zeigte der GPS-Empfänger 13:13:10 Uhr am 2. August 2011 (MESZ). Nach Ortszeit/UTC ist das 11:13:10 Uhr. Die Zeit der Kamera war 12:14:38 (MEZ) am 2. August 2010 (sic!). Um von der Kamerazeit auf die richtige Zeit zu kommen, muss man also ein Jahr hinzuzählen, 1 Stunde abziehen, 2 Minuten abziehen und 28 Sekunden hinzuziehen (also 1:28 Minuten, und damit nur eine Sekunde Abweichung zum ersten Foto, die auch Rundungsfehlern geschuldet sein können).

Nachdem wir nun also wissen, wie wir die EXIF-Zeit justieren müssen, können wir diese Änderung umsetzen. Als Tool dafür benutze ich exiv2. Die relevanten Stellen der man-Page lauten:

Benutzung: exiv2 [ Optionen ] [ Aktionen ] Datei ...

Ändert die Exif-Metadaten von Bildern.

Aktionen:
ad | adjust ändert die Exif-Zeitstempel um eine gegebene Zeit. Diese
Aktion benötigt mindestens eine der Optionen -a, -Y, -O oder -D.
[...]

-a time Zeitjustierung im Format [-]HH[:MM[:SS]]. Diese Option wird
nur in Zusammenhang mit der Aktion 'Justieren' benutzt.
-Y yrs Justierung von Jahren in der Aktion "justieren".
-O mon Justierung der Monate in der Aktion 'justieren'.
-D day Jusitierung von tagen in der Aktion "Justierung".

In unserem Fall ergibt das:

exiv2 -Y 1 -a -01:01:28

In diesem Fall ist es herzlich egal, ob man nun -01:01:28 oder -01:01:29 schreibt. Bei größerem Drift sind natürlich ggf. andere Maßnahmen erforderlich. Interpolieren dürfte manuell leider etwas aufwendig werden.

Dieser Befehl muss natürlich auf alle Fotos angewendet werden. Bei mir haben diese die Endung .JPG (nicht .jpg!). Es ergibt sich folgender Befehl:

for i in *.JPG; do exiv2 -Y 1 -a -01:01:28 $i; done

Als nächstes kopiere ich die GPX-Tracks für die entsprechenden Tage ins selbe Verzeichnis wie die Bilder und rufe gpscorrelate-gui auf. Dort füge ich zunächst alle Fotos hinzu. Dort muss man nun leider jede GPX-Datei einzeln auswählen. “Interpolate”, ggf. “Between Segments” ankreuzen, “Correlate Photos” klicken – fertig.

Jetzt haben die Fotos GPS-Koordinaten in ihrem EXIF-Block. Bei Flickr und ähnlichen Diensten erscheinen sie dann in einer Karte (Achtung: Bei Flickr muss man das aus Datenschutzgründen in den Account-Einstellungen vor dem Hochladen aktivieren!).


Viewing all articles
Browse latest Browse all 51

Latest Images

Trending Articles