Tutti i ricevitori GPS calcolano una quota in altezza che è quella dell’ellissoide WGS84, un modello matematico che rappresenta la Terra, una sorta di sfera schiacciata ai poli come tutti sanno. In realtà la forma della Terra è ancora più complessa perchè presenta “bozzi” e “avvallamenti” sparsi in maniera irregolare. Qusta forma complessa si chiama “geoide” ed è la forma che avrebbe la superficie del mare se il pianeta fosse completamente ricoperto d’acqua.
Il geoide è il modello su cui si calcola l’altitudine 0, il livello del mare, e salvo altre piccole varianti le altitudini riportate sulle carte, sopratutto quelle più moderne, si riferiscono al geoide, come se il mare si estendesse sotto la montagna.
Fortunatamente qualcuno è riuscito a trasformare anche il geoide in una formula matematica, e ha reso disponibile il modello EGM96 che permette di calcolare la differenza tra geoide ed ellissoide a partire dalle coordinate del luogo.
Inserendo questo modello nel firmware di un GPS, una volta ottenuta dai satelliti la posizione e l’altezza dell’ellissoide si calcola la differenza da applicare e si ottiene la quota reale, quella del geoide, come risultato finale.
Questo meccanismo è anche evidenziato nel protocollo delle stringhe NMEA, lo standard di comunicazione diffuso su tutti i GPS, che prevedono un campo per l’altitudine ed uno per l’eventuale correzione applicata.
Questa è una stringa NMEA ottenuta dal Garmin eTrex Vista:
$GPGGA,130424,4348.8985,N,00740.1008,E,1,08,1.2,218.1,M,48.5,M,,*47
questa è ottenuta dal Fortuna Slim nello stesso momento e luogo
$GPGGA,130425.000,4348.8999,N,00740.0993,E,1,07,1.2,263.9,M,,,,0000*0E
Come vedete il Vista indica una quota di 218,1 m che è quella riportata dalle carte, ma indica anche che l’ha ottenuta applicando una correzione di 48,5 m a quella dell’ellissoide, mentre il Fortuna indica una sola quota e lascia in bianco il campo della correzione, evidentemente la quota è quella del sistema gps, cioè l’ellissoide.
La somma 218,1 + 48,5 = 266,6 è leggermente differente da 263,9 ma naturalmente i due apparecchi non ricevono mai allo stesso modo e possono avere una precisione di calcolo differente, inoltre il valore del Vista è regolato anche dal barometro che attenua le variazioni veloci dovute all’errore sistematico di almeno 15 m che affligge tutti i ricevitori.
Se non fatta dal GPS, la correzione da apportare in Italia è un valore tra -36 (Puglia) e -49 (Alto Adige)
GGA - essential fix data which provide 3D location and accuracy data.
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Where:
GGA Global Positioning System Fix Data 123519 Fix taken at 12:35:19 UTC 4807.038,N Latitude 48 deg 07.038' N 01131.000,E Longitude 11 deg 31.000' E 1 Fix quality: 0 = invalid 1 = GPS fix (SPS) 2 = DGPS fix 3 = PPS fix 4 = Real Time Kinematic 5 = Float RTK 6 = estimated (dead reckoning) (2.3 feature) 7 = Manual input mode 8 = Simulation mode 08 Number of satellites being tracked 0.9 Horizontal dilution of position 545.4,M Altitude, Meters, above mean sea level 46.9,M Height of geoid (mean sea level) above WGS84 ellipsoid (empty field) time in seconds since last DGPS update (empty field) DGPS station ID number *47 the checksum data, always begins with *
If the height of geoid is missing then the altitude should be suspect. Some non-standard implementations report altitude with respect to the ellipsoid rather than geoid altitude. Some units do not report negative altitudes at all. This is the only sentence that reports altitude.
Nella tabella che segue è descritta voce per voce la sentence $GPGGA
Campo | Formato | Esempio | Descrizione | |
---|---|---|---|---|
1 | hhmmss.ss | 125642.57 | Ora UTC - GPS | |
2 | llll.ll | 4512.72 | Latitudine della posizione attuale (numero di decimali variabile) es: 4531.47 = 45°31.47’ | |
3 | A | N | Emisfero della posizione attuale: N=Nord; S=Sud | |
4 | yyyyy.yy | 00934.88 | Longitudine della posizione attuale (numero di decimali variabile) es:00917.21 = 009°17.21’ | |
5 | A | E | Verso della posizione attuale: E=Est; W=Ovest | |
6 | n | 1 | Qualità del rilevamento GPS: 0=non valido; 1=GPS; 2=DGPS | |
7 | x | 8 | Numero di satelliti in vista (teorica, non necessariamente in uso o ricevuti) | |
8 | x.x | 1.9 | HDOP - Horizontal Dilution Of Precision | |
9 | x.x | 540.4 | Altitudine dell’antenna GPS relativa al livello medio del mare (geoide) | |
10 | A | M | Indicatore dell’unità di misura dell’altitudine M=metri | |
11 | x.x | 45.8 | Altezza (separazione) del geoide (livello medio del mare) rispetto all’elissiode WGS84 | |
12 | A | M | Indicatore dell’unità di misura della separazione del geoide M=metri | |
13 | x.x | 8.0 | Tempo in secondi dall’ultimo aggiornamento DGPS | |
14 | nnnn | 1023 | Identificatore della stazione DGPS (0000-1023) |