为相机增添地理坐标的能力

2017-01-26 17:20

背景

照片的元数据(即属性,如拍摄时间、相机型号等),对于维护/整理照片库大有裨益。举个例子,9年前(2008年)我拥有的第一款相机,无法自动旋转照片。每次把照片导入到电脑后,还要手动一个一个把竖拍的照片,在电脑里旋转成正确的方向,费时费力。更别提有些情况下使用他人相机拍完照,发现时间未经校准,生成了一堆2000年1月1日的照片。面对这种情况,我的内心是崩溃的。

地理坐标,即地球的经纬度。简单来说,有了这个信息,可以精确知道照片是在哪里拍摄的。经常拍照的人肯定懂,看着地图上各个城市都有自己的印记,感觉超级棒。

实现

为照片标注地理坐标最通用/常见的方式,是使用美国的全球定位系统(GPS)。几乎所有的地图、手机的定位标准都是 GPS(如 iPhone)。中国的北斗系统、俄罗斯的格纳斯与欧盟的伽利略也支持,但尚未普及。

有两个办法可以达到我们的目的:

  1. 相机本身支持,即拍照后自动为照片增加地理坐标属性
  2. 通过 GPS 仪器,在拍摄途中打开定位系统;拍摄完毕后,将定位文件与照片文件合成

方案1显然简单方便,但可能考虑到 GPS 比较耗电,目前市面上的主流相机都不支持。非常遗憾。方案2有两个办法,一是购买专门的 GPS 定位仪,二是直接使用手机。

还用问吗,当然是直接使用手机。听从知友的建议,我也使用「地图加加」(iOS)。出门前打开定位追踪,应用将一直在后台运行,默默记录行动轨迹。注意,记录坐标很耗电,备好充电宝,万无一失。回家后完成追踪,将本次行程导出为 GPX 文件。

接下来,在电脑上使用「GPX Photo Tagger」(Mac),导入照片和 GPX 文件。应用会根据时间戳,自动把地理坐标作为属性,添加到照片里。

大功告成。

其它一些补充

关于价格:

  1. 地图加加的「导出 GPX 文件」功能需要内购,约18元
  2. GPX Photo Tagger 需要通过 App Store 购买,约25元

关于地理坐标的标准:

  1. GPX 生成的地理坐标符合国际 WGS84 标准,几乎所有的地图都支持
  2. 中国有自己的国家标准 GCJ02,在国内获取地图牌照的地图,如高德,都使用中国标准
  3. GCJ02 生成的经纬度,对应到 WGS84 上是有较大偏差的,反之亦然,因此不可用
  4. 国内外常见应用,会自动做坐标转化。这也是为什么 iPhone 拍摄的照片(WGS84 标准),却能正确标注到高德地图( GCJ02 标准)上
  5. GPX Photo Tagger 没有自动做坐标转化,因此对于采集的 GPS 坐标,使用苹果内置地图(高德)看时,坐标是有偏移的(最新更新:Mac 系统更新到10.12.3后,没有偏移,正常显示了)。而一旦将地图切换为 OpenStreetMap,就正常显示的
  6. 值得注意的是,Mac 电脑的「照片」应用,并未完全做好自动坐标转化,因此有时看上去是好的,有时候又有偏移
  7. 总之:使用地图加加的默认设置(WGS84 标准),采集 GPS 坐标即可,不用管上面的什么标准
  8. 有意思的是,将标注地理坐标后的照片,通过 Airdrop 传输到 iPhone 上。在一开始,会看到照片在地图上标注的位置是便宜的,但过一会儿了,就显示正确了

延伸阅读

  1. 知乎《如何批量为照片添加地理位置信息?》,刘潮的回答,https://www.zhihu.com/question/24713064/answer/111096544

最近更新:2017-02-26

评论

《对话守则》第一条:对话的目的是寻求真理。

以下选填: