Я хотел пометить географией все мои отпускные фотографии с помощью exiftool
следующим образом:
exiftool -geotag "*.gpx" \
-geosync "19:25:42Z@IMG_7882.jpg" \
-geosync "09:16:34Z@IMG_9798.jpg" \
-ext .jpg .
где IMG_7802.jpg - это фотография моих компьютерных часов, отображающая 20:25:42 MEZ на 01 марта 2018 года ( = 19: 25: 42 Zulu), и аналогично IMG_9798.jpg - это фотография моих компьютерных часов, отображающая 11:16:34 MESZ 31 марта 2018 года (= 09: 16: 34 Zulu). Я использовал два таких (брекетинга) эталонных изображения, чтобы учесть дрейф (и, действительно, часы камеры набрали 26 секунд в течение этого месяца).
Регулировка прошла успешно для опорных изображений:
$ exiftool -datetimeoriginal -gpsdatetime IMG_7882.jpg
Date/Time Original : 2018:03:01 20:25:42
GPS Date/Time : 2018:03:01 19:25:42Z
$ exiftool -datetimeoriginal -gpsdatetime IMG_9798.jpg
Date/Time Original : 2018:03:31 10:17:00
GPS Date/Time : 2018:03:31 09:16:34Z
Но для промежуточных изображений вычисленное время GPS значительно отключено, например, примерно на полчаса в следующем примере (время GPS приблизительно 14: 32Z - это то, что я ожидал)
$ exiftool -datetimeoriginal -gpsdatetime IMG_8888.jpg
Date/Time Original : 2018:03:17 15:32:22
GPS Date/Time : 2018:03:17 15:04:13.45312997Z
Соответственно, вычисленные долготы и широты также довольно далеки.
Мое обоснованное предположение состоит в том, что проблема связана с летним временем, которое началось в Германии между двумя эталонными изображениями. По-видимому, exiftool
интерпретирует DateTimeOriginal по местному времени (поэтому сначала MEZ = +0100
, а затем MESZ = +0200
), в то время как часы камеры просто продолжают тикать (примерно со смещением +0100
по всему).
В: Как я могу сказать exiftool
- , а не , предположить, что часы камеры (DateTimeOriginal) следуют любым правилам перехода на летнее время?
Да, проблема в конечном счете возникает с DST, переключаясь и того, что DateTimeOriginal
интерпретируется как местное время (следовательно подвергающийся изменениям DST). Кажется, существует несколько путей к обходному решению проблема
Т.е. измените настройки локали так, чтобы Ваша система была в часовом поясе, который не переключает DST во время временного интервала и затем вызывает exiftool
как в OP.
Однако я не рекомендую это. Необходимо было бы также быть осторожными, что выбранный часовой пояс DST меньше не слишком далек или иначе exiftool
могло бы быть выключено к целому дню с некоторыми его предположениями. Это кажется то Западноафриканское стандартное время (как используется в Нигерии), работал бы в моей определенной ситуации.
DateTimeOriginal
сначалаТ.е. первый показ
exiftool '-DateTimeOriginal<$DateTimeOriginal+01:00' -ext .jpg .
поскольку +01:00 был эффективно часовым поясом camara все время. Это, возможно, было желательно так или иначе для предотвращения будущего беспорядка во время, изображения были взяты. С другой стороны мы собираемся добавить однозначное и скорректированное время GPS так или иначе.
Я закончил тем, что делал
-geotime
и времена прямой ссылки со спецификацией часового пояса... как в
exiftool -geotag "*.gpx" \
-geosync "19:25:42Z@2018:03:01 20:25:42+01:00" \
-geosync "09:16:34Z@2018:03:31 10:17:00+01:00" \
'-geotime<${DateTimeOriginal}+01:00' \
-ext .jpg .
Это говорит exiftool
использовать DateTimeOriginal
с зоной требуемого времени вместо интерпретируемого как местное время. К сожалению, это только относится ко временам, считанным из изменяемых изображений, не для формы чтения времен ссылочные изображения (даже если Вы изменяете порядок параметра), так, чтобы явные времена (с часовым поясом) должны были использоваться вместо ссылок на файл.
На самом деле, так как моим изображениям refernce уже присвоили корректные времена GPS из первых экспериментов, что я действительно сделал было соединение B и C: Я сделал корректировку, предложенную в "B" только для двух ссылочных изображений:
$ exiftool '-DateTimeOriginal<$DateTimeOriginal+01:00' IMG_7882.jpg IMG_9798.jpg
так, чтобы их DateTimeOriginal
данные имели информацию о часовом поясе:
$ exiftool -datetimeoriginal -gpsdatetime IMG_7882.jpg
Date/Time Original : 2018:03:01 20:25:42.00+01:00
GPS Date/Time : 2018:03:01 19:25:42Z
$ exiftool -datetimeoriginal -gpsdatetime IMG_9798.jpg
Date/Time Original : 2018:03:31 10:17:00.00+01:00
GPS Date/Time : 2018:03:31 09:16:34Z
После этого я мог использовать ссылочные изображения их именами файлов
exiftool -geotag "*.gpx" \
-geosync "IMG_7882.jpg" \
-geosync "IMG_9798.jpg" \
'-geotime<${DateTimeOriginal}+01:00' \
-ext .jpg .
приводит к желаемому результату в течение времен GPS (и следовательно для координат GPS) также для промежуточных изображений:
$ exiftool -datetimeoriginal -gpsdatetime IMG_8888.jpg
Date/Time Original : 2018:03:17 15:32:22
GPS Date/Time : 2018:03:17 14:32:08.114220008Z