EXIF-Informationen aus Bildern unter Linux entfernen

Die meisten Bilder, welche aus einer Digitalkamera kommen enthalten sogenannte EXIF-Informationen. Die Abkürzung EXIF steht dabei für Exchangeable Image File Format. In diesen Metadaten zum Bild können eine Reihe von Informationen enthalten sein, wie z.B. Datum und Uhrzeit, Koordinaten an welchen das Bild geschossen wurde, die Blendenzahl und viele weitere. Unter Umständen kann es gewünscht sein diese Informationen zu entfernen. Unter Linux, in diesem Fall Ubuntu, kann das mit dem ExifTool erledigt werden. Dazu muss dieses im ersten Schritt installiert werden:

apt install exiftool

Anschließend kann eine einzelne Datei mit dem Befehl:

exiftool -all= image.jpg

bearbeitet werden. Soll das Ganze rekursiv über mehrere Ordner passieren kann folgender Befehl genutzt werden:

cd folder/
find . -iname "*.jpg" -type f -exec exiftool -all= {} \;

Er durchsucht alle Verzeichnisse unterhalb des gewählten Verzeichnisses und entfernt, für jede Datei mit der Endung .jpg, die EXIF-Daten.

GPS getaggte Bilder auf einer Karte anzeigen

Über das Wochenende hatte ich einige GPS getagte Bilder geschossen und wollte diese auf einer Karte darstellen. Eine kurze Suche im Netz ergab, das so etwas in dieser Form nicht existierte (wobei hier natürlich ein Irrtum vorliegen kann). Also wurde das ganze auf Basis von Leaflet implementiert.

Die Webapplikation in Aktion

Die Webapplikation in Aktion

Leaflet ist ein Framework mit welchem man schnell Kartenapplikationen im Web realisieren kann. Um den „Gps Tagged Image Viewer“ zu benutzen, müssen die Dateien auf einem Webserver kopiert werden. Die Bilder werden dabei in den Ordner „images“ kopiert. Anschließend wird das PHP Skript „parseimages.php“ aus dem „utils“ Ordner ausgeführt. Dieses ließt die EXIF Daten aus den Bildern aus und erzeugt die entsprechenden Marker in einer Javascript Datei. Danach kann das ganze genutzt werden.

Die Karte ist dabei mit drei Kartenebenen versehen, einmal Bing Luftbilder (für welche ein API-Key registriert werden muss), sowie OpenStreetMap in zwei unterschiedlichen Renderings. Der Quelltext ist unter GPLv3 verfügbar und kann auf GitHub bezogen werden.

GPS EXIF Koordinaten in dezimale Gradkoordinaten umrechnen

Wenn man sich einmal die Mühe macht und in EXIF Daten hineinschaut um die GPS Daten zu ermitteln, so wird man feststellen, das die Daten nicht einfach in Dezimalgrad angegeben sind, sondern in Form von rationalen Zahlen, aufgeteilt in Grad, Minuten und Sekunden. Möchte man diese Angaben nun in Dezimalgrad umrechnen ist etwas Mathematik gefragt. Nehmen wir folgende Arrays für Latitude und Longitude an:

Latitude ( [0] => 53 [1] => 1 ) Array ( [0] => 29 [1] => 1 ) Array ( [0] => 5065 [1] => 100 )
Longitude ( [0] => 13 [1] => 1 ) Array ( [0] => 18 [1] => 1 ) Array ( [0] => 1928 [1] => 100 )

Daraus ergibt sich dann folgender Rechnenweg welcher hier exemplarisch für die Latitude gezeigt sei:

latitudeGrad=53/1
latitudeMinuten=29/1
latitudeSekunden=5065/100

Wenn die Werte der rationalen Zahlen korrekt sind kann die Umwandlung in Dezimalgrad nach folgender Formel beginnen:

Dezimalgrad=Grad+(Minuten*60+Sekunden)/3600

Im obigen Beispiel müssten hierbei in etwa (je nach Genauigkeit) die Koordinaten 53.497222 und 13.305278 in Dezimalgrad herauskommen.