map routing database on phone

Schmidt András asch at
Fri Apr 11 18:44:43 CEST 2008


I am developing an open source map viewer (GPS) application that will 
work on the OpenMoko platform in Java ( It has 
an own map format, it can convert maps and it has a 
converter for Garmin img format maps too.

Now I am thinking of implementing routing so that he program could 
propose a route and tell the driver where to turn the car. I am only 
thinking of offline solutions. I have done some brainstorming on what 
must be implemented to let it be usable 
( It would be nice 
to generate a storm in your minds too - it is an interesting problem!

My question is how would you implement a routing engine so that it can 
work efficient on huge slices of OSM (and other) maps even for big 
distances. These maps are cut from the full OSM planet (that is now 
about 3G in xml.bz2 format) and one phone owner could have huge areas on 
the phone offline. So it is obvious that we have to process that data 
clever to be efficient!

In my opinion source and target selection by name and routing itself 
would require a database or at least an indexing service. So cities 
could be searched by name.

The question is what database or indexer should be used. The aspects are:
 - lightweight enough for the limited power of portable devices
 - Reachable from Java
 - Let the indexes be built on the desktop computer and copied on the 
PDA's flash memory card directly
 - The PDA can also add indexes (insert custom POI's name or install a 
new map without the use of the computer)
 - portable: so it can be used on Windows XP or even on Windows Mobile later

What database would you use? I was thinking of:
 - Java DB (
 - Just an indexer - apache Lucene
 - A native database - mysql or postgresql

Happy hacking!
Schmidt András

More information about the openmoko-devel mailing list