У меня есть две координаты WGS84, широта и долгота в градусах. Эти точки довольно близко друг к другу, например, на расстоянии всего одного метра.
Есть ли простой способ рассчитать азимут линии между этими точками, то есть угол к северу?
Наивным подходом было бы предположить, что декартова система координат (потому что эти точки расположены так близко друг к другу) и просто использовать
sin (a) = abs (L2-L1) / sqrt (sqr (L2-L1) + sqr (B2-B1))
а = азимут
L1, L2 = долгота
B1, B2 = широта
Ошибка будет больше по мере удаления координат от экватора, потому что там расстояние между двумя продольными градусами становится все меньше, чем расстояние между двумя широтными градусами (которое остается постоянным).
Я нашел несколько довольно сложных формул, которые на самом деле не хочу реализовывать, потому что они кажутся излишними для точек, которые находятся так близко друг к другу, и мне не нужна очень высокая точность (достаточно двух десятичных знаков, одна, вероятно, подойдет либо потому, что есть другие факторы, которые в любом случае снижают точность, например, тот, который возвращает GPS).
Может быть, я мог бы просто определить приблизительный коэффициент продольной коррекции в зависимости от широты и использовать что-то вроде этого:
sin (a) = abs (L2 * f-L1 * f) / sqrt (sqr (L2 * f-L1 * f) + sqr (B2-B1))
где f - поправочный коэффициент
Есть подсказки?
(Я не хочу использовать для этого какие-либо библиотеки, особенно те, которые не требуют лицензий времени выполнения. Любой исходный код Delphi MPLed подойдет.)