如何获取 GPS EXIF 数据的 long ref 和 lat ref 标签

问题描述

我有使用来自 script in Python文件的小 GPS Logger Android application

csv 格式的数据如下所示:

type,date time,latitude,longitude,accuracy(m),altitude(m),geoid_height(m),speed(m/s),bearing(deg),sat_used,sat_inview,name,desc
W,2020-10-15 16:33:16,48.97725712,16.96244793,15,258.483,43.517,0.000,8,25,Day1

(也有 GPX 文件,但我认为它没有高度数据)

而且我刚刚注意到 GPS 也有 long reflat ref 标签。我在 Pic2Map service that show GPS data for my photo 找到了它们。可能是因为维基共享资源在上传图片时没有正确检测 GPS,我需要手动输入 GPS 数据。

是否可以从这个 csv 表中提取此信息?如果是,那么我应该怎么做?或者,此文件显示的数据可能仅适用于 Globe 的一部分,我无法测试此应用程序,因为我从未去过欧洲以外的地方(现在由于 Covid,您无论如何都无法旅行)。

我也不确定您是否可以使用我在脚本中用于实际更新 Exif 数据的 exiftool 添加这些标签

解决方法

当位置位于西半球和/或南半球或海拔低于海平面时,GPS 参考标签很重要。假设您的 CVS 文件在这些情况下会正确显示负数,那么您对 ​​exiftool 所做的就是将 ref 标记设置为相同的值。 Exiftool 会自动从坐标中找出正确的参考方向。

使用示例脚本的一部分,您应该能够正确设置引用

'-GPSLatitude=%s' % loc['latitude'],'-GPSLongitude=%s' % loc['longitude'],'-GPSAltitude=%s' % loc['altitude(m)'],'-GPSLatitudeRef=%s' % loc['latitude'],'-GPSLongitudeRef=%s' % loc['longitude'],'-GPSAltitude=Ref%s' % loc['altitude(m)'],

Exiftool 还允许在设置标签时使用星号通配符,因此您可以这样做以同时设置值和引用。

'-GPSLatitude*=%s' % loc['latitude'],'-GPSLongitude*=%s' % loc['longitude'],'-GPSAltitude*=%s' % loc['altitude(m)'],

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...