開發日誌 / 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 山脊線(假)功能,我真是對不起他。

因為身處沒有山的城市(只有土包包們),所以沒有好的測試環境,如果有誰願意和我一起完善這個產品,可以聯繫我,我將你加入測試,我們一起來做這個。