<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.96.159.117</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=93.96.159.117"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/93.96.159.117"/>
	<updated>2026-04-22T05:42:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=ModRana_offline_routing_guide&amp;diff=26716</id>
		<title>ModRana offline routing guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=ModRana_offline_routing_guide&amp;diff=26716"/>
		<updated>2013-07-15T00:05:56Z</updated>

		<summary type="html">&lt;p&gt;93.96.159.117: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How does it work ? ==&lt;br /&gt;
* searches for routes without the need for Internet connection&lt;br /&gt;
* routes much faster than online routing&lt;br /&gt;
* mode based results (Car, Walk, Cycle; Bus &amp;amp; Train get results for Car)&lt;br /&gt;
* uses monav-server as backend&lt;br /&gt;
&lt;br /&gt;
== Enable offline routing in 6 easy steps ==&lt;br /&gt;
=== download routing data ===&lt;br /&gt;
Compatible routing data packs are available from [http://monav.openstreetmap.de monav.openstreetmap.de]. Just download a relevant pack for your area. :)&lt;br /&gt;
It can be also done directly on the N900 like in this example:&lt;br /&gt;
&lt;br /&gt;
 cd MyDocs&lt;br /&gt;
 wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== unpack it to the Monav data folder ===&lt;br /&gt;
This is the main Monav routing data folder:&lt;br /&gt;
&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Show hidden files/folders&#039;&#039; to see it.&lt;br /&gt;
If there is no &#039;&#039;monav_data&#039;&#039; folder in &#039;&#039;.maps&#039;&#039;, create it:&lt;br /&gt;
&lt;br /&gt;
 cd MyDocs/.maps&lt;br /&gt;
 mkdir monav_data&lt;br /&gt;
&lt;br /&gt;
and unzip you data packs into it.&lt;br /&gt;
&lt;br /&gt;
Example (continuing where we left):&lt;br /&gt;
&lt;br /&gt;
 unzip Czech_Republic.zip -d .maps/monav_data/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should get paths similar to these:&lt;br /&gt;
&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_bike&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian&lt;br /&gt;
&lt;br /&gt;
==== Optional ====&lt;br /&gt;
As their content is not currently used, you can remove the &#039;&#039;rendering_osm&#039;&#039; and &#039;&#039;rendering_vector&#039;&#039; folders.&lt;br /&gt;
&lt;br /&gt;
=== start modRana ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== select preferred map data pack ===&lt;br /&gt;
Go to &#039;&#039;&#039;menu-&amp;gt;options-&amp;gt;Navigation-&amp;gt;Routing data&#039;&#039;&#039; and select a &#039;&#039;&#039;Monav data pack&#039;&#039;&#039; to use.&lt;br /&gt;
&lt;br /&gt;
=== select Monav as routing backend ===&lt;br /&gt;
In Go to &#039;&#039;&#039;menu-&amp;gt;options-&amp;gt;Navigation-&amp;gt;Routing&#039;&#039;&#039; and select Monav as &#039;&#039;&#039;Routing provider&#039;&#039;&#039;.&lt;br /&gt;
=== route :) ===&lt;br /&gt;
Please note that offline routing currently does not work for &#039;&#039;address to address routing&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
All the other methods (&#039;&#039;point to point&#039;&#039;, &#039;&#039;point to here&#039;&#039;, routing to POIs or search results, etc.) should work.&lt;br /&gt;
&lt;br /&gt;
== Generating your own routing data ==&lt;br /&gt;
If the online Monav data repositories don&#039;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. :)&lt;br /&gt;
&lt;br /&gt;
=== The Monav data generator ===&lt;br /&gt;
I&#039;ve made a simple script, that takes raw OpenStreetMap and outputs modRana compatible Monav routing data packs. Just download the &#039;&#039;generate.py&#039;&#039; script and &#039;&#039;base.ini&#039;&#039; configuration file from the [https://github.com/M4rtinK/monav-data-generator Github project] to some folder:&lt;br /&gt;
 wget https://raw.github.com/M4rtinK/monav-data-generator/master/generate.py&lt;br /&gt;
 wget https://raw.github.com/M4rtinK/monav-data-generator/master/base.ini &lt;br /&gt;
And you are good to go. :)&lt;br /&gt;
&lt;br /&gt;
The script generates modRana compatible Monav routing data packs from OpenStreetMap data files (both plain osm files and pbf are supported).&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
&lt;br /&gt;
You need to have &#039;&#039;monav-preprocessor&#039;&#039; installed (as this script is basically a wrapper around it).&lt;br /&gt;
The &#039;&#039;monav-preprocessor&#039;&#039; package should be available from the default repositories in Debian, Ubuntu, Fedora and other major distributions.&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
&lt;br /&gt;
 ./generator.py osm_data_file [output_directory_name]&lt;br /&gt;
