Эта формула даёт зависимость длины одного градуса меридиана (в смысле производной
) от
геодезической широты . Земная поверхность приближается эллипсоидом вращения с полуосями
и
. Где почитать — не знаю, вывел её вчера в качестве упражнения. Расчёт занял порядка тетрадной странички. Запрограммируйте её и сравните результаты с Вашей функцией. Угол
в радианах (стандарт в математике и физике), но результат в метрах на градус. Значения констант возьмите такие:
a=6378137.; // экваториальный радиус
f=1./298.257223563; // полярное сжатие
b=a*(1-f); // полярный радиус
По ссылке
grizzly есть та же формула в других обозначениях:
Цитата:
The meridional radius of curvature at latitude phi is
M = a(1 - e2) / (1 - e2 sin(phi)^2)^(3/2)
Вкратце объясню, причём тут «меридиональный радиус кривизны». Кривизна плоской кривой (в нашем случае меридиана в меридиональной плоскости) — это угол поворота касательной за единицу длины кривой:
. Той же величине равен угол поворота
нормали к кривой на единицу длины. Радиус кривизны — это величина, обратная кривизне:
, то есть количество метров на угол поворота нормали. Угол поворота нормали к поверхности при движении по меридиану, отсчитывая от направления нормали на экваторе, и есть геодезическая широта
.
Ещё
здесь.