如何使用单独记录的 GPS 数据批量标记数百张照片?

Glu*_*ate 4 gps metadata exif

我有大量照片,我想使用 GPS 跟踪器记录的数据进行标记。理想情况下,我想将我的照片的时间戳与我的跟踪器在这些特定时间报告的位置相关联。

实现这一目标的最快和最简单的方法是什么?

:图片为标准jpeg文件,GPS数据格式为KML文件

Glu*_*ate 8

命令行解决方案

概述

在处理任何类型的元数据时,exiftool应该始终是首选的实用工具。它带有大量不同的选项和命令,允许您随意标记图像。

例如,如果要使用文件提供的地理数据标记特定文件夹中的所有图像,KML可以使用以下命令:

cd image_folder
exiftool -geotag gps.kml *.jpg
Run Code Online (Sandbox Code Playgroud)

当然,还有更多的选项和设置可用。有关使用 exiftool 进行 GPS 标记的所有复杂细节,我建议您查阅exiftool 文档的这一部分

安装

exiftool 是官方 Ubuntu 存储库的一部分,可以使用以下命令进行安装:

sudo apt-get install libimage-exiftool-perl
Run Code Online (Sandbox Code Playgroud)

图形用户界面解决方案

概述

有多个可用的 exiftool 前端。GPicSync是一种专门用于地理标记图像的工具。界面简单易用:

在此处输入图片说明

指定要使用的图像文件夹和 GPS 文件后,您只需单击同步即可使用 GPS 标签更新图像元数据。

其他选项允许您设置时间偏移,甚至可以在 Google 地球中查看您的图像。

安装

安装 GPicSync 需要手动设置其依赖并下载 python 源代码。有人要求在 Ubuntu/Debian 中打包 GPicSync,但所有可用的包都已过时。

以下是安装和设置 GPicSync 必须遵循的步骤:

  1. 安装所有依赖

    sudo apt-get install libimage-exiftool-perl python-unidecode python-imaging python-wxgtk2.8
    
    Run Code Online (Sandbox Code Playgroud)
  2. 查看最新的python源码

    git clone https://github.com/notfrancois/GPicSync.git
    
    Run Code Online (Sandbox Code Playgroud)
  3. 导航到克隆的文件夹,使 GPicSync 可执行,然后运行它:

    cd GPicSync
    chmod +x gpicsync-GUI.py
    ./gpicsync-GUI.py
    
    Run Code Online (Sandbox Code Playgroud)

就是这样。GPicSync 应该已启动并正在运行。为了更好地将应用程序集成到您的系统中,您可以考虑为它创建一个启动器

我已经在 Ubuntu 12.04 上测试了这些安装说明。包名称和依赖项在较新版本上可能有所不同。


在不同的 GPS 数据格式之间转换

概述

GPicSync 的一个缺点是它只支持两种输入格式,GPX 和 NMEA。与 exiftool 相比,这是非常少的。但是,如果需要,您始终可以使用GPSBabel在不同的 GPS 数据格式之间进行转换。例如,要将 KML 转换为 GPX,您可以使用以下命令:

gpsbabel -i kml -f gps.kml -o gpx -F gps.gpx
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用许多在线转换器之一,例如这个

安装

gpsbabel 是官方 Ubuntu 存储库的一部分,可以通过以下方式安装:

sudo apt-get install gpsbabel
Run Code Online (Sandbox Code Playgroud)

进一步阅读gpsbabel用法。