61 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| ===  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)
 | |
| 
 | |
| 
 |