OpenLayersでOSRM(Open Source Routing Machine)を利用する

WebGISにてgoogle以外で、ナビゲーション機能を実装しようと思い調査してみると、OSRM(Open Source Routing Machine)といって、OpenStreetMapのデータの上で最適なルートを返してくれるAPIが提供されているので、OpenLayers上で試してみました。

OSRMとは?

OSRMは、最短ルートを高速に計算できるルーティングエンジンです。以下の特徴があります。

  1. ルーティングエンジン
    • 地図上で「A地点からB地点へ最短ルートを出して!」というリクエストに応えるソフトウェア
  2. ベースデータ
    • OpenStreetMap(OSM)を利用
  3. 超高速
    • C++で書かれており、大量リクエストにも耐える性能

OSRMで何ができるか?

OSRMでは以下の機能が提供されています。

  1. 経路探索
    • A地点からB地点への最短・最速ルートを計算
  2. 距離行列
    • 複数地点間の移動距離・時間のマトリクスを作成
  3. 経路の案内
    • 分岐やターンの指示(ナビのような案内)
  4. ルートのジオメトリ
    • 経路の線(GeoJSON形式など)を返す

OSRMの使用例

osrm.js

OSRM利用後の地図

通勤経路を表示してみました。ほぼ合っています。

まとめ

OSRM利用することで、経路探索が非常に簡単に実装できるようになりました。
次回は経路案内の情報(分岐やターンの指示)が取得できているので、経路案内を表示してみたいと思います。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする