Что означают "a" и "c" в "формуле Хаверсина" для измерения расстояния между двумя точками?
var R = 6371e3; // metres
var φ1 = lat1.toRadians();
var φ2 = lat2.toRadians();
var Δφ = (lat2-lat1).toRadians();
var Δλ = (lon2-lon1).toRadians();
var a = Math.sin(Δφ/2) * Math.sin(Δφ/2) + Math.cos(φ1) * Math.cos(φ2) * Math.sin(Δλ/2) * Math.sin(Δλ/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
Здесь в этом коде формула используется в JavaScript. Но в любом случае в исходной формуле также используются a и c. Что они имеют в виду?
1 ответ
Решение
По факту, c
угловое расстояние между двумя точками (в радианах), и a
квадрат половины длины хорды между двумя точками.
PS Смотрите здесь.