logo separator

[mkgmap-dev] What's the maximum size of global index MDR size?

From Gerd Petermann gpetermann_muenchen at hotmail.com on Mon Dec 13 10:25:20 GMT 2021

Hi Ticker,

attached is my experimental code patch for mkgmap.
It changes mkgmap to write the MDR 16 section ad MDR15 section with compression set to 1 in the MDR header.
The Mdr15 content are the first 32 bytes of the original table.

I use it with the attached OSM file and options --index --gmapi --code-page=1252

Hope it helps. Maybe you can find the download link to the adria map somewhere
in the archive, my downloaded file is called "AdriaTOPO 2.40 HR.exe"
Unfortunately my links to Nabble no longer work.

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Montag, 13. Dezember 2021 11:08
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev] What's the maximum size of global index MDR size?

Hi Gerd

Does Mdr16 look like some form of a flattened Huffman tree? A common
representation is a stream of bits describing the shape and a stream of
chars giving the contents.

If you send me an example + the little bit at the start of Mdr15 you've
been using I'll have a look.

Ticker

On Sun, 2021-12-12 at 16:20 +0000, Gerd Petermann wrote:
> Hi all,
>
> yes, Mdr16 obviously contains some kind of codebook that is used to
> decode the strings in Mdr15.
>
> I've modified the code to write a copy of the MDR 16 section that I
> found in the Adria Topo map
> and changed Mdr15 code so that it always returns 1 as string offset
> and copies the first 24 bytes of the Mdr15 section. The original
> index contains offsets 1,11,16,20,24,27,... into Mdr15
> so the first string seems quite long compared to the next ones.
> If created a map that contains a single city POI with the name abc
> and MapSource displays Abc as expected (did not use --lower-case)
> Next I start to search for cities.
> No matter what character I type in the city name field the string
> that is displayed is
> "Baca Pri Podbrdu" (not sure about Upper/Lowercase yet)
> When I change the code to return offset 11 instead of 1 the string
> "Bavsica" is displayed instead of "Baca Pri Podbrdu"
>
> These strings can be found in the Adria Topo map.
>
> When I modify the content of the MDR 16 table, esp. the last byte, I
> see different strings displayed.
> E.g. when I change the last byte 0x42 ('B') to 0x58 ('X') the string
> "Baca Pri Podbrdu" changes to "Xaca Pri Podxrdu"
> So, I am now trying to understand the meaning of that table. It is
> different in the three maps, all use
> codepage 1252 and the MDR 16 sizes are 165, 177 and 212. It's very
> likely that the content
> depends on the frequency of the characters in the uncompressed MDR 15
> file.
>
> Gerd


_______________________________________________
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: onecity.osm
Type: application/octet-stream
Size: 1321 bytes
Desc: onecity.osm
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20211213/86ca6595/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mdr16.patch
Type: application/octet-stream
Size: 8780 bytes
Desc: mdr16.patch
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20211213/86ca6595/attachment-0003.obj>


More information about the mkgmap-dev mailing list