如何把 GPX 文件导入 Lightroom
手机整段徒步都在记录自己的位置,一台单独的相机通常完全不知道自己在哪儿。把这次徒步的 GPX 文件拿到 Lightroom Classic 里,它会读出每张照片自带的拍摄时间,在轨迹上找到对应的那个点,再把坐标写回照片本身——不用自己一张张标位置,也不用猜某张照片到底是在哪个转弯拍的。这一切能不能成,关键在于两个时钟对不对得上,而这恰恰是第一次用的人最容易搞错的地方。
简单说
在 Lightroom Classic 里打开"地图"模块,点开"轨迹记录"菜单,选"载入轨迹记录…",指定这个 GPX 文件,轨迹就会画在地图上。在下面的胶片显示窗格里选中这次徒步拍的照片,回到轨迹记录菜单,选"自动为照片添加标记"(或"自动为所选照片添加标记")。Lightroom 会拿每张照片自己的拍摄时间去比对轨迹上的时间戳,把最接近那个点的坐标写进这张照片的元数据里。
这是桌面版 Lightroom Classic 才有的功能。云端版的 Lightroom 没有地图模块,也不支持轨迹记录,GPX 文件在那边根本没地方可以载入。
这个功能到底是为了解决什么问题
单反、微单,还有不少卡片机,绝大多数根本没有内置 GPS 芯片。而手机整段路都在记录轨迹,正好生成了这个问题最需要的那种文件:一串连续的坐标,每个坐标都带着时间戳。轨迹匹配做的事,就是把这份记录借给那些自己没法打上位置标签的照片用,让用正经相机拍的照片,最后也能拥有手机照片自动就有的那种位置信息。
真正决定成败的那一步
GPX 里的时间戳按惯例是用 UTC 写的,而相机的时钟,除非有人特意调过,一般都是当地时间。Lightroom 得先知道这两者之间差多少,才能把照片对到轨迹上正确的那个点,所以载入轨迹记录、或者第一次自动打标签的时候,它通常会问你要一个时区偏移量。这个偏移量哪怕只差一个小时,每张照片最后落的都是轨迹上真实存在的一个点,只是落错了点,往往是实际拍摄地点走几分钟才能到的地方。
最稳妥的办法,是像跨时区出门前那样,出发前先确认相机的时钟设成了当地时间,再确认 Lightroom 给出的偏移量确实对应你当时所在的地方,而不是直接接受它给的默认值。
自动打标签要成立,需要满足哪些条件
- 照片的拍摄时间要落在轨迹覆盖的时间范围之内——在开始记录之前或者结束之后拍的照片,根本没有可以比对的对象。
- 相机的时钟和记录轨迹那台设备的时钟,时间要大致对得上——相机时钟几周没校准、悄悄偏了几分钟,会让沿途所有的匹配都跟着一起偏移。
- 轨迹要真的覆盖到那一段——暂停造成的空白,或者 GPS 信号丢失一阵子留下的空白,会让那段时间拍的照片没有东西可以比对。这时 Lightroom 会拿旁边现有的最近一个点凑合,那是猜测,不是准确的答案。
这样做能解决什么,解决不了什么
自动打标签会把真实的 GPS 坐标写进照片自己的文件里,跟手机相机自己写入的是同一个字段——从这一刻起,任何读取照片元数据的 App 或网站看到的都是一张有位置信息的照片,而不是只存在于 Lightroom 目录里的一个猜测。但它没法凭空补回一次根本没被记录过的徒步,也没法比轨迹本身记录得更精细地定出照片的位置。轨迹每隔几秒就有一个点,匹配就准;点比较稀疏,匹配自然也就粗一些。
TrailCam 能帮上什么忙
TrailCam 会在你在外面的整段时间里用 GPS 记录轨迹,可以把单次徒步、也可以把整段历史一次性导出成 GPX 1.1 文件——这正是 Lightroom 地图模块所需要的那种轨迹记录。带一台正经相机去拍好照片,GPS 这一块交给手机,这种搭配很常见,这个功能本来就是为它准备的。导出功能包含在可选的 TrailCam Pro 里,App 本身免费下载。
常见问题
- 这个方法是不是只对特定 App 生成的 GPX 文件有效?
- 只要是带时间戳轨迹点的标准 GPX 文件都能用。Lightroom Classic 读取的是文件本身写的坐标和时间,跟是哪个 App 生成的没关系。
- 为什么 Lightroom 把照片标到了轨迹上不对的地方?
- 几乎都是时区偏移量的问题。GPX 的时间戳是 UTC,相机时钟是当地时间,Lightroom 需要知道两者之间正确的差值才能对上。偏移量算错了,照片依然会落在轨迹上真实存在的某个点,只是不是正确的那个。
- 云端版的 Lightroom 能不能做到同样的事,而不是一定要用 Lightroom Classic?
- 不能。载入轨迹记录和自动打标签都在地图模块里,而地图模块只有桌面版的 Lightroom Classic 才有。
记录你自己的轨迹
TrailCam 是一款 iPhone 上的 GPS 轨迹记录 App,会把沿途拍的视频、照片和语音钉在你拍下它的那个位置,并支持导出成 GPX 1.1 或 CSV。免费下载。