62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
|
=== Format des fichiers .map ===
|
||
|
|
||
|
- Version du document (= version du format) : 4
|
||
|
|
||
|
- Sauf mention contraire, les entiers sont codés en big endian (compatible DataOutputStream).
|
||
|
|
||
|
[No d'octets] = signification
|
||
|
|
||
|
[0-3] = Magic number 0xbacaff (doit se trouver au début du fichier)
|
||
|
[4-7] = Version du format
|
||
|
[8-11] = Identifiant de carte
|
||
|
[12-15] = Numéro de zone
|
||
|
[16-19] = Nombre de descripteurs dans ce fichier
|
||
|
[20-23] = Nombre de noeuds dans ce fichier
|
||
|
|
||
|
[24-..] =
|
||
|
* Tous les noeuds, les uns après les autres, en commençant par le numéro 0. Voir le format d'un noeud.
|
||
|
* Puis un octet à 255.
|
||
|
|
||
|
* Puis, tous les descripteurs, les uns après les autres, en commençant par le numéro 0.
|
||
|
Voir le format des descripteurs.
|
||
|
* Puis un octet à 254.
|
||
|
|
||
|
* Puis, toutes les routes sortantes (routes sortantes du premier noeud, puis celles du deuxième noeud, etc. )
|
||
|
* Puis un octet à 253.
|
||
|
|
||
|
(fin du fichier)
|
||
|
|
||
|
|
||
|
=== Format des noeuds ===
|
||
|
|
||
|
[0-3] = longitude sur 32 bits (à diviser par 1E6)
|
||
|
[4-7] = latitude sur 32 bits (à diviser par 1E6)
|
||
|
[8] = Nombre de routes sortantes sur 8 bits
|
||
|
|
||
|
|
||
|
=== Format des routes sortantes (taille variable car dépend du nombre de segments) ===
|
||
|
|
||
|
[0] = Numéro de zone du noeud destination (8 bits)
|
||
|
[1-3] = Numéro du noeud destination, dans la zone donnée (24 bits, big endian)
|
||
|
[4-6] = Numéro de descripteur (24 bits)
|
||
|
[7-8] = Longueur de l'arête (16 bits), en mètres, prenant en compte tous les segments.
|
||
|
[9-10] = Nombre de segments (16 bits), éventuellement 0.
|
||
|
[11-...] = Segments
|
||
|
|
||
|
|
||
|
=== Format des segments ===
|
||
|
|
||
|
[0-1] = Delta de longitude, sur 16 bits signés (à diviser par 2.0E5)
|
||
|
[2-3] = Delta de latitude, sur 16 bits signés (à diviser par 2.0E5)
|
||
|
|
||
|
=== Format des descripteurs (la taille est variable, car elle dépend du nom du chemin) ===
|
||
|
|
||
|
[0] = Un caractère indiquant le type de chemin (voir dans Descripteur.java)
|
||
|
[1]
|
||
|
.bit 7 = sens unique
|
||
|
.bits 0-6 = vitesse max en km/h à multiplier par 5.
|
||
|
|
||
|
[2-] = Nom du chemin, de type String-UTF8 (les deux premiers octets donnent la longueur de la chaîne)
|
||
|
|
||
|
|