1 of 5

OSSのルーティングエンジン

valhallaのサーバーを立てた話

2021-05-14 社内勉強会

@Kanahiro

2 of 5

valhallaとは?

  • https://github.com/valhalla/valhalla
  • OSSのルーティングエンジン、MITライセンス
  • OSMの道路をネットワークとして利用、標高値をパラメータとして導入可能
    • 自動車、自転車、徒歩で区別したルーティングに対応
  • いくつかのAPI
    • route - 2地点間の最適経路
    • isochrone - 特定地点からの等時間線(もしくは等距離線)
    • など
  • モジュール名が北欧神話の神の名前になっててかっこいい
  • ドキュメントがかなり丁寧に整備されている

3 of 5

日本エリアのサーバーを立てる

  • 以下を参考にした
  • 用意すべき元データは日本分のosm.pbfのみ!
    • Geofabrikからダウンロードしたものでよい
    • 標高データはオープンなものを勝手に拾ってくるみたい
  • 環境はGCPのVMインスタンス(ubuntu)
    • メモリを8GBにしないとタイル生成時に落ちてしまったので最終的にe2-standardとした
  • nginxでhttpサーバーを立てて、valhallaサーバーのポートに流すようにした

4 of 5

valhallaを動かしてみる

5 of 5

感想

  • サーバー構築が簡単
    • 経路検索したいなぁと思いたったらすぐサーバー立てられる
    • だからこそ差別化は難しい、誰でも同じレベルのルーティングAPIサーバー作れちゃうので
  • レスポンスはやい
  • AWSよりGCPのほうがすき