ModRana offline routing guide

How does it work ?
 * searches for routes without the need for Internet connection
 * routes much faster than online routing
 * mode based results (Car, Walk, Cycle; Bus & Train get results for Car)
 * uses monav-server as backend

Enable offline routing in 6 easy steps

Compatible routing data packs are available from monav.openstreetmap.de. Just download a relevant pack for your area. :) It can be also done directly on the N900 like in this example:
 * download routing data

cd MyDocs wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip

This is the main Monav routing data folder:
 * unpack it to the Monav data folder

/home/user/MyDocs/.maps/monav_data

The .maps folder is normally visible by default when connecting the N900 in USB mass-storage mode to Windows PCs, on Linux PCs you have to enable Show hidden files/folders to see it. If there is no monav_data folder in .maps, create it:

cd MyDocs/.maps mkdir monav_data

and unzip you data packs into it.

Example (continuing where we left):

unzip Czech_Republic.zip -d .maps/monav_data/

You should get paths similar to these:

/home/user/MyDocs/.maps/monav_data/Czech_Republic /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_bike /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian

Optional As their content is not currently used, you can remove the rendering_osm and rendering_vector folders.

Go to menu->options->Navigation->Routing data and select a Monav data pack to use.
 * start modRana
 * select preferred map data pack

In Go to menu->options->Navigation->Routing and select Monav as Routing provider.
 * select Monav as routing backend
 * route :)

Known issues Monav actually doesn't return a turn type, so I'll have to add an algorithm that detects different turn types and assigns corresponding description (Marble also does it like this). Monav actually doesn't return turns at all - just points for the route & name + type for the route edges. So an algorithm that analyses all edge junctions on the route and decides what is turn and what is not (based on sharp turns, edges changing type or name, etc.). Currently every route type change is just used to trigger turn. The Monav GUI can be used for offline address search - I'll have to investigate if the same functionality can be used over the monav-server API.
 * directions are very basic
 * some turns are missed
 * no address2address offline routing

Planed features
 * modRana project hosted repository with up-to-date data packs
 * built-in map pack downloader & updater