Imaginez un récepteur GPS branché à une tablette de terrain. Pour que l’application affiche votre position, le récepteur doit lui « parler ». Et il a beaucoup à dire : l’heure, la latitude, la longitude, l’altitude, mais aussi la vitesse, la direction de déplacement (le cap), la qualité du positionnement ou encore la liste des satellites captés.
Pour que tous les appareils se comprennent, quelle que soit leur marque, il faut une langue commune. C’est le rôle du standard NMEA 0183. Né dans le monde de la navigation maritime, il est aujourd’hui très répandu en positionnement, en cartographie et dans les systèmes embarqués.
Ce standard découpe les informations en courts messages texte, appelés « phrases NMEA ». Chaque phrase transporte un type d’information précis, toujours dans le même format. Ainsi, n’importe quel logiciel compatible sait les lire et les interpréter.
NMEA 0183 : des phrases standardisées
Concrètement, le standard NMEA 0183 fixe les règles du jeu : comment les données circulent entre les appareils, et comment chaque message doit être écrit.
Les messages sont envoyés en texte simple, au format ASCII. Un humain peut donc les lire à l’écran, même s’ils paraissent obscurs au premier abord. Chaque phrase suit la même construction :
- Elle commence en général par le caractère
$, qui signale le début du message ; - Vient ensuite un identifiant, qui indique l'entité qui parle (par exemple GP pour GPS) et de quoi elle parle (par exemple GGA pour la position) ;
- Puis les données elles-mêmes, rangées dans des champs séparés par des virgules ;
- Enfin, le plus souvent, un astérisque
*suivi d’une somme de contrôle (ou checksum), qui permet de vérifier que le message n’a pas été abîmé en route.
L’exemple de la célèbre trame GGA
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47À première vue, une suite de lettres et de chiffres. Mais en la lisant champ par champ, on y trouve :
- La constellation GNSS utilisée : ici, c’est le GPS ;
- L’heure UTC : 12 h 35 min 19 s ;
- La latitude et la longitude ;
- La qualité du positionnement (ici 1, soit une position GPS valide) ;
- Le nombre de satellites utilisés : 8 ;
- Un indicateur de précision horizontale (HDOP) : 0,9 ;
- L’altitude : 545,4 mètres ;
- L'ondulation du géoïde : 46,9 mètres.
- La somme de contrôle : 47.
Attention à un piège courant : les coordonnées ne sont pas en degrés décimaux, mais en degrés et minutes. Ainsi, 4807.038,N se lit « 48 degrés et 7,038 minutes Nord », et 01131.000,E se lit « 11 degrés et 31 minutes Est ».
Pour obtenir des degrés décimaux, il suffit de diviser les minutes par 60 et de les ajouter aux degrés : on obtient environ 48,1173° N et 11,5167° E.
Les phrases NMEA les plus courantes
Un récepteur GNSS n’envoie pas une seule phrase, mais plusieurs, chacune spécialisée. On peut les comparer aux rubriques d’un journal : l’une donne la position, une autre la vitesse, une autre l’état des satellites. Le logiciel qui les reçoit choisit celles dont il a besoin.
| Type de phrase | Informations transmises |
|---|---|
| GGA | Heure, position, données liées au fix, nombre de satellites et altitude. |
| RMC | Position, vitesse, route ou cap suivi, heure et date. |
| GSA | Satellites actifs et indicateurs de précision DOP (Dilution of Precision). |
| GSV | Satellites visibles, avec notamment leur élévation, leur azimut et leur niveau de signal. |
| VTG | Cap suivi sur le sol et vitesse sur le sol. |
| GLL | Position géographique, heure et statut de la position. |
| ZDA | Heure UTC, date et décalage de fuseau horaire. |
À l’origine, NMEA 0183 a été pensé pour le GPS américain, d’où le préfixe « GP » encore très répandu. Mais les récepteurs modernes captent aujourd’hui plusieurs constellations à la fois, et le standard a dû s’adapter.
| Identifiant d’émetteur (talker ID) | Signification |
|---|---|
| GP | Solution GPS. |
| GL | Solution GLONASS. |
| GA | Solution Galileo. |
| GN | Solution GNSS combinant plusieurs constellations. |
NMEA transmet les coordonnées, il ne les définit pas
Attention à ne pas confondre NMEA 0183 avec un système de coordonnées. NMEA est une norme d’interface : elle décrit comment les données sont rangées et transmises entre un récepteur GNSS et un logiciel, un afficheur ou un autre équipement. En revanche, elle ne dit rien, à elle seule, du référentiel géodésique dans lequel la position a été calculée.
En pratique, une trame NMEA donne bien une latitude et une longitude, mais sans préciser, le plus souvent, à quel référentiel elles se rattachent. C’est au contexte de le dire : le récepteur utilisé, sa configuration et les corrections RTK éventuellement appliquées.
NMEA transmet des coordonnées géographiques (latitude, longitude), et non des coordonnées projetées dans un système national comme le Lambert-93 pour la France. Un logiciel peut ensuite interpréter ces phrases, afficher la position et convertir les coordonnées dans le système adapté au projet.
Le GPS ne parle donc pas un langage unique
Il s’appuie sur plusieurs éléments complémentaires :
- Le récepteur GNSS calcule une position à partir des signaux satellitaires ;
- Cette position est généralement rattachée au référentiel WGS 84 ;
- Elle est exprimée par des coordonnées, notamment latitude et longitude ;
- Elle est souvent transmise sous forme de trames NMEA 0183 ;
- Un logiciel peut ensuite interpréter ces phrases, afficher la position et convertir les coordonnées dans le système adapté au projet.
En résumé, NMEA 0183 est l'un des langages qui permettent à un récepteur GNSS de communiquer avec d'autres équipements. Il standardise la transmission des données de positionnement, mais ne définit pas à lui seul le référentiel géodésique utilisé. Pour exploiter correctement des coordonnées GPS, il est donc essentiel de comprendre à la fois leur format de transmission et le système de référence auquel elles se rattachent.




