logo separator

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

From Ticker Berkin rwb-mkgmap at jagit.co.uk on Mon Dec 13 10:08:51 GMT 2021

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




More information about the mkgmap-dev mailing list