OsmAnd: what's the process to build its address database from OSM data


I am very interested in the quality of OSM based offline navigation and the necessary address lookup in mobile application.

Besides http://wiki.openstreetmap.org/wiki/MapFactor_Navigator_Free which has IMHO the best address search results (for Germany at least), my favourite app is OsmAnd.

But it sems that address serach result of Osmand can be improved in general there, or there has recently even been a regression, see http://code.google.com/p/osmand/issues/detail?id=604

Before bothering Osmand’s quite busy developers, and without having really programming skills to read all source code on my own, I would like to ask here:

Where can I find the important parts in Osmand’s source code where the raw OSM data is processed to build up the offline data including

a) all places and cities of a certain country, and
b) all streets belonging to a certain city?

By finding this out I have quite detailed ideas to improve Osmand’s search results at all.

Can anybody give some hints?

There seems to be some progress concerning this issue:

Go to Osmand’s website and download the nightly developers version of OsmAndMapCreator-development.zip

With this Java programm you can convert any raw OSM data into Osmand’s own vector map and POI format. I recommend to try this first with a small area from a small *.osm file before converting realy big chunks of data.

When you have an *.obf file from your area (or from Osmand’s prebuild download section) you can use from the above mentioned zip file the inspector.bat (on any Windows command line) or inspector.sh from any linux system) in the following way:

inspector -v example.obf >result.txt

Thus you receive a quite big and detailed statistic about each place that is containes in the obf file, and even a listing of all street that are associated by Osmand’s mapcreator to that certain place.

So you can compare whether all streets that are in OSM raw data belonging to your town are included and searchable by Osmand’s offline address search, or whether there are some missing. Or even if some places are missing.

Any success or failure?

PS: be aware that Osmand itself and its MapCreator are under heavy development in these days, so many things can be subject to change …

Did that and tried for Azores and Cyprus first. All went ok. Osmand on Android displayed perfect.

All in Mapnik style.

There is a rendering_types.xml file so I think that thats where you can change appearence.

Then downloaded netherlands.osm.pbf (492 MB) from Geofabrik.

But that could not be processed.

After downloading netherlands_osm.bz2 (726 MB) and splitting this up
in smaller ‘province.osm’ files they could be processed.

Very nice to see that osmand and these vectormaps fit in a little phone.

And it displays much faster than on my 60Cx.