logo separator

[mkgmap-dev] use of --mdr7-del can break address search/street search

From Gerd Petermann gpetermann_muenchen at hotmail.com on Fri Jan 21 11:02:13 GMT 2022

Hi Ticker,

the p= values are probably also reset for each partial string.
These entries refer to partial string "10" and "10."
0019fec3 | 0005ac | 0e                      | 14 map number
0019fec4 | 0005ad | 31 13 81                | Pointer back into LBL: 011331
0019fec7 | 0005b0 | 97 93 0d                | Pointer to string: BISKUPLJACA 10
0019feca | 0005b3 | 0c                      | name offset 12
0019fecb | 0005b4 | 01 00 00                | N sort seq p=0   s=0
         |        |                         |
         |        |                         | Record 134
0019fece | 0005b7 | 0e                      | 14 map number
0019fecf | 0005b8 | d6 2c 81                | Pointer back into LBL: 012cd6
0019fed2 | 0005bb | fc 94 0d                | Pointer to string: BOBOVIK 10
0019fed5 | 0005be | 08                      | name offset 8
0019fed6 | 0005bf | 02 00 00                | R sort seq p=1   s=0
         |        |                         |
         |        |                         | Record 135
0019fed9 | 0005c2 | 12                      | 18 map number
0019feda | 0005c3 | 99 3a 82                | Pointer back into LBL: 023a99
0019fedd | 0005c6 | 33 6f 0e                | Pointer to string: FERENSCICA 10
0019fee0 | 0005c9 | 0b                      | name offset 11
0019fee1 | 0005ca | 04 00 00                | R sort seq p=2   s=0
...
         |        |                         | Record 167
001a0039 | 000722 | 0e                      | 14 map number
001a003a | 000723 | b2 2d 81                | Pointer back into LBL: 012db2
001a003d | 000726 | 12 d8 0d                | Pointer to string: ZITNA 10
001a0040 | 000729 | 06                      | name offset 6
001a0041 | 00072a | 3e 00 00                | R sort seq p=31  s=0
         |        |                         |
         |        |                         | Record 168
001a0044 | 00072d | 10                      | 16 map number
001a0045 | 00072e | 1b 1f 81                | Pointer back into LBL: 011f1b
001a0048 | 000731 | 5a 08 0e                | Pointer to string: NOVA 10.
001a004b | 000734 | 05                      | name offset 5
001a004c | 000735 | 01 00 00                | N sort seq p=0   s=0
         |        |                         |
         |        |                         | Record 169
001a004f | 000738 | 10                      | 16 map number
001a0050 | 000739 | d5 13 81                | Pointer back into LBL: 0113d5
001a0053 | 00073c | a5 0a 0e                | Pointer to string: OSOJE 10.
001a0056 | 00073f | 06                      | name offset 6
001a0057 | 000740 | 02 00 00                | R sort seq p=1   s=0
          |        |                         | Record 170
001a005a | 000743 | 10                      | 16 map number
001a005b | 000744 | 48 07 81                | Pointer back into LBL: 010748
001a005e | 000747 | 88 1a 0e                | Pointer to string: RASTICA 10.
001a0061 | 00074a | 08                      | name offset 8
001a0062 | 00074b | 04 00 00                | R sort seq p=2   s=0
         |        |                         |
         |        |                         | Record 171
001a0065 | 00074e | 10                      | 16 map number
001a0066 | 00074f | d1 2d 81                | Pointer back into LBL: 012dd1
001a0069 | 000752 | 61 1f 0e                | Pointer to string: SRIMA 10.
001a006c | 000755 | 06                      | name offset 6
001a006d | 000756 | 06 00 00                | R sort seq p=3   s=0
         |        |                         |
         |        |                         | Record 172
001a0070 | 000759 | 0e                      | 14 map number
001a0071 | 00075a | 75 21 81                | Pointer back into LBL: 012175
001a0074 | 00075d | b1 cf 0d                | Pointer to string: ULICA 10.
001a0077 | 000760 | 06                      | name offset 6
001a0078 | 000761 | 08 00 00                | R sort seq p=4   s=0

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Gerd Petermann <gpetermann_muenchen at hotmail.com>
Gesendet: Freitag, 21. Januar 2022 11:55
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev]       use     of      --mdr7-del      can     break   address search/street   search

Hi Ticker,

here are the requested files.
I think the numbers after s= are simply increase for each entry which refers to  the same  ref.

A larger extract of transalpin MdrDisplay output for those MDR7 entries with s > 0:
         |        |                         | Record 10
