问题描述
我有使用来自 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 ref
和 lat 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)'],