iOSでルートに沿った標高を取得する
「ルートに沿った標高の可視化」というのは、たとえばYAMAPという登山アプリだったり、
標準のマップアプリ(いわゆるAppleマップ)もこんな感じでサポートしている。
登山ではないにしても、坂道のアップダウンというのは(特に徒歩や自転車での)ルート選びにおいて重要な要素だと思う。
ただ、MapKit のルート検索API(に限らず、Google Maps Directions API や Mapbox Directions APIでも同様)では、ルート検索において坂のアップダウンを考慮したり、ルート検索時に標高値を同時に得る機能というのはない。
なので、冒頭に挙げたような機能を実装したかったら、何かしらの方法でルートに沿った標高値を得る必要がある。
なお便宜上iOSと書いたが、本手法はmacOS, visionOSも含む、Appleプラットフォーム全体で共通する。
成果物
富士山の登山ルートを MKDirections で検索し、そのルートに沿った標高を取得してSwiftUIのChartsでグラフ表示してみたのがこちら:
標高値の取得には国土地理院の標高タイルを使用した。
「ルートに沿った標高値を取得する」実装
MKDirections を利用したルート検索の実装はググればたくさん出てくるので割愛する。
またSwift Chartsでのグラフ表示も詳しい記事が他にあるので割愛。
標高タイルからルートに沿った標高値を取得する実装にフォーカスして実装の流れを記載する。
なおタイル云々のGISまわりの基礎概念についてはこちらのスライドで解説している:
ここから先は
¥ 300
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/



購入者のコメント