如何在mac中使用Exiftool添加GPS纬度和经度(如何在jpeg中编辑元数据)

问题描述 投票:0回答:5

我有一堆从 FLIR 相机获得的 jpeg 图像。除了这些图像之外,我还收集了 GPS 坐标。现在我正在尝试将 GPS 纬度和经度获取到图像的元数据中。

我用 R 编程语言编写了一个程序,用于查找每个图像相对于时间的 GPS 位置(当 GPS 位置时间和相机时间匹配时,我就获取该坐标)。

即,对于特定图像,我有 GPSLatitude <- 19.33423 and GPSLongitude <- 72.090834

但现在我需要将这些准确的 GPS 位置添加到图像中。

我尝试使用 Exiftool 来做到这一点。我正在使用 Mac osX sierra。我安装了 exiftool。但现在我不知道如何使用它来更新 GPS 数据。

任何人都可以帮助我吗?如果可能的话请告诉我直接从 R 编程语言本身更新数据的方法

谢谢

r gps jpeg exif exiftool
5个回答
8
投票

使用 exiftool 添加 GPS 坐标:

exiftool -XMP:GPSLongitude="-84.683333"  -XMP:GPSLatitude="10.502117"  -GPSLongitudeRef="West" -GPSLatitudeRef="North" photo.jpg

这些值只是从 Google 地图获取的浮点数。


4
投票

来自 exiftool 论坛上线程的结果

output <- system(sprintf("exiftool -GPSLatitude=%f -GPSLongitude=%f %s",q,p,aa))


output <- system(paste("exiftool -GPSLatitude=",q," -GPSLongitude=",p," ", aa))


2
投票

为了处理经纬度可能为负值的情况,我建议先导入XMP,然后从XMP复制到EXIF: (bash代码)

exiftool -XMP:GPSLatitude="$latitude" -XMP:GPSLongitude="$longitude"  "$image"
exiftool "-gps:all<xmp-exif:all" "-gps:all<composite:all" "-gpsdatestamp<gpsdatetime" "-gpstimestamp<gpsdatetime" "$image"
exiftool -EXIF:GPSAltitude="$altitude" -EXIF:GPSAltitudeRef#="0" -EXIF:GPSMapDatum='WGS-84' "$image"


1
投票

当尝试按照Casto Salobreña的建议做类似的事情时,我收到以下错误:

$ exiftool -XMP:GPSLatitude=1.2843265 -XMP:GPSLongitude=36.8798949 -GPSLatitudeRef=South -GPSLongitudeRef=East -P test.jpeg 
Warning: Truncated PreviewIFD directory. IFD dropped. - test.jpeg
Error: [minor] Bad PreviewIFD directory - test.jpeg
    0 image files updated
    1 files weren't updated due to errors

为了解决这个问题,我删除了

Ref
选项,删除并将
South
方向(或者可能需要对
West
执行相同操作)更改为负数:

$ exiftool -XMP:GPSLatitude=-1.2843265 -XMP:GPSLongitude=36.8798949 -P test.jpeg 
    1 image files updated

现在我测试:

$ exiftool -l test.jpeg
...
GPS Position
    1 deg 17' 3.58" S, 36 deg 52' 47.62" E
...

0
投票

exiftool 12.44+ 中,您现在可以简单地指定小数坐标,它会将这些坐标转换为适当的元标记,包括参考方向:

exiftool -gpsposition="-25.40424,27.73621" image.jpg

exiftool image.jpg | grep GPS
GPS Version ID                  : 2.3.0.0
GPS Latitude Ref                : South
GPS Longitude Ref               : East
GPS Latitude                    : 25 deg 24' 15.26" S
GPS Longitude                   : 27 deg 44' 10.36" E
GPS Position                    : 25 deg 24' 15.26" S, 27 deg 44' 10.36" E
© www.soinside.com 2019 - 2024. All rights reserved.