Я не пробовал скрипт, поэтому, очевидно, есть некоторые возможности для оптимизации.На данный момент вы можете попробовать это.
Учитывая, что файл с именем coordinates
содержит столбцы, как описано в вопросе, я написал этот скрипт соответственно.
#!/bin/bash
# Loop for every line in the coordinates file
cat coordinates | while IFS= read -r line
do
# Get Image name from Ist, Latitude from 2nd & Longitude from 3rd column.
IMAGE=`echo "$line" | awk '{print $1}'`
LAT=`echo "$line" | awk '{print $2}'`
LONG=`echo "$line" | awk '{print $3}'`
# Assign variables values into "exiftool" command
exiftool -exif:gpslatitude="$LAT" -exif:gpslatituderef=S -exif:gpdlongitude="$LONG" -exif:gpslongituderef=E "$IMAGE"
done
Некоторые моменты, которые необходимо учитывать:
Если теги exif
вам не подходят, вы можете использовать теги XMP
.В этом случае командная строка будет выглядеть следующим образом:
exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG" -GPSLatitudeRef="South" -GPSLongitudeRef="East" "$IMAGE"
Если у вас нет References values
для GPSLatitudeRef
& GPSLongitudeRef
позиций, просто используйте -P
, и он должен работать нормально:
exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG" -P "$IMAGE"
-P
опция сохраняет и перезаписывает значения переданных ей тегов, игнорируя остальные теги, которые также необходимы.
Если вы хотите добавить больше или меньше тегов, см. GPS-теги .
Не стесняйтесь добавлять более подробную информацию.