首页 > 解决方案 > 将文本文件转换为 GPS 轨迹文件

问题描述

注:问题根据建议编辑

我想对我的图像进行地理标记

im1.jpg im2.jpg

图片内容 在此处输入图像描述


我尝试了使用 csv 的解决方案,但收到此错误

我有一个 csv 文件adata.csv

SourceFile,DateTimeOriginal,GPSLatitude,GPSLongitude,GPSLatitudeRef,GPSLongitudeRef
im1.jpg,1635.387709,52.23829321,10.54680910,52.23829321,10.54680910
im2.jpg,1645.892446,52.23828047,10.54680857,52.23828047,10.54680857


C:\EXIF>exiftool -csv=adata.csv Images

错误:

C:\EXIF>exiftool -csv=adata.csv Images
No SourceFile 'Images/im1.jpg' in imported CSV database
(full path: 'c:/exif/images/im1.jpg')
No SourceFile 'Images/im2.jpg' in imported CSV database
(full path: 'c:/exif/images/im2.jpg')
    1 directories scanned
    0 image files read

标签: exiftool

解决方案


我对 gpx 格式了解不多,但您的示例不包含时间戳,exiftool 需要时间戳才能在图像和轨道之间同步。另一件需要注意的事情是 gpx 时间戳应该是 UTC,这可能需要一些工作才能正确同步,特别是如果您的文本文件中的时间戳是本地时间。

相反,我建议将您的 TXT 文件转换为 CSV 文件并使用-csv选项. 需要进行一些简单的更改。第一列需要更改为文件名,看起来只需要添加.jpg到第一列中的每个数字。第一列的列标题需要更改为SourceFile. 可以删除 Time 列,除非您需要将时间戳添加到图像文件中,在这种情况下,我建议将列标题更改为DateTimeOriginal. 纬度和经度列标题需要更改为GPSLatitudeGPSLongitude。最后,由于 GPS 元数据未签名,您需要设置参考标签。复制GPSLatitudeGPSLongitude列并将标题更改为GPSLatitudeRefGPSLongitudeRef. 在 Excel 或 LibreOffice 等电子表格程序中,这一切都应该相对容易。

此时,您的新 CSV 文件应如下所示:

SourceFile,DateTimeOriginal,GPSLatitude,GPSLongitude,GPSLatitudeRef,GPSLongitudeRef
1.jpg,13:22:05,45.9874167,-76.875233,45.9874167,-76.875233

然后您可以运行此命令来填充 gps 数据
exiftool -csv=data.csv c:\Images


推荐阅读