OSM Map On Magellan/Format/aux file

From OpenStreetMap Wiki
Jump to navigation Jump to search

Text Table

As described in the Database article, the aux files contain a table with text informations belonging to the elements in the layer files. Tables in the database are organized in Pages. The first page contains detailed informations about the table, the rest are filled with the stored data. The first page is not compressed but all others. The page size is 512 bytes.

Header

Header
Bytes 0 - 52 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
0x00 (int) Number of Records + 1 (int) Timestamp (Seconds since 1.1.1970)(int) 0x00 (int) 0x52 0x61 0x69 0x6D 0x61 0x20 0x44 0x61 0x74 0x61 0x62 0x61 0x73 0x65 0x20 0x4D 0x61 0x6E 0x61 0x67 0x65 0x72 0x20 0x34
Header
40 41 42 43 44 45 46 47 48 49 50 51 52
0x2E 0x35 0x20 0x5B 0x42 0x75 0x69 0x6C 0x64 0x20 0x31 0x37 0x5D

The rest of the first page is filled with 0x00.

Alphabetical Look up table

The first row in the aux table, which should normally contain the first use data has a speciality. The text data is alphabetically ordered and the first table entry contains an alphabetical look up table. The look up table contains the row number of the row in the Linkage table that points to the first entry int the text table with a certain character. Each page starts with 4 byte for the last change date:

Page Change Date
Bytes 512 - 515 0 1 2 3
Change time in seconds since 1970 (int)

Then follow the row, first of all with the row prefix:

Each row in a table has 6 starting bytes containing table and row number.

Row prefix
Bytes 516 - 521 0 1 2 3 4 5
Table Number (short) TableNumber << 25 + row (int)

Next follows an array of int with size 40.

Position Index for Character
0 First index for character smaller than '0'
1 - 11 Index for character '0' - '9'
12 0x00 (int)
13 - 38 Index for character 'A' - 'Z'
39 First index for character bigger than 'Z'

Only capital letters are used. When there is no entry for character the value in the table is set to 0x00 (int).

Use Data

The next row contains regular text data. In this case it contains the texts "AA', "BB", etc.

Second Row
Bytes 770 - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
Table Number (short) TableNumber << 25 + row (int) 0x41 0x41 0x00 0x42 0x42 0x00 0x43 0x43 0x00 0x44 0x44 ...

0x00 is used as delimeter between two texts.

Example

The following example contains 26 text entries 'AA', 'BB', ..., 'ZZ' belonging to element 0 - 25 of Cell 1 in layer 5:

Uncompressed table
0x00 0x00 0x00 0x00 0x03 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0xF1 0x45 0x6A 0x54 0x00 0x00 0x00 0x00 0x52 0x61 0x69 0x6D 0x61 0x20 0x44 0x61 0x74 0x61 0x62 0x61
0x73 0x65 0x20 0x4D 0x61 0x6E 0x61 0x67 0x65 0x72 0x20 0x34 0x2E 0x35 0x20 0x5B 0x42 0x75 0x69 0x6C 0x64 0x20 0x31 0x37 0x5D 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0xF1 0x45 0x6A 0x54 0x04 0x00 0x01 0x00 0x00 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x02 0x00
0x00 0x00 0x03 0x00 0x00 0x00 0x04 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x06 0x00 0x00 0x00 0x07 0x00 0x00 0x00 0x08 0x00 0x00 0x00 0x09 0x00 0x00 0x00 0x0A 0x00
0x00 0x00 0x0B 0x00 0x00 0x00 0x0C 0x00 0x00 0x00 0x0D 0x00 0x00 0x00 0x0E 0x00 0x00 0x00 0x0F 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x11 0x00 0x00 0x00 0x12 0x00
0x00 0x00 0x13 0x00 0x00 0x00 0x14 0x00 0x00 0x00 0x15 0x00 0x00 0x00 0x16 0x00 0x00 0x00 0x17 0x00 0x00 0x00 0x18 0x00 0x00 0x00 0x19 0x00 0x00 0x00 0x1A 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x04 0x00 0x02 0x00 0x00 0x08 0x41 0x41 0x00 0x42 0x42 0x00 0x43 0x43 0x00 0x44 0x44 0x00 0x45 0x45 0x00 0x46 0x46 0x00 0x47 0x47 0x00 0x48 0x48 0x00
0x49 0x49 0x00 0x4A 0x4A 0x00 0x4B 0x4B 0x00 0x4C 0x4C 0x00 0x4D 0x4D 0x00 0x4E 0x4E 0x00 0x4F 0x4F 0x00 0x50 0x50 0x00 0x51 0x51 0x00 0x52 0x52 0x00 0x53 0x53
0x00 0x54 0x54 0x00 0x55 0x55 0x00 0x56 0x56 0x00 0x57 0x57 0x00 0x58 0x58 0x00 0x59 0x59 0x00 0x5A 0x5A 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00


Compressed table
0x00 0x00 0x00 0x00 0x03 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0xCC 0x46 0x6A 0x54 0x00 0x00 0x00 0x00 0x52 0x61 0x69 0x6D 0x61 0x20 0x44 0x61 0x74 0x61 0x62 0x61
0x73 0x65 0x20 0x4D 0x61 0x6E 0x61 0x67 0x65 0x72 0x20 0x34 0x2E 0x35 0x20 0x5B 0x42 0x75 0x69 0x6C 0x64 0x20 0x31 0x37 0x5D 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x78 0xDA 0xD5 0xCF 0xC7 0x0D 0xC2 0x00 0x10 0x44 0xD1 0x0F 0x18 0x30 0x39 0xC7 0x6E 0x1C 0xC1 0x91 0x64 0xE3 0x50 0x02 0xB5 0x52 0x14 0x83 0xA8 0x80 0x03 0x07
0xBE 0xF4 0x8E 0x3B 0xD2 0x3E 0xFD 0x47 0x66 0xD0 0x00 0x93 0x2F 0xD3 0x0D 0x4D 0x69 0x89 0x21 0x6D 0xE9 0x48 0x97 0xCF 0x58 0x4F 0xFA 0x32 0x90 0xA1 0x8C 0x64
0x2C 0x13 0x99 0xCA 0x4C 0xE6 0xB2 0x90 0xA5 0xAC 0x64 0x2D 0x1B 0xD9 0xCA 0x4E 0xF6 0xFC 0x3E 0xE3 0xFD 0x85 0x69 0x59 0xD8 0x36 0x8E 0x83 0xEB 0xE2 0x79 0xF8
0x3E 0x87 0x03 0xC7 0x23 0x41 0x40 0x18 0x12 0x45 0xC4 0x31 0x49 0x42 0x9A 0x72 0x3A 0x71 0x3E 0x73 0xB9 0x70 0xBD 0x72 0xBB 0x91 0x65 0xE4 0x39 0xF7 0x3B 0x45
0x41 0x59 0x52 0x55 0xD4 0x35 0xFF 0xD3 0x0B 0xA2 0xF9 0x13 0x09