000002fe | 000036 | 01                      | 1 map number
000002ff | 000037 | 80 05 80                | Pointer back into LBL: 000580
00000302 | 00003a | 00                      | name offset 0
00000303 | 00003b | 04                      | R sort seq p=0   s=1
         |        |                         |
         |        |                         | Record 11
00000304 | 00003c | 01                      | 1 map number
00000305 | 00003d | 4d 02 80                | Pointer back into LBL: 00024d
00000308 | 000040 | 00                      | name offset 0
00000309 | 000041 | 08                      | R sort seq p=0   s=2
         |        |                         |
         |        |                         | Record 12
0000030a | 000042 | 01                      | 1 map number
0000030b | 000043 | 56 05 80                | Pointer back into LBL: 000556
0000030e | 000046 | 00                      | name offset 0
0000030f | 000047 | 0c                      | R sort seq p=0   s=3
         |        |                         |
         |        |                         | Record 13
00000310 | 000048 | 01                      | 1 map number
00000311 | 000049 | 60 02 80                | Pointer back into LBL: 000260
00000314 | 00004c | 00                      | name offset 0
00000315 | 00004d | 10                      | R sort seq p=0   s=4
         |        |                         |
         |        |                         | Record 14
00000316 | 00004e | 01                      | 1 map number
00000317 | 00004f | 07 06 80                | Pointer back into LBL: 000607
0000031a | 000052 | 00                      | name offset 0
0000031b | 000053 | 14                      | R sort seq p=0   s=5
         |        |                         |
         |        |                         | Record 15
0000031c | 000054 | 01                      | 1 map number
0000031d | 000055 | 84 04 80                | Pointer back into LBL: 000484
00000320 | 000058 | 00                      | name offset 0
00000321 | 000059 | 18                      | R sort seq p=0   s=6

Here is an extract of the Topo Adria map:
001a1cd7 | 0023c0 | 13                      | 19 map number
001a1cd8 | 0023c1 | a7 0f 80                | Pointer back into LBL: 000fa7
001a1cdb | 0023c4 | 15 01 0f                | Pointer to string: 2184
001a1cde | 0023c7 | 00                      | name offset 0
001a1cdf | 0023c8 | 01 00 00                | N sort seq p=0   s=0
         |        |                         |
         |        |                         | Record 834
001a1ce2 | 0023cb | 13                      | 19 map number
001a1ce3 | 0023cc | 86 18 80                | Pointer back into LBL: 001886
001a1ce6 | 0023cf | 1b 01 0f                | Pointer to string: 2184MEDVEDICKA
001a1ce9 | 0023d2 | 00                      | name offset 0
001a1cea | 0023d3 | 00 20 00                | R sort seq p=0   s=1
         |        |                         |
         |        |                         | Record 835
001a1ced | 0023d6 | 13                      | 19 map number
001a1cee | 0023d7 | d4 1a 80                | Pointer back into LBL: 001ad4
001a1cf1 | 0023da | 28 01 0f                | Pointer to string: 2185
001a1cf4 | 0023dd | 00                      | name offset 0
001a1cf5 | 0023de | 01 00 00                | N sort seq p=0   s=0
         |        |                         |
         |        |                         | Record 836
001a1cf8 | 0023e1 | 13                      | 19 map number
001a1cf9 | 0023e2 | 14 19 80                | Pointer back into LBL: 001914
001a1cfc | 0023e5 | 2e 01 0f                | Pointer to string: 2185CRNEC
001a1cff | 0023e8 | 00                      | name offset 0
001a1d00 | 0023e9 | 00 20 00                | R sort seq p=0   s=1
         |        |                         |
         |        |                         | Record 837
001a1d03 | 0023ec | 13                      | 19 map number
001a1d04 | 0023ed | 6a 18 80                | Pointer back into LBL: 00186a
001a1d07 | 0023f0 | 38 01 0f                | Pointer to string: 2185DRAGANCI
001a1d0a | 0023f3 | 00                      | name offset 0
001a1d0b | 0023f4 | 00 40 00                | R sort seq p=0   s=2
         |        |                         |
         |        |                         | Record 838
001a1d0e | 0023f7 | 13                      | 19 map number
001a1d0f | 0023f8 | 97 18 80                | Pointer back into LBL: 001897
001a1d12 | 0023fb | 44 01 0f                | Pointer to string: 2185DRENOVICA
001a1d15 | 0023fe | 00                      | name offset 0
001a1d16 | 0023ff | 00 60 00                | R sort seq p=0   s=3
         |        |                         |
         |        |                         | Record 839
