Wie kann ich Bilder mit Standortdaten in einer CSV-Datei geotaggen?

Ich habe ein paar Ordner mit .JPG-Bildern, die ich mit Geo-Tags versehen muss. Ich habe keine .GPX-Datei oder irgendetwas anderes, mit dem ich meine üblichen Tools (Geosetter oder Photo Mechanic) verwenden kann, um die Bilder mit Geotags zu versehen, aber ich habe eine CSV-Datei mit den Bilddateinamen und ihren Längen- und Breitengraden, wie hier :

Date,File_name,Long,Lat
20150317,IMG_3672.JPG,-93.6325489,35.39918169
20150317,IMG_3673.JPG,-93.6322368,35.39960017
20150317,IMG_3674.JPG,-93.6322159,35.39984365
20150317,IMG_3675.JPG,-93.6322203,35.39991498

Ich verwende Windows 7. Natürlich könnte ich die EXIF-Metadaten manuell bearbeiten und jeden Koordinatensatz kopieren und in die entsprechenden EXIF-Tags einfügen, aber ich hatte gehofft, einen Weg zu finden, dies automatisch zu tun. Ich habe die Exiftool-GUI gefunden, mit der Metadaten aus einer XMP-Datei in das entsprechende JPG kopiert werden können, aber ich weiß nicht, wie ich meine Tabelle in eine Reihe von XMP-Dateien einfügen kann, um dies zu nutzen. Ich könnte auch ein Batch-Skript erstellen, um Exiftool über die Befehlszeile zu verwenden, was ich wahrscheinlich zu gegebener Zeit selbst herausfinden kann, aber für jemanden, der sich nicht regelmäßig mit EXIF-Daten befasst, die schiere Anzahl von Tags, Befehlszeilenargumenten und Optionen, die in Exiftool verfügbar sind, ist ein bisschen entmutigend.

Antworten (1)

ExifTool könnte dies tun, aber die Verwendung negativer Koordinaten könnte es zu einem zweistufigen Verfahren machen, je nachdem, welche Tags Sie verwenden möchten. XMP-GPS-Tags akzeptieren negative Koordinaten, aber EXIF-GPS-Tags akzeptieren nur positive Zahlen und benötigen das Richtungsreferenz-Tag, um genau zu sein.

Zunächst einmal müssten einige Änderungen an CSV vorgenommen werden. Die erste Zeile müsste "SourceFile,XMP:GPSLongitude,XMP:GPSLatitude" lauten. Das Datum wäre nicht erforderlich, es sei denn, Sie müssen das Datum ändern. Die erste Spalte müsste der vollständige Pfad zur Quelldatei sein. Ihre CSV-Datei müsste also in etwas wie geändert werden

SourceFile,XMP:GPSLongitude,XMP:GPSLatitude
C:/full/path/to/IMG_3672.JPG,-93.6325489,35.39918169
C:/full/path/to/IMG_3673.JPG,-93.6322368,35.39960017
C:/full/path/to/IMG_3674.JPG,-93.6322159,35.39984365
C:/full/path/to/IMG_3675.JPG,-93.6322203,35.39991498

Von dort aus wäre der Befehl so einfach wie

ExifTool -csv="/path/to/csvfile.csv" /directory/path/

Dadurch werden die XMP-GPS-Tags geladen. Wenn Sie auch die EXIF-Geo-Tags benötigen, können Sie mit nachfassen

ExifTool "-GPS:all<XMP-exif:all" "-GPS:GPSLongitudeRef<Composite:GPSLongitudeRef" "-GPS:GPSLatitudeRef<Composite:GPSLatitudeRef"  /directory/path/ 
Das hat perfekt funktioniert, danke! Die Software, die ich verwende, liest anscheinend GPS-Daten von den XMP-Tags, daher habe ich den letzten Schritt nicht getestet, das Kopieren der Breiten- und Längenangaben von den XMP-Tags in die EXIF-Tags.
Der 2. Teil, den Dan nicht verwendet hat, funktioniert auch perfekt. Vielen Dank!
Ich habe diese Methode ausprobiert, aber kein Ergebnis. Ich glaube, ich mache etwas falsch i.stack.imgur.com/y80Wy.png i.stack.imgur.com/hZ81V.png Wie genau soll ich den Code schreiben?