First Offline Bike Routing on the N900 using Routino

Biker pictogram (openclipart.org, public domain)

Biker pictogram (openclipart.org, public domain)

As a long time contributor of the openstreetmap project, I always dreamt about using our collaboratively collected data not only for creating maps, but also for (offline) routing. Actually, several routers exist, but none of them seemed to be really capable of doing offline bike routing.

Appearently I missed one bit. This weekend, I tried Andrew M. Bishop’s Routino. It’s a set of command line tools to convert osm XML files into a binary format and to use this data for routing. Additionally some helper applications are provided.

Surprisingly, the code cross-compiled for Maemo 5 without any further interaction (as advertised), just by typing make. Hmpf. Hmpf. Frankly, I was very exited.

The application is highly configurable via some XML files. Thus it supports routing using configurable profiles as well as shortest and quickest routes while supporting via points. It can output the route in various formats. I’ve converted a small set of osm data and tested the results for bike routes and was quite impressed.

I wrote some experimental code using PyGtk to make using it a bit more convenient on the N900:

Routino Frontend

Routino Frontend

It can get the start position from the location system of the N900. Unfortunately I struggled with DBus and was not successful yet getting the viewport coordinates from Mappero for convenient graphical destination selection, but I hope to get this working during the next days. Currently, the destination can be copied over using the clipboard.

Here’s a route calculated by Routino and loaded into Mappero:

Routino Route loaded into Mappero

Routino Route loaded into Mappero

It’s far from being convenient to use or user friendly. But for me a dream comes true: Offline bike routing on my mobile computer. Thanks Andrew, you made my weekend!