001a1d19 | 002402 | 13                      | 19 map number
001a1d1a | 002403 | 03 19 80                | Pointer back into LBL: 001903
001a1d1d | 002406 | 50 01 0f                | Pointer to string: 2185MEDVEDICKA
001a1d20 | 002409 | 00                      | name offset 0
001a1d21 | 00240a | 00 80 00                | R sort seq p=0   s=4
         |        |                         |
         |        |                         | Record 840
001a1d24 | 00240d | 13                      | 19 map number
001a1d25 | 00240e | 20 19 80                | Pointer back into LBL: 001920
001a1d28 | 002411 | 5d 01 0f                | Pointer to string: 2185MOLVICE
001a1d2b | 002414 | 00                      | name offset 0
001a1d2c | 002415 | 00 a0 00                | R sort seq p=0   s=5
         |        |                         |
         |        |                         | Record 841
001a1d2f | 002418 | 13                      | 19 map number
001a1d30 | 002419 | f3 18 80                | Pointer back into LBL: 0018f3
001a1d33 | 00241c | 69 01 0f                | Pointer to string: 2185PAVLJANCI
001a1d36 | 00241f | 00                      | name offset 0
001a1d37 | 002420 | 00 c0 00                | R sort seq p=0   s=6
         |        |                         |
         |        |                         | Record 842
001a1d3a | 002423 | 13                      | 19 map number
001a1d3b | 002424 | 79 18 80                | Pointer back into LBL: 001879
001a1d3e | 002427 | 76 01 0f                | Pointer to string: 2185SIRINE
001a1d41 | 00242a | 00                      | name offset 0
001a1d42 | 00242b | 00 e0 00                | R sort seq p=0   s=7
...

Gerd

________________________________________
Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
Gesendet: Freitag, 21. Januar 2022 11:11
An: Development list for mkgmap
Betreff: Re: [mkgmap-dev]       use     of      --mdr7-del      can     break   address search/street   search

Hi Gerd

The extraInfo byte(s) could contain than
 1bit sort flag,
 0-4bits prefix.
 0-4bits suffix.

Magic 0x1e00 says how many bits the prefix is, so can find the suffix.
Maybe the next 4 bits 0x1e000 say how big the suffix is so can get more
info, which is the 6 you are seeing.

What is the magic for the mdr7s of the 2 maps you mention; can you do
the MdrSummary

Ticker

