Как рассчитать радиус Земли на заданной геодезической широте?


19

(Я вижу, что в википедии есть уравнение, которое делает именно то, что я спрашиваю, но нет ссылок. У меня нет способа подтвердить правильность этого уравнения!)

Я уже понимаю разницу между геоцентрической широтой и геодезической широтой.

Предполагая, что известны полу-мажорные aи полу-минорные bрадиусы. Как рассчитать радиус на заданной геодезической широте?

Мне нужно какое-то экспертное подтверждение (деривация, ссылка на деривацию, подтверждение от эксперта, объяснение и т. Д.).

Ответы:


25

Этот вопрос предполагает эллипсоидальную модель Земли. Его опорная поверхность получается вращением эллипса вокруг его малой оси (условно нанесено вертикально). Такой эллипс - это просто круг, растянутый по горизонтали с коэффициентом a и по вертикали с коэффициентом b . Используя стандартную параметризацию единичного круга,

t --> (cos(t), sin(t))

(который определяет косинус и синус), мы получаем параметризацию

t --> (a cos(t), b sin(t)).

(Два компонента этой параметризации описывают обход кривой: они определяют в декартовых координатах наше местоположение в момент времени t ).

Геодезическая широта , е , в любой точке угла , что «вверх» делает на экваториальную плоскость. Когда a отличается от b , значение f отличается от значения t (за исключением экватора и полюсов).

фигура

На этой картинке синяя кривая является одним из квадрантов такого эллипса (сильно преувеличена по сравнению с эксцентриситетом Земли). Красная точка в левом нижнем углу - его центр. Пунктирная линия обозначает радиус до одной точки на поверхности. Его направление «вверх» там показано черным сегментом: он по определению перпендикулярен эллипсу в этой точке. Из-за преувеличенного эксцентриситета легко видеть, что «вверх» не параллелен радиусу.

В нашей терминологии t относится к углу, образованному радиусом относительно горизонтали, а f - угол, образованный этим черным сегментом. (Обратите внимание, что любую точку на поверхности можно рассматривать с этой точки зрения. Это позволяет нам ограничивать значения t и f в пределах от 0 до 90 градусов; их косинусы и синусы будут положительными, поэтому нам не нужно беспокоиться об отрицательных квадратные корни в формулах.)

Хитрость заключается в том, чтобы преобразовать t- параметризацию в единицу в терминах f , поскольку в терминах t радиус R легко вычислить (с помощью теоремы Пифагора). Его квадрат является суммой квадратов компонентов точки,

R(t)^2 = a^2 cos(t)^2 + b^2 sin(t)^2.

Чтобы сделать это преобразование, нам нужно связать направление «вверх» f с параметром t . Это направление перпендикулярно касательной эллипса. По определению, касательная к кривой (выраженная в виде вектора) получается путем дифференцирования ее параметризации:

Tangent(t) = d/dt (a cos(t), b sin(t)) = (-a sin(t), b cos(t)).

(Дифференциация вычисляет скорость изменения. Скорость изменения нашего положения при движении по кривой, конечно же, является нашей скоростью , и она всегда указывает вдоль кривой.)

Поверните это по часовой стрелке на 90 градусов, чтобы получить перпендикуляр, называемый «нормальным» вектором:

Normal(t) = (b cos(t), a sin(t)).

Наклон этого вектора нормали, равный (sin (t)) / (b cos (t)) («подъем над пробегом»), также является тангенсом угла, который он составляет к горизонтали, откуда

tan(f) = (a sin(t)) / (b cos(t)).

Эквивалентное

(b/a) tan(f) = sin(t) / cos(t) = tan(t).

(Если вы хорошо разбираетесь в евклидовой геометрии, вы можете получить это соотношение непосредственно из определения эллипса, не проходя через триг или исчисление, просто признав, что объединенные горизонтальные и вертикальные расширения по a и b соответственно имеют эффект изменения все склоны по этому коэффициенту б / у .)

Посмотрите еще раз на формулу для R (t) ^ 2: мы знаем a и b - они определяют форму и размер эллипса - поэтому нам нужно только найти cos (t) ^ 2 и sin (t) ^ 2 с точки зрения f , что предыдущее уравнение позволяет нам легко сделать:

cos(t)^2 = 1/(1 + tan(t)^2) 
         = 1 / (1 + (b/a)^2 tan(f)^2) 
         = a^2 / (a^2 + b^2 tan(f)^2);
sin(t)^2 = 1 - cos(t)^2 
         = b^2 tan(f)^2 / (a^2 + b^2 tan(f)^2).

(Когда tan (f) бесконечен, мы находимся на полюсе, поэтому просто установите f = t в этом случае.)

Это соединение, которое нам нужно. Подставим эти значения для cos (t) ^ 2 и sin (t) ^ 2 в выражение для R (t) ^ 2 и упростим, чтобы получить

R(f)^2 = ( a^4 cos(f)^2 + b^4 sin(f)^2 ) / ( a^2 cos(f)^2 + b^2 sin(f)^2 ).

Простое преобразование показывает, что это уравнение такое же, как и в Википедии. Поскольку a ^ 2 b ^ 2 = (ab) ^ 2 и (a ^ 2) ^ 2 = a ^ 4,

R(f)^2 = ( (a^2 cos(f))^2 + (b^2 sin(f))^2 ) / ( (a cos(f))^2 + (b sin(f))^2 )

+1 ... за исключением того, что я думаю, что в последней формуле нет места ... не должно (b^4 sin(f))^2быть изменено (b^4 sin(f)^2)?
Кирк Куйкендалл

очень рад, что есть некоторые эксперты на эту тему =).
Тревор Бойд Смит

Можно ли разместить файл Geogebra (html) на этом сайте? У меня есть радиус основной вертикали, который может наглядно показать, что происходит.

Вы можете экспортировать оригинал в формате .png, @Dan: используйте диалог File | Export. Я рекомендую использовать крупные шрифты (16 или 18 точек, кажется, хорошо работают) и увеличивать изображение как можно дальше.
whuber

Я предполагаю, что интерактивность будет потеряна тогда. Демонстрация демонстрирует, как изменение радиусов и широты интереса изменяет свойства.

3

Интересно выяснить, что мое математическое неграмотное решение выполнило работу с 5-минутным размышлением и кодированием, не должен ли фактор уплощения рассматриваться как идеальная эллиптическая модель?

        double pRad = 6356.7523142;
        double EqRad = 6378.137;                      
        return pRad + (90 - Math.Abs(siteLatitude)) / 90 * (EqRad - pRad); 

1
Где pRad - полярный радиус, а EqRad - экваториальный радиус.
Стефан Штайгер

это единственный ответ, который я мог прочитать. Кажется, это работает для меня.
Шон Брэдли,

1
Я вижу, что вы делаете линейную интерполяцию радиуса между полюсом и экватором. Хотя нет никаких оснований полагать, что линейная интерполяция является точной , я буду использовать ее как «достаточно хорошую» для Земли, учитывая ее мягкий коэффициент уплощения. Кстати, я думаю, что его немного легче прочитать эквивалент return E + (P - E) * Abs(Lat) / 90, поэтому не нужно иметь 90 - ...в формуле.
ToolmakerSteve

2

введите описание изображения здесь

По крайней мере, формула я нашел в анализе и оценке центра обработки данных США (DAAC) для Министерства обороны (DoD) High Performance Computing Программа модернизации (HPCMP) вики . Он сказал , что они в значительной степени заимствованы из Википедии записи. Тем не менее, тот факт, что они сохранили эту формулу, должен что-то значить.


Можете ли вы предоставить ссылку на контент?
Тревор Бойд Смит

где φ - геодезическая широта, а a (большая полуось) и b (малая ось) - соответственно экваториальный радиус и полярный радиус. var a = 6378137; // m var b = 6356752.3142; // m en.wikipedia.org/wiki/Semi-major_and_semi-minor_axes en.wikipedia.org/wiki/World_Geodetic_System
Стефан Штайгер,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.