Photo Geotag 的工作原理

一张未标注照片的位置,其实早已写在你的图库里——就写在紧挨着它之前和之后拍下的、带地理位置的照片里。Photo Geotag 读取这些依据,把它们摆给你看,从不主张超出自己能证明的部分。

锚点:依据

把图库按拍摄时间排序,每一张没有位置的照片都会落在有位置的照片之间的某处。那些带地理位置的邻居,就是这张照片的锚点。如果你 14:02 用 iPhone 拍了喷泉,接着用相机拍了半小时同一处景,14:36 又拍了那座桥——那么相机照片就发生在这两个已知地点之间。整个想法就是这样,剩下的只是把它谨慎地用好。

分组:审阅的单位

共享同一对锚点、来自同一台相机、又落在一小段时间里的未标注照片,会作为一个分组一起审阅。在市场度过的一个上午是一个决定,而不是四十个。已确认分组里的每一张照片都得到相同的位置——这个 App 有意不去假装知道其中某一张是在街上再往前 40 m 拍的。

确信度:App 会主张什么,不会主张什么

每个分组按锚点之间的距离、它们之间的时间,以及由此推出的速度来分类。这个类别决定了你在地图上看到什么:

类别依据地图上显示什么
确定 在锚点前后几秒内拍下,或者两个锚点在同一地点 一枚 App 并非在猜的图钉
可能 锚点彼此靠近,中间是步行可达的速度 一枚按时间加权的图钉,值得扫一眼
不确定 一次飞行、一段长空隙、相距很远的锚点 没有图钉。一条虚线路线和诚实的事实
手动 你自己拖动了图钉 你的定位,并标明是你的

诚实性规则:不确定的提议在 App 内部根本没有坐标——所以没有任何一个界面,能为引擎说不出理由的猜测画出一枚自信的图钉。诚实由架构保证,而不是靠刷一层漆。

有两个细节让诚实的情形保持诚实。紧跟在锚点之后几秒的连拍是确定的,哪怕它所在分组的其余部分并不确定——最强的信号绝不会被拖下水。而每一个时间窗口,都以分组中最远的那张照片为准,而不是最近的那张,这样一张运气好的同伴照片,就无法为几小时后拍的照片作保。

时间轴条

每一张分组卡片上都带着一根时间轴条:前锚点、间隔、后锚点,宽度按真实经过的时间画出。四分钟的间隔是一道细缝,你想都不用想就确认。六小时的间隔是一条宽带,你本能地不信它。它不印出任何一个数字,却传达了确信度。

审阅:滑几下就好

应用 & 撤销:值得信任的写入

你审阅的时候,图库不会被碰到分毫。决定先在本地暂存,只有当你按下应用时才写入——而且在任何一张照片被改动之前,每一次写入都会连同这张照片先前的位置一起记入日志,哪怕先前的位置是“无”。就算 App 在写到一半时崩溃,日志依然是完整的。

撤销会把日志倒着重放一遍,让每张照片精确回到原样。你在此期间编辑过的照片会被跳过并报告——绝不会被覆盖。更愿意完全不往图库里写?那就把确认过的位置导出为 GPX 轨迹

在用真正的相机?时钟问题,已经解决 →

更多摄影应用

把你的照片放回地图上。

iPhone、iPad 和 Mac 均可免费下载。

从 App Store 下载