&lt;br /&gt;
If no &#039;&#039;output_directory_name&#039;&#039; is provided, the filename of the &#039;&#039;osm_data_file&#039;&#039; without extension will be used instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 ./generate.py czech_republic.osm.pbf Czech_Republic_2012&lt;br /&gt;
&lt;br /&gt;
Once the processing finishes, just move the output (called &#039;&#039;Czech_Republic_2012&#039;&#039; in our example) directory to &#039;&#039;&#039;.~/MyDocs/.maps/monav_data/&#039;&#039;&#039; as usual.&lt;br /&gt;
&lt;br /&gt;
==== Multiprocessing ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To set the thread number, just edit the THREADS variable in the &#039;&#039;generate.py&#039;&#039; file. The number of threads should roughly correspond to the number of logical processing cores on your machine.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* &amp;lt;del&amp;gt;directions are very basic&amp;lt;/del&amp;gt; &#039;&#039;&#039;fixed&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;del&amp;gt;Monav actually doesn&#039;t return a turn type, so I&#039;ll have to add an algorithm that detects different turn types and assigns corresponding description (Marble also does it like this).&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ModRana now properly handles most turn types and support for more advanced turn types (roundabouts, highway merging, etc.) will be added in the future.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;some turns are missed&amp;lt;/del&amp;gt; &#039;&#039;&#039;fixed&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;del&amp;gt;&#039;&#039;Monav actually doesn&#039;t return turns at all&#039;&#039; - just points for the route &amp;amp; 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.&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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]. :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* no address2address offline routing&lt;br /&gt;
The Monav GUI can be used for offline address search - I&#039;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.&lt;br /&gt;
&lt;br /&gt;
== Planed features ==&lt;br /&gt;
* modRana project hosted repository with up-to-date data packs&lt;br /&gt;
* built-in map pack downloader &amp;amp; updater&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Fremantle]]&lt;br /&gt;
[[Category:ModRana]]&lt;/div&gt;</summary>
		<author><name>93.96.159.117</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=ModRana_offline_routing_guide&amp;diff=26717</id>
		<title>ModRana offline routing guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=ModRana_offline_routing_guide&amp;diff=26717"/>
		<updated>2013-07-15T00:03:35Z</updated>

		<summary type="html">&lt;p&gt;93.96.159.117: /* Generating your own routing data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How does it work ? ==&lt;br /&gt;
* searches for routes without the need for Internet connection&lt;br /&gt;
* routes much faster than online routing&lt;br /&gt;
* mode based results (Car, Walk, Cycle; Bus &amp;amp; Train get results for Car)&lt;br /&gt;
* uses monav-server as backend&lt;br /&gt;
&lt;br /&gt;
== Enable offline routing in 6 easy steps ==&lt;br /&gt;
=== download routing data ===&lt;br /&gt;
Compatible routing data packs are available from [http://monav.openstreetmap.de monav.openstreetmap.de]. Just download a relevant pack for your area. :)&lt;br /&gt;
It can be also done directly on the N900 like in this example:&lt;br /&gt;
&lt;br /&gt;
 cd MyDocs&lt;br /&gt;
 wget http://monav.openstreetmap.de/mapsets/Czech_Republic.zip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== unpack it to the Monav data folder ===&lt;br /&gt;
This is the main Monav routing data folder:&lt;br /&gt;
&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Show hidden files/folders&#039;&#039; to see it.&lt;br /&gt;
If there is no &#039;&#039;monav_data&#039;&#039; folder in &#039;&#039;.maps&#039;&#039;, create it:&lt;br /&gt;
&lt;br /&gt;
 cd MyDocs/.maps&lt;br /&gt;
 mkdir monav_data&lt;br /&gt;
&lt;br /&gt;
and unzip you data packs into it.&lt;br /&gt;
&lt;br /&gt;
Example (continuing where we left):&lt;br /&gt;
&lt;br /&gt;
 unzip Czech_Republic.zip -d .maps/monav_data/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You should get paths similar to these:&lt;br /&gt;
&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_bike&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_car&lt;br /&gt;
 /home/user/MyDocs/.maps/monav_data/Czech_Republic/routing_pedestrian&lt;br /&gt;
&lt;br /&gt;
==== Optional ====&lt;br /&gt;
As their content is not currently used, you can remove the &#039;&#039;rendering_osm&#039;&#039; and &#039;&#039;rendering_vector&#039;&#039; folders.&lt;br /&gt;
&lt;br /&gt;
=== start modRana ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== select preferred map data pack ===&lt;br /&gt;
Go to &#039;&#039;&#039;menu-&amp;gt;options-&amp;gt;Navigation-&amp;gt;Routing data&#039;&#039;&#039; and select a &#039;&#039;&#039;Monav data pack&#039;&#039;&#039; to use.&lt;br /&gt;
&lt;br /&gt;
=== select Monav as routing backend ===&lt;br /&gt;
In Go to &#039;&#039;&#039;menu-&amp;gt;options-&amp;gt;Navigation-&amp;gt;Routing&#039;&#039;&#039; and select Monav as &#039;&#039;&#039;Routing provider&#039;&#039;&#039;.&lt;br /&gt;
=== route :) ===&lt;br /&gt;
Please note that offline routing currently does not work for &#039;&#039;address to address routing&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
All the other methods (&#039;&#039;point to point&#039;&#039;, &#039;&#039;point to here&#039;&#039;, routing to POIs or search results, etc.) should work.&lt;br /&gt;
&lt;br /&gt;
== Generating your own routing data ==&lt;br /&gt;
If the online Monav data repositories don&#039;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. :)&lt;br /&gt;
&lt;br /&gt;
=== The Monav data generator ===&lt;br /&gt;
I&#039;ve made a simple script, that takes raw OpenStreetMap and outputs modRana compatible Monav routing data packs. Just download the &#039;&#039;generate.py&#039;&#039; script and &#039;&#039;base.ini&#039;&#039; configuration file from the [https://github.com/M4rtinK/monav-data-generator Github project] to some folder:&lt;br /&gt;
 wget https://raw.github.com/M4rtinK/monav-data-generator/master/generate.py&lt;br /&gt;
 wget https://raw.github.com/M4rtinK/monav-data-generator/master/base.ini &lt;br /&gt;
And you are good to go. :)&lt;br /&gt;
&lt;br /&gt;
The script generates modRana compatible Monav routing data packs from OpenStreetMap data files (both plain osm files and pbf are supported).&lt;br /&gt;
&lt;br /&gt;
==== Dependencies ====&lt;br /&gt;
&lt;br /&gt;
You need to have &#039;&#039;monav-preprocessor&#039;&#039; installed (as this script is basically a wrapper around it).&lt;br /&gt;
The &#039;&#039;monav-preprocessor&#039;&#039; package should be available from the default repositories in Debian, Ubuntu, Fedora and other major distributions.&lt;br /&gt;
&lt;br /&gt;
==== Usage ====&lt;br /&gt;
&lt;br /&gt;
 ./generator.py osm_data_file [output_directory_name]&lt;br /&gt;
&lt;br /&gt;
If no &#039;&#039;output_directory_name&#039;&#039; is provided, the filename of the &#039;&#039;osm_data_file&#039;&#039; without extension will be used instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 ./generate.py czech_republic.osm.pbf Czech_Republic_2012&lt;br /&gt;
&lt;br /&gt;
Once the processing finishes, just move the output (called &#039;&#039;Czech_Republic_2012&#039;&#039; in our example) directory to &#039;&#039;&#039;.~/MyDocs/.maps/monav_data/&#039;&#039;&#039; as usual.&lt;br /&gt;
&lt;br /&gt;
==== Multiprocessing ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To set the thread number, just edit the THREADS variable in the &#039;&#039;generate.py&#039;&#039; file. The number of threads should roughly correspond to the number of logical processing cores on your machine.&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* &amp;lt;del&amp;gt;directions are very basic&amp;lt;/del&amp;gt; &#039;&#039;&#039;fixed&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;del&amp;gt;Monav actually doesn&#039;t return a turn type, so I&#039;ll have to add an algorithm that detects different turn types and assigns corresponding description (Marble also does it like this).&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ModRana now properly handles most turn types and support for more advanced turn types (roundabouts, highway merging, etc.) will be added in the future.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;del&amp;gt;some turns are missed&amp;lt;/del&amp;gt; &#039;&#039;&#039;fixed&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;del&amp;gt;&#039;&#039;Monav actually doesn&#039;t return turns at all&#039;&#039; - just points for the route &amp;amp; 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.&amp;lt;/del&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ModRana should no 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]. :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* no address2address offline routing&lt;br /&gt;
The Monav GUI can be used for offline address search - I&#039;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.&lt;br /&gt;
&lt;br /&gt;
== Planed features ==&lt;br /&gt;
* modRana project hosted repository with up-to-date data packs&lt;br /&gt;
* built-in map pack downloader &amp;amp; updater&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Fremantle]]&lt;br /&gt;
[[Category:ModRana]]&lt;/div&gt;</summary>
		<author><name>93.96.159.117</name></author>
	</entry>
</feed>