logo separator

[mkgmap-dev] Re: my map testing

From Robert Vollmert rvollmert-lists at gmx.net on Fri Dec 12 09:59:47 GMT 2008

On Dec 11, 2008, at 18:58, Alexander Atanasov wrote:
> Do not increase bmlen if the starting point is not a node.
> It represents the count of nodes, not their locations in the line
> and nnodes is set to the real count from the reader.
>
> I don't know how this is handled:
>  R1                           R1
> ------------------X-------------------
>                       | R2
>
> If R1 is the first segment it can be split in two and have bmlen=2 and
> 01 10 bitmaps.
>
> If it's not the first segment starting point is a node depending on
> the last point from the previous segment.
>
> So extend the nodes count only for roads with one node which is not
> the starting one, i don't see how to find the segments.

I tried to code what I saw in some maps. Namely, most of the time,  
there's just the lower bmlen bits set, and bmlen=nnodes (eg bmlen=3,  
bs=7). Then there's a few cases where the lowest bit is not set, but  
above that bmlen bits are set, and bmlen=nnodes+1 (eg bmlen=3, bs=6).  
Furthermore, this appears to happen iff the start point of a road is  
not a node. In all the cases I've seen,
(highest bit in bs) == (1 << (bmlen - 1)) .

Do you have different examples?

Here's a of all bmlen / bs in a large map:

    #  bmlen                    bs
----------------------------------------------
    1  03                       06
    1  07                       7e
    1  08                       fe
    1  12                       ff ff 03
    1  16                       ff ff 3f
    1  17                       ff ff 7f
    1  18                       ff ff ff
    1  19                       ff ff ff 01
    1  1a                       ff ff ff 03
    1  1c                       ff ff ff 0f
    1  20                       ff ff ff ff
    1  25                       ff ff ff ff 1f
    1  28                       ff ff ff ff ff
    2  14                       ff ff 0f
    2  15                       ff ff 1f
    2  21                       ff ff ff ff 01
    3  01                       01
    3  1b                       ff ff ff 07
    5  02                       02
    6  11                       ff ff 01
    7  10                       ff ff
    7  13                       ff ff 07
    8  0e                       ff 3f
   10  0c                       ff 0f
   12  0d                       ff 1f
   14  0f                       ff 7f
   25  0b                       ff 07
   31  08                       ff
   31  0a                       ff 03
   39  09                       ff 01
   51  07                       7f
   62  05                       1f
   73  06                       3f
  107  04                       0f
  151  03                       07
21713  02                       03


Cheers
Robert




More information about the mkgmap-dev mailing list