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 7: Line 7:
== Enable offline routing in 6 easy steps ==
== Enable offline routing in 6 easy steps ==
=== download routing data ===
=== download routing data ===
-
 
-
==== from monav repository ====
 
-
 
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 16: Line 13:
  wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip
  wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip
-
 
-
==== from modrana repository ====
 
-
 
-
[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 ===
=== unpack it to the Monav data folder ===
Line 43: Line 31:
  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 68: Line 53:
Please note that offline routing currently does not work for ''address to address routing''.  
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.
+
All the other methods (point to point, point to here, ''route here'', 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 ==
== Known issues ==
-
* <del>directions are very basic</del> '''fixed'''
+
* directions are very basic
-
<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>
+
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).
-
 
+
-
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]. :)
+
 +
* 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

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)