How to add GPS latitude and longitude using Exiftool in mac (如何编辑jpeg中的元数据)
How to add GPS latitude and longitude using Exiftool in mac (how to edit meta data in jpeg)
我有一堆从 FLIR 相机获得的 jpeg 图像。除了这些图像,我还收集了 GPS 坐标。现在我正在尝试将 GPS 纬度和经度获取到图像的元数据中。
我用 R 编程语言编写了一个程序来查找每张图像相对于时间的 GPS 位置(当 GPS 定位时间和相机时间匹配时,我就获取该坐标)。
即,对于特定图像,我有 GPSLatitude <- 19.33423 和 GPSLongitude <- 72.090834
但现在我需要将那些精确的 GPS 位置添加到图像中。
我试着用 Exiftool 来做到这一点。我正在使用 Mac osX sierra。在那里我安装了exiftool。但现在我不知道如何使用它更新 GPS 数据。
谁能帮帮我。如果可能的话让我知道直接从 R 编程语言本身更新数据的方法
谢谢
来自 exiftool 论坛 thread 的结果
output <- system(sprintf("exiftool -GPSLatitude=%f -GPSLongitude=%f %s",q,p,aa))
或者
output <- system(paste("exiftool -GPSLatitude=",q," -GPSLongitude=",p," ", aa))
使用exiftool添加gps坐标:
exiftool -XMP:GPSLongitude="-84.683333" -XMP:GPSLatitude="10.502117" -GPSLongitudeRef="West" -GPSLatitudeRef="North" photo.jpg
这些值只是从 Google 地图中获取的浮点数。
当尝试按照 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
...
为了处理纬度和经度可能的负值,我建议先导入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"
我有一堆从 FLIR 相机获得的 jpeg 图像。除了这些图像,我还收集了 GPS 坐标。现在我正在尝试将 GPS 纬度和经度获取到图像的元数据中。
我用 R 编程语言编写了一个程序来查找每张图像相对于时间的 GPS 位置(当 GPS 定位时间和相机时间匹配时,我就获取该坐标)。
即,对于特定图像,我有 GPSLatitude <- 19.33423 和 GPSLongitude <- 72.090834
但现在我需要将那些精确的 GPS 位置添加到图像中。
我试着用 Exiftool 来做到这一点。我正在使用 Mac osX sierra。在那里我安装了exiftool。但现在我不知道如何使用它更新 GPS 数据。
谁能帮帮我。如果可能的话让我知道直接从 R 编程语言本身更新数据的方法
谢谢
来自 exiftool 论坛 thread 的结果
output <- system(sprintf("exiftool -GPSLatitude=%f -GPSLongitude=%f %s",q,p,aa))
或者
output <- system(paste("exiftool -GPSLatitude=",q," -GPSLongitude=",p," ", aa))
使用exiftool添加gps坐标:
exiftool -XMP:GPSLongitude="-84.683333" -XMP:GPSLatitude="10.502117" -GPSLongitudeRef="West" -GPSLatitudeRef="North" photo.jpg
这些值只是从 Google 地图中获取的浮点数。
当尝试按照 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
...
为了处理纬度和经度可能的负值,我建议先导入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"