Editing ModRana offline routing guide

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
== How does it work ? ==
+
'''How does it work ?'''
* searches for routes without the need for Internet connection
* searches for routes without the need for Internet connection
* routes much faster than online routing
* routes much faster than online routing
Line 5: Line 5:
* uses monav-server as backend
* uses monav-server as backend
-
== Enable offline routing in 6 easy steps ==
+
'''Enable offline routing in 6 easy steps'''
-
=== download routing data ===
+
-
 
+
-
==== from monav repository ====
+
 +
* download routing data
Compatible routing data packs are available from [http://monav.openstreetmap.de monav.openstreetmap.de]. Just download a relevant pack for your area. :)
Compatible routing data packs are available from [http://monav.openstreetmap.de monav.openstreetmap.de]. Just download a relevant pack for your area. :)
It can be also done directly on the N900 like in this example:
It can be also done directly on the N900 like in this example:
Line 17: Line 15:
-
==== from modrana repository ====
+
* unpack it to the Monav data folder
-
 
+
-
[http://data.modrana.org data.modrana.org]
+
-
 
+
-
example:
+
-
 
+
-
cd MyDocs
+
-
wget http://data.modrana.org/monav/europe/czech-republic/czech-republic_car.tar.gz
+
-
 
+
-
=== unpack it to the Monav data folder ===
+
This is the main Monav routing data folder:
This is the main Monav routing data folder:
Line 43: Line 32:
  unzip Czech_Republic.zip -d .maps/monav_data/
  unzip Czech_Republic.zip -d .maps/monav_data/
-
or
 
-
 
-
tar xvzpf czech-republic_car.tar.gz -C .maps/monav_data
 
You should get paths similar to these:
You should get paths similar to these:
Line 54: Line 40:
  /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian
  /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian
-
==== Optional ====
+
''Optional''
As their content is not currently used, you can remove the ''rendering_osm'' and ''rendering_vector'' folders.
As their content is not currently used, you can remove the ''rendering_osm'' and ''rendering_vector'' folders.
-
=== start modRana ===
+
* start modRana
-
Just start modRana as usual. ModRana currently only scans for new map packs at startup. So if you add new map packs, you will have to restart modRana for them to be available for routing.
+
* select preferred map data pack
-
 
+
-
=== select preferred map data pack ===
+
Go to '''menu->options->Navigation->Routing data''' and select a '''Monav data pack''' to use.
Go to '''menu->options->Navigation->Routing data''' and select a '''Monav data pack''' to use.
-
=== select Monav as routing backend ===
+
* select Monav as routing backend
In Go to '''menu->options->Navigation->Routing''' and select Monav as '''Routing provider'''.
In Go to '''menu->options->Navigation->Routing''' and select Monav as '''Routing provider'''.
-
=== route :) ===
+
* route :)
-
Please note that offline routing currently does not work for ''address to address routing''.
+
-
 
+
-
All the other methods (''point to point'', ''point to here'', routing to POIs or search results, etc.) should work.
+
-
 
+
-
== Generating your own routing data ==
+
-
If the online Monav data repositories don't cover the area you are interested in or if you just want to have fresh routing data for your area generated every hour from local OSM extracts - no problem! Generating your own Monav routing data packs is quite easy. :)
+
-
 
+
-
=== The Monav data generator ===
+
-
I've made a simple script, that takes raw OpenStreetMap and outputs modRana compatible Monav routing data packs. Just download the ''generate.py'' script and ''base.ini'' configuration file from the [https://github.com/M4rtinK/monav-data-generator Github project] to some folder:
+
-
wget https://raw.github.com/M4rtinK/monav-data-generator/master/generate.py
+
-
wget https://raw.github.com/M4rtinK/monav-data-generator/master/base.ini
+
-
And you are good to go. :)
+
-
 
+
-
The script generates modRana compatible Monav routing data packs from OpenStreetMap data files (both plain osm files and pbf are supported).
+
-
 
+
-
==== Dependencies ====
+
-
 
+
-
You need to have ''monav-preprocessor'' installed (as this script is basically a wrapper around it).
+
-
The ''monav-preprocessor'' package should be available from the default repositories in Debian, Ubuntu, Fedora and other major distributions.
+
-
 
+
-
==== Usage ====
+
-
 
+
-
./generator.py osm_data_file [output_directory_name]
+
-
 
+
-
If no ''output_directory_name'' is provided, the filename of the ''osm_data_file'' without extension will be used instead.
+
-
 
+
-
'''Example:'''
+
-
 
+
-
./generate.py czech_republic.osm.pbf Czech_Republic_2012
+
-
 
+
-
Once the processing finishes, just move the output (called ''Czech_Republic_2012'' in our example) directory to '''.~/MyDocs/.maps/monav_data/''' as usual.
+
-
 
+
-
==== Multiprocessing ====
+
-
The Monav preprocessor can run a part the conversion in multiple threads, speeding the whole process quite a bit. By default, 4 threads are used.
+
-
 
+
-
To set the thread number, just edit the THREADS variable in the ''generate.py'' file. The number of threads should roughly correspond to the number of logical processing cores on your machine.
+
-
 
+
-
== Known issues ==
+
-
* <del>directions are very basic</del> '''fixed'''
+
-
<del>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).</del>
+
-
 
+
-
ModRana now properly handles most turn types and support for more advanced turn types (roundabouts, highway merging, etc.) will be added in the future.
+
-
 
+
-
* <del>some turns are missed</del> '''fixed'''
+
-
<del>''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.</del>
+
-
 
+
-
ModRana should now properly detect most turns. If you still see it miss a turn, please report it to the [http://talk.maemo.org/showthread.php?t=58861 modRana discussion thread] or [http://modrana.org/trac#Contactthedeveloper contact address]. :)
+
-
 
+
 +
'''Known issues'''
 +
* directions are very basic
 +
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).
 +
* some turns are missed
 +
''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.
* no address2address offline routing
* no address2address offline routing
The Monav GUI can be used for offline address search - I'll have to investigate if the same functionality can be used over the [http://code.google.com/r/thomasmiedema-python/source/browse/routingdaemon/routingserver.cpp monav-server] API.
The Monav GUI can be used for offline address search - I'll have to investigate if the same functionality can be used over the [http://code.google.com/r/thomasmiedema-python/source/browse/routingdaemon/routingserver.cpp monav-server] API.
-
== Planned features ==
+
'''Planed features'''
-
* <del>modRana project hosted repository with up-to-date data packs</del> (done: [http://data.modrana.org data.modrana.org])
+
* modRana project hosted repository with up-to-date data packs
* built-in map pack downloader & updater
* built-in map pack downloader & updater
-
 
-
[[Category:Software]]
 
-
[[Category:Fremantle]]
 
-
[[Category:ModRana]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)