Этот вопрос предполагает эллипсоидальную модель Земли. Его опорная поверхность получается вращением эллипса вокруг его малой оси (условно нанесено вертикально). Такой эллипс - это просто круг, растянутый по горизонтали с коэффициентом 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 )
(b^4 sin(f))^2
быть изменено(b^4 sin(f)^2)
?Интересно выяснить, что мое математическое неграмотное решение выполнило работу с 5-минутным размышлением и кодированием, не должен ли фактор уплощения рассматриваться как идеальная эллиптическая модель?
источник
return E + (P - E) * Abs(Lat) / 90
, поэтому не нужно иметь90 - ...
в формуле.По крайней мере, формула я нашел в анализе и оценке центра обработки данных США (DAAC) для Министерства обороны (DoD) High Performance Computing Программа модернизации (HPCMP) вики . Он сказал , что они в значительной степени заимствованы из Википедии записи. Тем не менее, тот факт, что они сохранили эту формулу, должен что-то значить.
источник