Wenn jemand eine Reise tut, so kann er was erzählen – und das am besten nicht mit endlosen Diashows, sondern einem hübsch aufgemachten Track, mit den passenden Aufnahmen garniert.
Nach der Rückkehr aus dem Urlaub in heimische Gefilde steht das Aufbereiten der gesammelten Fotos an. Als Ergebnis der Bemühungen erhalten Sie im besten Fall eine Landkarte mit den Etappen der Route, jeweils ergänzt durch die Aufnahmen an der richtigen Position. Mit dem richtigen Know-how und den passenden Tools haben Sie so einen Hingucker im Handumdrehen erstellt.
Zum Zusammenstellen der Karte mit Bildern benötigen Sie Informationen, etwa Zeitstempel, geografische Angaben wie Längen- und Breitengrad sowie Blickwinkel und -richtung. Das Verknüpfen von Objekten mit diesen Daten heißt Geotagging. Das erleichtert den Umgang mit den Mediadaten.
Zusatzinfo Exif
Die Informationen für das Geotagging stammen aus den Sensoren der Digitalkameras oder Smartphones. Ein GPS-Modul gehört inzwischen vielfach zur Grundausstattung mobiler Geräte. Gute Digitalkameras mit GPS-Modul sind heutzutage bereits für rund 300 Euro zu haben. Die von den Geräten erfassten Sensor-Informationen landen häufig automatisch in den Exif-Daten der Aufnahmen.
Wie die letzten Monate gezeigt haben, leiten Nachrichtendienste aus diesen Metadaten im großen Stil persönliche Profile ab, die Fragen beantworten, wie: “Wo ist der Fotograf mit der Kamera gerade unterwegs?” und “Über welche technischen Geräte verfügt der Nutzer?”. Daher ist es ratsam, diese Funktionen in Zeiten permanenter digitaler Überwachung stets mit Bedacht zu verwenden oder zu deaktivieren [2].
Werkzeuge
Über erprobte Schnittstellen lesen Sie die Exif-Daten jederzeit aus den digitalen Bildern aus und verändern sie nach Bedarf. Bildbetrachter wie Geeqie [3] stellen die Exif-Daten zu einer Aufnahme bereit (Abbildung 1). Für die Kommandozeile bieten sich hingegen Exifprobe [4] und Exiftran [5] an, etwa zum Drehen von JPGs unter Berücksichtigung des Bildausrichtung.
Das sehr umfangreiche Perl-Programm Exiftool [6] beinhaltet darüber hinaus eine Bibliothek für eigene Entwicklungen. Die Ausgabe der Informationen in deutscher Sprache gelingt mit der Option -lang de (Abbildung 3).
Pyexiv2 [7] und dessen empfohlener Nachfolger Gexiv2 [8] leisten hingegen Python-Entwicklern sehr gute Dienste. Die Python Imaging Library (PIL) [9] verfügt ebenso über entsprechende Methoden, die aber undokumentiert und deshalb noch mit etwas Vorsicht zu genießen sind.
Ausgangsmaterial
Die genannten Werkzeuge fördern Erstaunliches zutage: Das beginnt beim Namen des Herstellers der Kamera, der Identifikationsnummer des Geräts samt Version der Firmware und geht über die Bildgröße und Blende bis hin zu Angaben zum Auslösen des Blitzes.
Die Liste für die zu erstellende Landkarte umfasst drei Dinge – erstens die Reiseroute inklusive der Etappen, zweitens die Koordinaten der Wegpunkte und drittens die Aufnahmen, die entlang der bereisten Strecke entstanden sind. Für Ersteres genügt eine Textdatei mit den Ortsnamen oder markanten Punkten, die der Orientierung beim Erstellen der Karte dient.
Die Koordinaten der Wegpunkte zeichnen Sie am besten vorher mit einem GPS-Tracker über das Global Positioning System GPS auf. Damit erhalten Sie pro Wegpunkt neben dem Breiten- und Längengrad auch einen Zeitstempel sowie eine Höhenangabe. Aus diesen erfassten Daten erstellen Sie ein Streckenprofil, das Sie in einem Routenplaner wie Gpsies [10] hinterlegen. Mit welchen Werkzeugen Sie einzelne Strecken aufzeichnen, auswerten und nachbearbeiten, zeigt ein Artikel unserer Schwesterzeitschrift EasyLinux [11].
Wie bereits oben angerissen, verfügen die Digitalbilder über Metadaten – sogenannte Exif-Tags. Die Tabelle “Tags für Geodaten” zeigt die speziellen Einträge (“GPS-Tags”), die Sie zum geografischen Verorten benötigen. Eine ausführliche Übersicht zu den einzelnen Exif-Elementen mit GPS-Bezug finden Sie auf der TIFF Tag Reference [12] und der Webseite von Phil Harvey [13], dem Autor von Exiftool.
Tags für Geodaten
GPSInfo |
Haupttag |
GPSLatitudeRef |
Breitengrad (Nord oder Süd) |
GPSLatitude |
Breitengrad (Wert) |
GPSLongitudeRef |
Längengrad (Ost oder West) |
GPSLongitude |
Längengrad (Wert) |
GPSAltitudeRef |
Höhe – über oder unter dem Meeresspiegel |
GPSAltitude |
Höhenangabe (Wert) |
Ob Bilddateien bereits Geoinformationen enthalten, finden Sie über den entsprechenden Eintrag im Bildbetrachter oder mit den beiden Programmen Exiftool und Grep über einen Aufruf aus der Kommandozeile heraus:
$ exiftool -s Bilddatei | grep -i gps
Darüber weisen Sie Exiftool an, in der ersten Spalte die Namen der Exif-Tags auszugeben. Mit einem nachfolgenden Grep filtern Sie aus dieser Liste alle Zeilen heraus, in denen die Zeichenfolge gps vorkommt. Die Option -i steht für “(case-)insensitive” und findet alle Treffer unabhängig von der Groß- und Kleinschreibung des Suchmusters.
Erfolgt keine Ausgabe, enthält die Datei keine Geoinformationen. Abbildung 2 zeigt hingegen das Ergebnis für eine Aufnahme mit den entsprechenden Angaben für Längen- und Breitengrad. Der Eintrag GPSMapDatum bezeichnet die verwendete geodätische Datenmenge des GPS-Empfängers und bezeichnet hier Tokio beziehungsweise WGS-84.
Der Wert für die Höhe über dem Meeresspiegel (GPSAltitude) ist in der ausgewerteten Aufnahme bislang nicht gesetzt. Da obige Aufnahme auf einer Höhe von 493 Metern über dem Meeresspiegel erfolgte, bietet sich eine Ergänzung in den Metadaten an:
$ exiftool -GPSAltitude=493 Bilddatei
In diesem Aufruf übergeben Sie Exiftool die Höhenangabe einfach als Wert nach dem entsprechenden Tag und dem Gleichheitszeichen.
Geodaten ermitteln
Stecken die Informationen noch nicht in der Aufnahme und verfügen Sie über keine digitalen Trackdaten, ermitteln Sie diese von Hand und ergänzen dann die Aufnahmen. Für die Informationen zum Ort hilft häufig eine Abfrage über Geonames.org [14] weiter. Diese Datenbank beinhaltet alle öffentlich zugänglichen Namen von Orten, Regionen und Ländern und ermöglicht über den Webbrowser eine Volltextsuche.
Existieren Namen mehrfach, erscheint eine Liste mit den Suchtreffern zur weiteren Auswahl. Neben einer Referenz auf Google Maps erscheinen für jeden Eintrag eine Kurzbeschreibung sowie der Breiten- und Längengrad. Abbildung 3 zeigt das Ergebnis für Vaumarcus, den Veranstaltungsort der Debconf 2013.
Das Gegenstück von OpenStreetMap heißt Nominatim [15] (lat.: “namentlich”, “ausdrücklich”). Es kommt beispielsweise bei Wikipedia zum Einsatz, um Orte und Koordinaten einander zuzuordnen. Eine Anfrage wird dabei meist sehr ausführlich beantwortet. Abbildung 4 zeigt beispielhaft die Informationen zum Ausflugsziel “Blautopf” in der Schwäbischen Alb.
Bereits aufgezeichnete Wegstrecken – umgangssprachlich GPX-Tracks genannt – finden sich auf Gpsies.com, Waymarked Trails [16] und BBBike [17]. Gpsies.com liefert nur tatsächlich absolvierte Wegstrecken mit Bewertung und detaillierter Charakteristik der Route. Waymarked Trails enthält neben Wander- und Radwegen auch Routen für Inlineskater und Mountainbiker (Abbildung 5). BBBike bietet hingegen den direkten Vergleich von bis zu acht Kartenvarianten samt entsprechender Routen und variabler Karten (Overlays) für den Hintergrund (Abbildung 6).
Die Webseiten gestatten das interaktive Markieren einzelner Wegpunkte auf einer Karte über den Webbrowser. Diese Wegpunkte fassen Sie wiederum zu einer Route zusammen und exportieren diese als Textdatei im GPX-Format [18].
Kombination
Um nun alle Bestandteile zu vereinen, stehen unter anderem die beiden Programme Gottengeography [19] und QLandkarteGT [20] als Pakete für Debian, Ubuntu und Fedora bereit. In Gottengeography wählen Sie als Erstes den gewünschten Typ der Landkarte aus. Aus dem OpenStreetMap-Projekt stehen derzeit MapQuest, Mapnik, Cycle Map (Fahrradkarte) und die Transport Map (ÖPNV) bereit. Alternativ nutzen Sie nur das geografische Relief, genannt “Maps for Free Relief”.
Als Nächstes suchen Sie den passenden Ausschnitt auf der Landkarte. Das gelingt entweder über das Zurechtschieben der Karte mit der Maus oder mithilfe der Recherche im Textfeld über der Karte. Gottengeography nutzt zur Suche nach der korrekten geografischen Position im Hintergrund das bereits oben erwähnte Nominatim.
Über den Reiter Bilder laden Sie die Aufnahmen, die entlang der Wegstrecke entstanden sind. Verfügt eine Aufnahme bereits über Geoinformationen, zeigt Gottengeography sie sofort an der entsprechenden Position auf der Karte an. Falls nicht, schieben Sie die Aufnahme an die korrekte Position und speichern diese. Dabei wird automatisch die Position auf der Landkarte in die Exif-Daten der Aufnahme übertragen.
Zuletzt fügen Sie noch den GPX-Track für die aufgezeichnete Wegstrecke hinzu. Über den Reiter GPS laden Sie die Ihre GPX-Datei und wählen eine gewünschte Farbe aus (in Abbildung 7 dunkelrot). Daraufhin wertet Gottengeography den GPX-Track aus und stellt ihn zusätzlich dar.
QLandkarteGT
Erscheint Ihnen Gottengeography als zu simpel, dürfen Sie die Arbeit gern mit Werkzeugen wie QLandkarteGT fortsetzen. Bislang kann es zwar noch keine GPX-Tracks als Datei importieren, dafür aber beispielsweise die angezeigte Karte als Bild speichern und mit diversen GPS-Geräten kommunizieren. Damit gelingt Ihnen das Hochladen von Routen auf das Navigationsgerät sowie die Verarbeitung bereits aufgezeichneter Strecken. Weitere Informationen zur Routenbearbeitung in Google Maps liefert ein Artikel unserer Schwesterzeitschrift EasyLinux [21].
Fazit
Um aus einem Haufen digitaler Bilder und ein paar GPS-Daten eine ansprechende Präsentation der Urlaubsreise zu machen, brauchen Sie lediglich etwas Know-how und die richtigen Tools. Wer einmal verstanden hat, wie die verschiedenen Techniken ineinander greifen, der tut sich leicht damit, die gesammelten Daten zu verbinden und attraktiv zu gestalten.
Glossar
-
Exif
-
Das Exchangeable Image File Format bezeichnet Zusatzinformationen zu digitalen Aufnahmen. Die Japan Electronics and Information Technology Industries Association (JEITA) hat deren Struktur 2002 standardisiert, es gibt aber viele hersteller- und kameraspezifische Erweiterungen [1].
-
GPX-Format
-
GPS Exchange Format. Das GPX-Format dient dem Speichern und Austauschen von Geodaten. Es ist plattformunabhängig, offen und lizenzfrei. Bei GPX handelt es sich um ein XML-Format.
Infos
[1] Exif-Standard, http://www.exif.org/specifications.html
[2] Schwerpunkt Privacy: LU 09/2013, S. 14ff, https://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2013/09
[3] Geeqie: http://geeqie.sourceforge.net
[4] Exifprobe: http://freecode.com/projects/exifprobe
[5] Exiftran (FBIDA-Projekt): https://www.kraxel.org/blog/linux/fbida/
[6] Exiftool: Andreas Bohle, “Alles im Griff”, LU 09/2010, S. 28, https://www.linux-community.de/21636
[7] Pyexiv2: http://tilloy.net/dev/pyexiv2/
[8] Gexiv2: http://redmine.yorba.org/projects/gexiv2/wiki
[9] Python Imaging Library (PIL): http://www.pythonware.com/products/pil/
[10] Gpsies, http://www.gpsies.com
[11] GPS-Tracks aufzeichnen und bearbeiten: Thomas Leichtenstern, “Spurenleser”, EL 03/2010, S. 32, https://www.linux-community.de/21073
[12] TIFF Tag Reference: http://www.awaresystems.be/imaging/tiff/tifftags.html
[13] GPS-Tags im Exif-Standard: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/GPS.html
[14] Geonames: http://www.geonames.org
[15] Nominatim: http://nominatim.openstreetmap.org
[16] Waymarked Trails: http://waymarkedtrails.org
[17] Kartenvergleich auf BBBike: http://mc.bbbike.org/mc/
[18] GPX-Formats: http://de.wikipedia.org/wiki/GPS_Exchange_Format
[19] Gottengeography: http://gottengeography.ca/
[20] QLandkarteGT: http://www.qlandkarte.org/
[21] Bilder mit Geo-Koordinaten versehen: Thomas Leichtenstern, “Standortbestimmung”, EL 03/2010, S. 27, https://www.linux-community.de/21071
[] Der Autor bedankt sich bei Wolfram Schneider und Lars Lingner für ihre kritischen Anmerkungen und Kommentare im Vorfeld dieses Artikels.













Sie sollten in der Druckausgabe (i.e. gedrucktes Linuxuser-Heft)
entsprechende Symbole erklären. Insbesondere meine ich hier
“linke rechte Klammer + Pfeil nach rechts”.
Habe leider nicht die entsprechenden Symbole auf meiner Tastatur.
Mit dem Anti-Spam-Code klappt es daher auch nicht (MacOS-Tastatur)