将文本文件转换为gps跟踪文件

时间:2018-07-09 09:07:27

标签: exiftool

注意:问题是根据建议进行编辑的

我想对图像进行地理标记

im1.jpg    im2.jpg

图像内容 enter image description here


我尝试使用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

1 个答案:

答案 0 :(得分:1)

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

相反,我建议您将TXT文件转换为CSV文件并使用-csv option。需要进行一些简单的更改。第一列需要更改为文件名,看起来只需要向第一列中的每个数字添加.jpg即可。第一列的列标题将需要更改为SourceFile。除非您需要将时间戳添加到图像文件,否则可以删除“时间”列,在这种情况下,我建议将列标题更改为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