[mkgmap-dev] use of --mdr7-del can break address search/street search
From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu Jan 20 17:06:17 GMT 2022
Hi Ticker, It seems that we must write an Mdr7Record with outNameOffset==0 if we also want to write other entries with outNameOffset>0. If that is the case MdrCheck should verify that. Another problem with the mdr7-del4.patch: The code for --split-name-index logic doesn't only split at ' ' (space), it has a different logic which also splits at characters like '-', ':' etc Attached is an improved patch which works around these problems. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen at hotmail.com> Gesendet: Donnerstag, 20. Januar 2022 12:40 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] use of --mdr7-del can break address search/street search Hi Ticker, sorry, it seems I still haven't understood how the index structure works. With the patch mdr7-del4.patch mkgmap creates an index which makes MdrCheck happy, but MapSource typically says "no item found" when I pick one of the entries that start with a word which appears in the mdr7-del list. So, both mkmap and MdrCheck are probably wrong. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen at hotmail.com> Gesendet: Donnerstag, 20. Januar 2022 10:24 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] use of --mdr7-del can break address search/street search Hi Ticker, thought again about the remark reg. MDR7_HAS_STRING. With the mdr7-del4.patch we can add strings to Mdr15 section which may never used because no index entry will show the corresponding label. So, mdr7-del4.patch is too simple as it wastes space in the PC index. Also I have big problems to document what the option --mdr7-del means when this patch is applied :( Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen at hotmail.com> Gesendet: Mittwoch, 19. Januar 2022 16:09 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] use of --mdr7-del can break address search/street search Hi Ticker, the major difference between the (unpatched) --mdr7-del and the --split-name-index processing is that --mdr7-del takes the original label and changes the content before the index calculation starts. Later, the sorted positions don't match with the original labels and Garmin cannot find the label that the list shows. --split-name-index just calculates positions based on the full label. This works because we don't change the label. The repeat flags are probably used to decide which tiles have to be read to find all candidates for a given index entry. I've attached an alternative patch which applies the --mdr7-del list later. For each (partial) string the first (!) word is checked against --mdr7-del list. If found, the partial label is ignored. I guess that's what you meant? This also fixes the index errors but doesn't change the index size. I'll need time to find out what I like more and how this works when labels start with a word in --mdr7-del list. Gerd ________________________________________ Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk> Gesendet: Mittwoch, 19. Januar 2022 13:23 An: Development list for mkgmap Betreff: Re: [mkgmap-dev] use of --mdr7-del can break address search/street search Hi Gerd I'm trying understand all this, so maybe what I'm trying to say here is rubbish. How is it that --split-name-index didn't also break Find > Street select list. If it is required that Mdr7 index entries refer to a label, then, maybe, can have multiple index entries to the same label with different starting positions, indicated by [out]NameOffset. These shouldn't be deduped against apparently the same partial name from elsewhere. It avoids the need for the tile builder to adjusting one of the 4 labels. A disadvantage is that each duplicate entry runs to the end of the label. I don't understand what the Mdr7 repeat flag is supposed to indicate. Also, if MDR7_HAS_STRING, does the offset work in this Ticker _______________________________________________ mkgmap-dev mailing list mkgmap-dev at lists.mkgmap.org.uk https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev at lists.mkgmap.org.uk https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev _______________________________________________ mkgmap-dev mailing list mkgmap-dev at lists.mkgmap.org.uk https://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev -------------- next part -------------- A non-text attachment was scrubbed... Name: mdr7-del4b.patch Type: application/octet-stream Size: 4351 bytes Desc: mdr7-del4b.patch URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20220120/77f25dba/attachment.obj>
- Previous message: [mkgmap-dev] use of --mdr7-del can break address search/street search
- Next message: [mkgmap-dev] use of --mdr7-del can break address search/street search
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list