AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1021063
Accepted
Hagen von Eitzen
Hagen von Eitzen
Asked: 2018-04-02 05:54:59 +0800 CST2018-04-02 05:54:59 +0800 CST 2018-04-02 05:54:59 +0800 CST

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

  • 772

我想对我所有的假期照片进行地理标记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 祖鲁语)。我使用了两个这样的(包围式)参考图像来解释漂移(实际上,相机时钟在那个月似乎增加了 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 时间显着偏离,例如在以下示例中大约半小时(我所期望的大约 14:32Z 的 GPS 时间)

$ 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) 遵循任何夏令时规则?

clock timezone camera exiftool
  • 1 1 个回答
  • 248 Views

1 个回答

  • Voted
  1. Best Answer
    Hagen von Eitzen
    2018-04-02T09:54:52+08:002018-04-02T09:54:52+08:00

    是的,问题最终来自 DST 切换以及DateTimeOriginal被解释为本地时间的事实(因此受 DST 更改的影响)。似乎有几种方法可以解决这个问题

    A) 更改本地时区

    即,更改区域设置,使您的系统处于在时间间隔内不切换 DST 的时区,然后exiftool像在 OP 中那样调用。

    但是,我不会推荐这个。您还必须注意所选的无 DST 时区不会太远,否则exiftool可能会因一些猜测而偏离一整天。似乎西非时间(在尼日利亚使用)在我的具体情况下会起作用。

    DateTimeOriginalB)首先添加时区信息

    即,第一次运行

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

    因为 +01:00 实际上一直是卡马拉的时区。无论如何,这可能是可取的,以防止将来混淆图像的拍摄时间。话又说回来,无论如何我们都将添加明确和调整的 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
    
    • 0

相关问题

  • 时钟在不活动时停止滴答,导致漂移

  • 附加到时钟小程序的天气通知

  • 登录后时钟小程序停止

  • 为什么我的时钟、指示器小程序和通知区域有时会在我重新启动时移动?我怎样才能防止这种情况?

  • 指标小程序:如何摆脱时钟?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve