Короче говоря, расстояние может быть ошибочным примерно до 22 км или 0,3%, в зависимости от рассматриваемых точек. Это:
Ошибка может быть выражена несколькими естественными, полезными способами , такими как (i) (остаточная) ошибка, равная разности между двумя вычисленными расстояниями (в километрах), и (ii) относительная ошибка, равная разности, деленной на «правильное» (эллипсоидальное) значение. Чтобы получить числа, с которыми удобно работать, я умножаю эти отношения на 1000, чтобы выразить относительную ошибку в частях на тысячу .
Ошибки зависят от конечных точек. Из-за вращательной симметрии эллипсоида и сферы и их двусторонних (север-юг и восток-запад) симметрий мы можем разместить одну из конечных точек где-нибудь вдоль основного меридиана (долгота 0) в северном полушарии (широта между 0 и 90). ) и другая конечная точка в восточном полушарии (долгота между 0 и 180).
Чтобы исследовать эти зависимости, я нанес на график ошибки между конечными точками в точках (lat, lon) = (mu, 0) и (x, lambda) как функцию широты x между -90 и 90 градусами. (Все точки номинально имеют высоту эллипсоида, равную нулю.) На рисунках строки соответствуют значениям mu в {0, 22,5, 45, 67,5} градусах, а столбцы - значениям лямбды в {0, 45, 90, 180} градусов. Это дает нам хорошее представление о спектре возможностей. Как и ожидалось, их максимальные размеры приблизительно равны величине сплющивания (около 1/300) главной оси (около 6700 км) или около 22 км.
ошибки
Относительные ошибки
Контурный сюжет
Другой способ визуализировать ошибки - это исправить одну конечную точку и позволить другой изменяться, очерчивая возникающие ошибки. Вот, например, контурная диаграмма, где первая конечная точка находится на 45 градусах северной широты, 0 градусов долготы. Как и раньше, значения ошибок приведены в километрах, а положительные ошибки означают, что сферический расчет слишком велик:
Это может быть легче читать, когда обернуто вокруг земного шара:
Красная точка на юге Франции показывает местоположение первой конечной точки.
Для справки, вот код Mathematica 8, используемый для расчетов:
WGS84[x_, y_] := GeoDistance @@ (GeoPosition[Append[#, 0], "WGS84"] & /@ {x, y});
sphere[x_, y_] := GeoDistance @@
(GeoPosition[{GeodesyData["WGS84", {"ReducedLatitude", #[[1]]}], #[[2]], 0}, "WGS84"] & /@ {x, y});
И одна из команд построения:
With[{mu = 45}, ContourPlot[(sphere[{mu, 0}, {x, y}] - WGS84[{mu, 0}, {x, y}]) / 1000,
{y, 0, 180}, {x, -90, 90}, ContourLabels -> True]]