Добавление широты-долготы (из файла) к 4000 изображениям с помощью exiftool - PullRequest
0 голосов
/ 26 мая 2018

У меня есть 4000 .jpeg графических файлов, к которым я хочу to add Latitude & Longitude, используя exiftool.У меня есть текстовый файл, имеющий:

  • Первый столбец = Имена файлов изображений по порядку от 1 до 4000
  • Второй столбец = Широта
  • Третий столбец= Долгота

Как добавить долготы и широты к изображениям с помощью какого-либо сценария?

1 Ответ

0 голосов
/ 26 мая 2018

Я не пробовал скрипт, поэтому, очевидно, есть некоторые возможности для оптимизации.На данный момент вы можете попробовать это.

Учитывая, что файл с именем 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

Некоторые моменты, которые необходимо учитывать:

  1. Если теги exif вам не подходят, вы можете использовать теги XMP.В этом случае командная строка будет выглядеть следующим образом:

    exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG"  -GPSLatitudeRef="South" -GPSLongitudeRef="East" "$IMAGE"
    
  2. Если у вас нет References values для GPSLatitudeRef & GPSLongitudeRef позиций, просто используйте -P, и он должен работать нормально:

    exiftool -XMP:GPSLatitude="$LAT" -XMP:GPSLongitude="$LONG" -P "$IMAGE"
    

    -P опция сохраняет и перезаписывает значения переданных ей тегов, игнорируя остальные теги, которые также необходимы.

  3. Если вы хотите добавить больше или меньше тегов, см. GPS-теги .

Не стесняйтесь добавлять более подробную информацию.

...