In breve, la distanza può essere in errore fino a circa 22 km o 0,3%, a seconda dei punti in questione. Questo è:
L'errore può essere espresso in diversi modi naturali e utili , come (i) errore (residuo), uguale alla differenza tra le due distanze calcolate (in chilometri) e (ii) errore relativo, uguale alla differenza divisa per il valore "corretto" (ellissoidale). Per produrre numeri convenienti con cui lavorare, moltiplico questi rapporti per 1000 per esprimere l'errore relativo in parti per mille .
Gli errori dipendono dagli endpoint. A causa della simmetria rotazionale dell'ellissoide e della sfera e delle loro simmetrie bilaterali (nord-sud ed est-ovest), possiamo posizionare uno degli estremi da qualche parte lungo il meridiano principale (longitudine 0) nell'emisfero nord (latitudine tra 0 e 90 ) e l'altro endpoint nell'emisfero orientale (longitudine tra 0 e 180).
Per esplorare queste dipendenze, ho tracciato gli errori tra gli endpoint a (lat, lon) = (mu, 0) e (x, lambda) in funzione della latitudine x tra -90 e 90 gradi. (Tutti i punti sono nominalmente a un'altezza dell'ellissoide pari a zero.) Nelle figure, le righe corrispondono ai valori di mu a {0, 22,5, 45, 67,5} gradi e le colonne ai valori di lambda a {0, 45, 90, 180} gradi. Questo ci dà una buona visione dello spettro di possibilità. Come previsto, le loro dimensioni massime sono circa l'appiattimento (circa 1/300) volte l'asse maggiore (circa 6700 km), o circa 22 km.
Errori
Errori relativi
Trama di contorno
Un altro modo per visualizzare gli errori è correggere un endpoint e lasciare che l'altro vari, contornando gli errori che si presentano. Qui, ad esempio, è un diagramma di contorno in cui il primo endpoint è a 45 gradi di latitudine nord, 0 gradi di longitudine. Come in precedenza, i valori di errore sono espressi in chilometri e gli errori positivi indicano che il calcolo sferico è troppo grande:
Potrebbe essere più facile da leggere se avvolto in tutto il mondo:
Il punto rosso nel sud della Francia mostra la posizione del primo endpoint.
Per la cronaca, ecco il codice Mathematica 8 utilizzato per i calcoli:
WGS84[x_, y_] := GeoDistance @@ (GeoPosition[Append[#, 0], "WGS84"] & /@ {x, y});
sphere[x_, y_] := GeoDistance @@
(GeoPosition[{GeodesyData["WGS84", {"ReducedLatitude", #[[1]]}], #[[2]], 0}, "WGS84"] & /@ {x, y});
E uno dei comandi di stampa:
With[{mu = 45}, ContourPlot[(sphere[{mu, 0}, {x, y}] - WGS84[{mu, 0}, {x, y}]) / 1000,
{y, 0, 180}, {x, -90, 90}, ContourLabels -> True]]