开发日志 / PeakSight - Altitude & AR

望山开发日志:海拔、山峰与 AR 山脊线的探索

一段环中国之旅催生的 PeakSight:查看 GPS 与气压计海拔、识别山峰,以及程序化山脊线的实现边界。

这是第三款产品,源自我们一毛一恙环中国的具体需求。如果一直在东部沿海玩的话,是永远没有这个需求的。但进入东北,尤其是从河西走廊开始往西,看山、认山成了一个日常,而在西藏的日子,山更是环抱着你,周围是什么山,是一件必须知道,不知道不舒服斯基的事情。

需求背景

我们的需求主要有两点:

  1. 查看当前的海拔。小红书上有一个很火的查看海拔的 app,很多人会拿着它展示出标志性的大红点设计,秀自己此刻在哪在哪。

  2. 通过山脊线识山。这则是一个相当小众的需求,实现了这个功能的产品也很少。主要是一款年费高达上千块的 Peakvisor。和另一款日本人开发的 AR 山地图。

所以只是想随手开发一款能将两个功能结合在一起,又不是给专业登山人士使用没那么多复杂功能的平替,就有了这款产品。

产品介绍

Peaksight
Peaksight

查看当前海拔

这个产品也是只有两三个页面。首页可以查看当前的海拔,不同的是,可以切换 GPS 海报与气压计海拔。苹果在其 iPhone6 系列上首次加入了气压计,可以用气压计测出更准确的海拔。不过在山野中,GPS 海拔通常就够用了,只有在城市森林里的某一颗水泥大树上,才需要气压计测出真实海拔来。

山脊线

旋转手机,可以看到山脊线匹配到的山峰名称。只是这个我做得太糙了,数据也是从公开免费的数据库拿的。我们让 gpt 自己介绍一下吧:

PeakSight 的山脊线采用“山峰点位 + 程序化轮廓”方案,并非真实 DEM 地形。数据来自三层:内置 92 座世界名峰、OpenStreetMap Overpass 在线山峰,以及本地下载缓存。App 根据用户位置计算每座山峰的距离和方位,再结合海拔、距离衰减和手机朝向生成连续剪影;AR 也复用同一数据,通过方位角和仰角投影标签。山名、海拔、距离和方向有真实依据,但山体形状、山谷、遮挡关系属于视觉模拟。若要精确贴合真实山脊,需要引入 SRTM 或 Copernicus DEM 高程数据。

所以它并没能绘制和上述两款产品一样的高精度山脊线。(他们的山脊线真得很美很真实,可以和真实山脉完全贴在一起。)但有一个付费用户竟然还买断了我的广告和 AR 山脊线(假)功能,我真是对不起他。

因为身处没有山的城市(只有土包包们),所以没有好的测试环境,如果有谁愿意和我一起完善这个产品,可以联系我,我将你加入测试,我们一起来做这个。