OSRMはルート検索エンジンである。Mapbox社のSmart DirectionsもOSRMで駆動されているように見える。 https://www.mapbox.com/blog/smart-directions-with-osrm-graph-model/ 本稿は、https://github.com/Project-OSRM/osrm-backend/wiki/Processing-Flow をもとに、OSRMの原理(特にデータのIO)についてメモしたものである。
Extraction
生のOSMデータ(.xml又は.pbf←このレベルで Protocol Bufferをお使いになっていることを再認識)をIntermediate OSRM format(.osrmと.names)に変換する。
つまり、OSMのnode,way構造のデータを与えると、抽出できるのではないだろうか。
Preparation
.osrmと.namesのデータを変換し、.hgsr, .edges, .nodes, .ramIndex, .ramFiles ファイルを生成する作業。
Route Server
サーバを立ち上げる作業。
TODO
あるデータがOSRMで使えるかどうか確認するためには、とりあえず Extractionフェーズまで走らせてみて、.osrmと.namesのデータが生成されるか見ると良いのではないだろうか。