Finally I turned away from GIS to specialized routing software for OpenStreetMap, namely to Routino and to the Open Source Routing Machine, short OSRM. I was that impressed by the speed of OSRM, that I decided to have a deeper look at this engine:
Pros
- Speed! OSRM is about speed and it claims to be capable to handle continental sized networks using memory efficient third party libraries like google-sparsehash. It was a matter of seconds to preprocess the 6.2 MB Laos PBF file.
- Web-oriented: includes a server that runs on a configurable port and thus it is very easy to integrate in any web application.
- Since it's developed for OpenStreetMap, it considers out of the box OpenStreetMap tags like oneways etc.
Cons
- Configuration is not trivial, since speed and highway categories are hard-coded.
- Installation with Scons was very laborious on the server, since I had some dependencies in my home directory and it was necessary to fiddle the SConstruct file.
- Missing GeoJSON support. But since it needs anyway a proxy script to use OSRM in Ajax requests, it was a quick hack to reformat the homebrew JSON output to proper GeoJSON.
I adapted the simple web frontend I developed for pgRouting to work with OSRM as backend and put everything online. I'm pleased to present the current proof-of-concept prototype:
http://www.openstreetmap.la/dev/routing/
As soon as time allows I'll integrate the routing on the openstreetmap.la main page.
great job!
ReplyDeleteI am trying to do something similar... Can you please write something more about reformating "the homebrew JSON output to proper GeoJSON".