logo separator

[mkgmap-dev] Improved street search in index branch

From Johann Gail johann.gail at gmx.de on Sun Jan 23 17:41:01 GMT 2011

>> (2) Missing all streets beginning by "Calle" before "Calle Real ..."
>>     
>
> I suspect (like Johann) that having so many streets beginning with the 
> same letters is confusing. But surely it is confusing to humans too? How
> are Spanish street directories normally indexed, do you normally ignore 
> the "Calle" and then sort on the rest? It seems like this is possible in 
> the Garmin format, but not something we have done.
>   
>
In the cpreview code it is handled by the 'multibody' feature. As far as 
I understand it, there are simply created some more entries in the mdr7 
which point not to the beginning of the string but into the string. The 
offset of this pointer to the string start is saved in another byte. 
These entries are sorted among the others.

If multibody is enabled, there is some additional handling by the so 
called xflag. This variable counts the occurences of equal strings. It 
stores the counter in one ore two (if > 256) extra bytes. I have not 
understood it fully. Maybe this feature is needed to store more than 
2^15 strings with the same start and is the clue to the missing streets.

Johann




More information about the mkgmap-dev mailing list