logo separator

[mkgmap-dev] Problem with global index POI search

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Sun Nov 14 16:34:44 GMT 2021

Hi Gerd

I'd just finished writing the following when I see your next post about
Mdr12. I'll post it anyway.

Some thoughts:

a) I'm surprised that uppercase.patch makes a difference; it's not much
different from changing the collator strength. Unless: Is there another
POI "Scuola Dell Infanzia Fondazione Pietro Caprettini" with different
capitalisation? This patch will increase memory usage.

b) uppercase2.patch is a bit drastic; it might be better to start with
just:
	int strOff = createString(name.toUpperCase(Locale.ENGLISH));
This leaves the forDevice behaviour unchanged. Then this, where there
isn't the possibility of having an alternative cased name for the
index, can be examined on various devices. 

c) Maybe all of Mdr15 (Country/Region/City/Street/Zip/POI) should be
uppercase.

d) When I was experimenting with --lower-case and differently cased
cities, I found MapSource &| BaseCamp changed the case of strange cased
names in the selection lists, but it didn't then not find them!
eg wherWell was shown as wherwell, Wherwell remained as Wherwell 

e) Is there a Garmin map that can be examined where there are lower
case LBL entries; what is the case of the Mdr15 entries

f) Why does MDRFile bother with mdr15.createString() when forDevice?
This is just an space/efficiency issue.

g) MdrCheck will complain a lot about any case changes. It should
probably have an option to allow SECONDARY/TERTIARY/EXACT matching.

h) I haven't thought about the effect Mdr17 has on any this.

i) Understanding these issues will help towards deciding what to do
with --lower-case, indexing and case-variants. It could be that
uppercasing everything in MDR is better than working on the collator
strength, but the difference between EXACT and TERTIARY still needs to
be considered.

I realise this is more questions than answers, but we might getting
into dubious Garmin behaviour.

Ticker

On Sun, 2021-11-14 at 10:33 +0000, Gerd Petermann wrote:
> Hi all,
> 
> my findings so far:
> I can also reproduce the problem with the default style for a complete
> map of Italy (geofabrik extract from 2021-06-23) using options
> java -jar mkgmap.jar  --preserve-element-order --bounds=bounds.zip  --
> max-jobs --code-page=1252 --lower-case --add-pois-to-areas -c
> template.args
> Will try to find a much smaller set of files...
> 
> The uppercase.patch helps also in this case, so it is probably a good
> approach. Index size doesn't change with this patch, uppercase2.patch
> increases it.
> Have to analyse memory peak usage, though.
> @Ticker: I also tried various alternatives with Collator.setStrength()
> and similar but nothing fixed the search. I guess we really need a very
> small set of tiles with only a few strings to fully understand what's
> wrong.
> 
> Gerd




More information about the mkgmap-dev mailing list