OSM Map On Garmin/LBL Subfile Format
A reverse-engineering of Garmin's LBL Subfile format
LBL Header
| Byte Offset | Length (bytes) | Description | Notes | |
|---|---|---|---|---|
| Header | 0x000 | 2 | LBL Header length. | |
| 0x002 | 19 | Garmin Common Header | The ID-String will be "GARMIN LBL" | |
| LBL1 | 0x015 | 4 | Offset | |
| 0x019 | 4 | Length | ||
| 0x01d | 1 | Data label offset multiplier | ||
| 0x01e | 1 | Label coding type | 0x06, 0x09 and 0x0a have been seen | |
| LBL2 Countries |
0x01f | 4 | Offset | |
| 0x023 | 4 | Length | ||
| 0x027 | 2 | Record size | ||
| 0x029 | 4 | Flags | ||
| LBL3 Regions |
0x02d | 4 | Offset | |
| 0x031 | 4 | Length | ||
| 0x035 | 2 | Record size | ||
| 0x037 | 4 | Flags | ||
| LBL4 Cities |
0x03b | 4 | Offset | |
| 0x03f | 4 | Length | ||
| 0x043 | 2 | Record size | ||
| 0x045 | 4 | Flags | ||
| LBL5 POI index |
0x049 | 4 | Offset | |
| 0x04d | 4 | Length | ||
| 0x051 | 2 | Record size | ||
| 0x053 | 4 | Flags | ||
| LBL6 POI properties |
0x057 | 4 | Offset | |
| 0x05b | 4 | Length | ||
| 0x05f | 1 | Offset multiplier | ||
| 0x060 | 1 | Global mask | ||
| 0x061 | 3 | Unknown | ||
| LBL7 POI types |
0x064 | 4 | Offset | |
| 0x068 | 4 | Length | ||
| 0x06c | 2 | Record size | ||
| 0x06e | 4 | Flags | ||
| LBL8 ZIPs |
0x072 | 4 | Offset | |
| 0x076 | 4 | Length | ||
| 0x07a | 2 | Record size | ||
| 0x07c | 4 | Flags | ||
| LBL9 Highways |
0x080 | 4 | Offset | |
| 0x084 | 4 | Length | ||
| 0x088 | 2 | Record size | ||
| 0x08a | 4 | Flags | ||
| LBL10 Exits |
0x08e | 4 | Offset | |
| 0x092 | 4 | Length | ||
| 0x096 | 2 | Record size | ||
| 0x098 | 4 | Flags | ||
| LBL11 Highway data |
0x09c | 4 | Offset | |
| 0x0a0 | 4 | Length | ||
| 0x0a4 | 2 | Record size | ||
| 0x0a6 | 4 | Flags | ||
| 0x0aa | 2 | Codepage | 0xe4 0x04 = 1252 has been spotted | |
| 0x0ac | 4 | Unknown (flags?) |
tbc...
Resources
- Garmin IMG Format at Sourceforge (pp. 40-41).