[mkgmap-dev] Problem with global index POI search
From Gerd Petermann gpetermann_muenchen at hotmail.com on Mon Nov 15 10:04:17 GMT 2021
Hi Ticker, a) probably clear with uppercase3.patch b) won't work, I think the entries in Mdr15 can contain more or less anything c) probably vice versa, Mdr15 should contain what is displayed to the user on the PC, other index entries always seem to be uppercase. d) Yes, that's a strange problem and one reason why Enrico contacted me. Some mixed-case strings are not displayed exactly as wanted. e) I found no readable Garmin map with lower case strings for POI or road names, but different maps have different prefix lenghts between 1 and 9 in Mdr12. Steve might know more. f) yes, should be optimised g) I think MdrCheck should reflect our knowledge about index structures, but sometimes the logic in mkgmap and in MdrCheck doesn't match 100%. h) Yes, hard to say. i) Yes, I think Garmin maps use uppercase strings for most of the index. Maybe Mdr15 contains mixed case. In a map for Benelux I see e.g. "'t Bèrs Kuiltje" in the list of POI. Unfortunately the Mdr15 section is written with a different format, MdrDisplay calls it compressedStrings. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk> Gesendet: Sonntag, 14. November 2021 17:34 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] Problem with global index POI search 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
- Previous message: [mkgmap-dev] Problem with global index POI search
- Next message: [mkgmap-dev] Commit r4814: fix Mdr12 index position calculation for maps with mixed case labels
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list