logo separator

[mkgmap-dev] mkgmap-r3906 (optimize-index)

From Gerd Petermann GPetermann_muenchen at hotmail.com on Mon Apr 17 19:05:15 BST 2017

Hi all,

with the help of Steve I fixed some problems with the index, esp. sorting of road names with different speliing of Straße caused a lot of problems, like Ahornstraße (Germany) and Ahornstrasse (Switzerland).

I think address / road search works very well now, at least with west european languages. 
I tried various combinations of options like --latin1 / --unicode, --lower-case,  --x-split-name-index both in MapSource and on my Oregon 600 and always got what I expected.

If you try this version, please make sure that you also compile the img files with this version so that the changes in the sort are used everywhere.

The branch also reduces peak memory compared to trunk and because of that it is faster when creating large indexes, but speed is probably not so important here.
The created index is a bit smaller although it now also contains roads with an empty string as first label.

If memory is still an issue for you when compiling the index for large maps I can try to implement a merge sort which would only create the - heap consuming - sort 
keys for a rather small number (e.g. 100.000) roads and sort those and finally merge the parts. 
If you know special cases which don't work with r3890 trunk please try the branch and let me know if something might be improved.
I think it is a big step forward, but there may still be special cases with other languages.

I used a small set of only 4 tiles to test functionality and compiled index for Europe (compiled with default style) (>1600 tiles) with -Xmx6800m and --x-split-name-index


More information about the mkgmap-dev mailing list