logo separator

[mkgmap-dev] some findings about NT format

From Gerd Petermann GPetermann_muenchen at hotmail.com on Wed Feb 16 16:45:44 GMT 2022

Hi all,

my findings so far which are not used / needed in GPXSee. Maybe it helps someone else:
- method linkLabel() could extract further road labels, bit 0x800000 flags the last of up to 4 labels. 
- method linkLabel()  extracts a flag, the bit 0x08 in this flag seems to signal a tunnel. No idea yet what the other bits mean.
- the flags field in struct LinkInfo is used like this (netfile.cpp)
	bool firstIsShape = (linkInfo.flags >> 10) & 1;
	bool singleTopology = (linkInfo.flags >> 9) & 1;
	bool hasLevels = (linkInfo.flags >> 11) & 1;
My guesses about the meaning of the lower bits:
  	//	int	road_speed = linkInfo.flags  & 7;   
	//	bool oneway = (linkInfo.flags >> 3) & 1; 
	//	int	road_class = (linkInfo.flags >> 4) & 7;  

- The NET header can have two more sections, e.g. I see
00000684 | f6 cb 13 00             | NET5 ???, offset 13cbf6
00000688 | 96 0a 01 00             | NET5 ???, length 68246
0000068c | 23 00                   | ???
0000068e | 8c d6 14 00             | NET6 ???, offset 14d68c
00000692 | 28 05 00 00             | NET6 ???, length 1320
00000696 | 03 00                   | NET6 ??? record size 3
00000698 | 02 00 00 00             | ???

NET6 contains a list of offsets into NET4, they are in sorted order
and each offset points to the byte following the flag byte that is read in  linkLabel() 
I see 440 recrods here, and 441 NOD6 records in the corresponding NOD file,
so they are obviously related (field blockIndexId).

I've not yet found where the address info like city name, zip name, and house numbers are
stored. Maybe that's in NET5.

I think in the old non-NT format there is no need to know NOD data to be able to read NET, so
I woulld expect that this is also possible with NT maps.

Gerd


More information about the mkgmap-dev mailing list