exiftool和geosync的问题,可能与夏时制有关

哈根·冯·埃岑

我想对所有度假照片进行地理标记exiftool,如下所示:

exiftool -geotag "*.gpx" \
 -geosync "19:25:42Z@IMG_7882.jpg" \
 -geosync "09:16:34Z@IMG_9798.jpg" \
 -ext .jpg .

其中IMG_7802.jpg是我的计算机时钟的照片,显示2018年3月1日20:25:42 MEZ(= 19:25:42 Zulu),类似地IMG_9798.jpg是我的计算机时钟的照片显示11:16:34 MESZ于2018年3月31日(= 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认为相机时钟(原始日期时间)如下任何夏令时规则?

哈根·冯·埃岑

是的,问题最终出自DST切换,并且事实DateTimeOriginal被解释为当地时间(因此可能会因DST的变化而改变)。似乎有几种方法可以解决此问题

A)更改当地时区

即,更改语言环境设置,以使您的系统所在的时区不会在该时间间隔内切换DST,然后exiftool像在OP中一样进行调用

但是,我不建议这样做。您还必须注意,所选的无DST时区的距离不会太远,否则exiftool可能会由于猜测的缘故而整整整整一天地离开。在我的特定情况下,西非时间(在尼日利亚使用)似乎可以正常工作。

B)添加时区信息DateTimeOriginal第一

即第一次运行

exiftool '-DateTimeOriginal<$DateTimeOriginal+01:00' -ext .jpg .

因为+01:00一直以来都是camara的时区。无论如何,这样做可能是可取的,以防止将来对拍摄图像的时间产生混淆。再说一次,无论如何,我们将要添加明确且已调整的GPS时间。

我最终做了

C)-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指定的时区,而不是解释为本地时间。不幸的是,这仅适用于从修改后的图像读取的时间,不适用于从参考图像读取的时间(即使更改了参数顺序),因此必须使用显式时间(带有时区)代替文件参考。


实际上,由于从第一个实验中我的参照图像已经被分配了正确的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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

奇怪的键盘和启动选项问题可能与 Ubuntu 双启动有关(已解决但对原因感到好奇)

来自分类Dev

PC和Windows 10可能存在随机启动循环,可能与BIOS /主板有关

来自分类Dev

可能与AngularJS有关的jQuery选择器出现问题

来自分类Dev

投放失败,可能与Pointer有关

来自分类Dev

奇怪的Tomcat中断,可能与maxConnections有关

来自分类Dev

意外的输出可能与数据类型有关?

来自分类Dev

WebGL未呈现可能与警告有关

来自分类Dev

错误,可能与内存有关

来自分类Dev

硬件错误,可能与CPU微码有关?

来自分类Dev

升级到 Ubuntu 18.04 LTS 后的 GUI 问题(可能与“Gnome global application menu”扩展有关)

来自分类Dev

关于一个代码段的问题,可能与日期时间功能有关

来自分类Dev

有关IIS和localhost的问题

来自分类Dev

有关Servlet的问题和建议

来自分类Dev

与AsyncTask和FragmentManager有关的问题

来自分类Dev

有关使用PowerShell Select-String,exiftool(-k)的问题

来自分类Dev

有关jQuery hover(),setInterval范围和“ this”问题的问题-

来自分类Dev

Mockito抛出UnfinishedVerificationException(可能与本机方法调用有关)

来自分类Dev

F#拒绝存在构造函数(可能与类型约束有关)

来自分类Dev

可能与proguard有关吗?-查询数据存储时使用“缺少”类的神秘的“ NullPonterException”

来自分类Dev

python程序中的错误,可能与vtk有关。请帮忙?

来自分类Dev

从API反应图像标题错误可能与正确的索引有关

来自分类Dev

蓝屏可能与板载音频或音频驱动程序有关?

来自分类Dev

如何解决间歇性USB故障(可能与静态接地有关)?

来自分类Dev

精度损失可能与类型不匹配错误有关

来自分类Dev

无法覆盖Magento块(可能与缓存有关)

来自分类Dev

Mockito抛出UnfinishedVerificationException(可能与本机方法调用有关)

来自分类Dev

编译源代码时出错,可能与cpp有关

来自分类Dev

两个错误可能与Php PDO有关

来自分类Dev

使用DataBase.Persist时Haskell解析错误(可能与使用准引号有关)

Related 相关文章

  1. 1

    奇怪的键盘和启动选项问题可能与 Ubuntu 双启动有关(已解决但对原因感到好奇)

  2. 2

    PC和Windows 10可能存在随机启动循环,可能与BIOS /主板有关

  3. 3

    可能与AngularJS有关的jQuery选择器出现问题

  4. 4

    投放失败,可能与Pointer有关

  5. 5

    奇怪的Tomcat中断,可能与maxConnections有关

  6. 6

    意外的输出可能与数据类型有关?

  7. 7

    WebGL未呈现可能与警告有关

  8. 8

    错误,可能与内存有关

  9. 9

    硬件错误,可能与CPU微码有关?

  10. 10

    升级到 Ubuntu 18.04 LTS 后的 GUI 问题(可能与“Gnome global application menu”扩展有关)

  11. 11

    关于一个代码段的问题,可能与日期时间功能有关

  12. 12

    有关IIS和localhost的问题

  13. 13

    有关Servlet的问题和建议

  14. 14

    与AsyncTask和FragmentManager有关的问题

  15. 15

    有关使用PowerShell Select-String,exiftool(-k)的问题

  16. 16

    有关jQuery hover(),setInterval范围和“ this”问题的问题-

  17. 17

    Mockito抛出UnfinishedVerificationException(可能与本机方法调用有关)

  18. 18

    F#拒绝存在构造函数(可能与类型约束有关)

  19. 19

    可能与proguard有关吗?-查询数据存储时使用“缺少”类的神秘的“ NullPonterException”

  20. 20

    python程序中的错误,可能与vtk有关。请帮忙?

  21. 21

    从API反应图像标题错误可能与正确的索引有关

  22. 22

    蓝屏可能与板载音频或音频驱动程序有关?

  23. 23

    如何解决间歇性USB故障(可能与静态接地有关)?

  24. 24

    精度损失可能与类型不匹配错误有关

  25. 25

    无法覆盖Magento块(可能与缓存有关)

  26. 26

    Mockito抛出UnfinishedVerificationException(可能与本机方法调用有关)

  27. 27

    编译源代码时出错,可能与cpp有关

  28. 28

    两个错误可能与Php PDO有关

  29. 29

    使用DataBase.Persist时Haskell解析错误(可能与使用准引号有关)

热门标签

归档