On Fri, 2022-01-21 at 08:54 +0000, gpetermann_muenchen at hotmail.com
wrote:
> Hi Ticker,
>
> don't worry. My current thinking is that the numbers s= displayed in
> the mdr7 section by MdrDisplay may somehow point into Mdr32/33.
> I am looking at the transalpin demo map.
> I see a few entries in 32/33 for road names which appear after a road
> ref. Those have a value > 0 in s=
> Extract from mdr7:
> 0000031c | 000054 | 01                      | 1 map number
> 0000031d | 000055 | 84 04 80                | Pointer back into LBL:
> 000484
> 00000320 | 000058 | 00                      | name offset 0
> 00000321 | 000059 | 18                      | R sort seq p=0   s=6
> Extract from NetDisplay for the road with label offset 484:
> 00002e33 | 002dcf | 70 05 80                | Label offset: 570
> (B186DORFSTRAßE)
> ...
> 00002eb8 | 002e54 | 80 05 80                | Label offset: 580
> (B186GEWERBEGEBIET SÖLDEN)
> ....
> 00002ef3 | 002e8f | 4d 02 80                | Label offset: 24d
> (B186GURGLERSTRAßE)
> ...
> 00002f43 | 002edf | 56 05 80                | Label offset: 556
> (B186KIRCHENKAR)
> ...
> 00002f59 | 002ef5 | 60 02 80                | Label offset: 260
> (B186ÖTZTAL-BUNDESSTRAßE)
> ...
> 00003013 | 002faf | 07 06 80                | Label offset: 607
> (B186ÖTZTALSTRAßE)
> ...
> 0000302c | 002fc8 | 84 04 80                | Label offset: 484
> (B186TIMMELSJOCHSTRAßE)
>
>
> Problem: There are more strings in mdr32 and I have no idea how
> exactly the numbers are used.
> Entries in mdr32/33 are sorted alphabetically. In this map set they
> contain the words after ref B186
> and all entries in MDR7 with s > 0 refer to those road labels.
> Also it seems that values > 0 in s= only appear with "name offset 0"
> mdr32:
> --------- MDR 32 (pointers to mdr33) --------------------------------
> -----------
> 00002781 | 000000 | 00 00                   | Offset in mdr33: 0
> 00002783 | 000002 | 0c 00                   | Offset in mdr33: 12
>          |        |                         | mdr33 string:
> BUNDESSTRAßE
> 00002785 | 000004 | 16 00                   | Offset in mdr33: 22
>          |        |                         | mdr33 string:
> DORFSTRAßE
> 00002787 | 000006 | 23 00                   | Offset in mdr33: 35
>          |        |                         | mdr33 string:
> GEWERBEGEBIET
> 00002789 | 000008 | 30 00                   | Offset in mdr33: 48
>          |        |                         | mdr33 string:
> GURGLERSTRAßE
> 0000278b | 00000a | 3a 00                   | Offset in mdr33: 58
>          |        |                         | mdr33 string:
> KIRCHENKAR
> 0000278d | 00000c | 40 00                   | Offset in mdr33: 64
>          |        |                         | mdr33 string: OTZTAL
> 0000278f | 00000e | 4c 00                   | Offset in mdr33: 76
>          |        |                         | mdr33 string:
> OTZTALSTRAßE
> 00002791 | 000010 | 52 00                   | Offset in mdr33: 82
>          |        |                         | mdr33 string: SOLDEN
>          |        |                         | mdr33 string:
> TIMMELSJOCHSTRAßE
>
> No idea how the data is used. My Oregon cannot find any address
> and shows garbage for the region name when I install the
> gmapsupp.img.
>
> The Adria Topo map also seems to show s= values > 0 only for labels
> which contain
> a ref.
> Gerd
>
> ________________________________________
> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag
> von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> Gesendet: Donnerstag, 20. Januar 2022 23:00
> An: Development list for mkgmap
> Betreff: Re: [mkgmap-dev] use   of      --mdr7-del      can
> break   address search/street   search
>
> Hi Gerd
>
> I got confused between Mdr15 (full string for gmapi) and Mdr17
> (partial
> string for device), so what I wrote here makes little sense.
>
> I need to think about it more. Sorry for wasting your time.
>
> Ticker
>
> On Thu, 2022-01-20 at 20:42 +0000, Ticker Berkin wrote:
> > Hi Gerd
> >
> > It could be trying to represent something as follows:
> >
> > For a device, there is no MDR17 string, so no possibility of using
> > this
> > to have index entries for parts of the street name.
> >
> > A street LBL can have any number of prefix / suffix chars.
> > Multiple mdr7 repeat records can be generated for the same label,
> > each
> > specifying a prefix and suffix marker count/index to indicate that
> > part
> > of the label to be searchable.
> >
> > MdrDisplay shows these prefix/suffix indexes
> >
> > Ticker
> >
> > On Thu, 2022-01-20 at 20:02 +0000, Gerd Petermann wrote:
> > > Hi Ticker,
> > >
> > > I also wondered why these lines still exist:
> > >                         int bitsPrefix = (maxPrefixCount == 0) ?
> > > 0
> > > :
> > > Integer.numberOfTrailingZeros(Integer.highestOneBit(maxPrefixCoun
> > > t)
> > > )
> > > + 1;
> > >                         int bitsSuffix = (maxSuffixCount == 0) ?
> > > 0
> > > :
> > > Integer.numberOfTrailingZeros(Integer.highestOneBit(maxSuffixCoun
> > > t)
> > > )
> > > + 1;
> > >
> > > The two counters are never increased in the current code. In
> > > r3968
> > > there's some commented code which used them.
> > >
> > > Gerd
> > >
> > > ________________________________________
> > > Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im
> > > Auftrag
> > > von Ticker Berkin <rwb-mkgmap at jagit.co.uk>
> > > Gesendet: Donnerstag, 20. Januar 2022 19:22
> > > An: mkgmap-dev at lists.mkgmap.org.uk
> > > Betreff: Re: [mkgmap-dev] use of        --mdr7-del      can
> > > break   address search/street   search
> > >
> > > Hi Gerd
> > >
> > > I'm struggling to understand the possibilities of Mdr7 (ordering,
> > > partialInfo, nameOffset, string different to label, etc etc)
> > >
> > > My initial thought about nameOffset was that it was for skipping
> > > over
> > > the shield prefix or text before the 0x1b marker.
> > >
> > > partialInfo is very strange; it seems to be used for part of the
> > > rr
> > > flag but the code suggests it also held counts of the number of
> > > prefixes and suffixes.
> > >
> > > Sorry - not being much use here.
> > >
> > > 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
>
>
> _______________________________________________
> 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


More information about the mkgmap-dev mailing list