GUID
Que tu utilises des objets de librairie, des polygones ou autres, tu seras souvent
confronté à des GUID. Quézako ?
Un GUID est un identifiant (supposé) unique qui est attaché à un "objet" (qui peut
être en fait n'importe quoi). C'est un code de 128 bits représenté sous sa forme
hexadécimale entre {} du style
{01234567-89AB-CDEF-0123-456789ABCDEF} ... asez
désagréable à lire n'est-ce pas ?
En programmation pour FSX, il est fréquent d'appeler les objets par leur GUID (mais
aussi en programmation en général sous Windows). Pour plus d'informations, je te
suggère de passer sur
Wikipedia.
La représentation des coordonnées
Il y a plusieurs présentations pour les coordonnées. Il s'agit pour la plupart des
cas de la latitude (de S90 à N90 ou -90 à + 90), la longitude (de W180 à E180 ou -180 à +180)
toutes deux exprimées en degrés, et l'altitude exprimée en pieds ou en mètres.
(N=Nord, S=Sud, E=Est, W=Ouest)
Les angles (latitudes et longitures) peuvent être représentés sous différentes formes :
- N48° 51' 30"
- N48° 51' 29.72284"
- N48° 51.4953733'
- N48.858256262°
- 48.858256262
Toutes les valeurs ci-dessus sont équivalentes (la première est moins précise, nous le verrons ci-dessous) et
représentent la latitude de la tour Eiffel.
Il est aussi parfois possible (c'est notamment le cas dans les fichier .XML) d'omettre
la lettre. Dans ce cas un nombre positif représente une latitude nord ou une longitude
est, un nombre négatif représentant une latitude sud ou une longitude ouest.
FSX traite les altitudes en mètres (mais oui !). Cependant il arrive que dans des
fichiers .XML une lettre M ou F précède le nombre de l'altitude. Cette lettre
indique si l'on est en mètres (par défaut) ou en pieds (Feet).
Le nombre de chiffres après la virgule (point) des angles dans les fichiers .XML semble impressionnant.
En fait,
au niveau de l'équateur :
- un degré (1°) mesure environ 111km,
- un dixième de degré (0.1°) environ 11km
- 0.01° ~= 1km
- 0.001° ~= 100m
- 0.00001° ~= 10m
- 0.000001° ~= 1m
- 0.0000001° ~= 10cm
- 0.00000001° ~= 1cm
- 0.000000001° ~= 10mm
- 0.0000000001° ~= 1mm
- ...
=> La dixième décimale du degré mesure environ 1mm !
... et tu verras que parfois tu auras besoin de cette précision !
Pendant qu'on y est, toujours
au niveau de l'équateur :
- une minute ~= 1885 mètres
- une seconde ~= 31 mètres
La différence entre les deux premières latitudes de la tour Eiffel ci-dessus est donc de
30 secondes moins 29.72284 égale 0.27716 secondes, soit 8½ mètres ! Ce n'est pas rien
pour joindre deux surfaces ...