Определить удаленность объекта от места
У меня есть координаты места:
55.704219, 37.772379
И есть координаты объекта:
55.704221, 37.772363
Мне нужно определить, насколько (метров) далеко объект находится от места.
Буду благодарен за помощь и полезную информацию.
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
Если вы используете какой-либо гео-фреймворк, то такая функция там быть должна. Если руками - формула гаверсинусов здесь
a = sin²(Δφ/2) + cos φ1 ⋅ cos φ2 ⋅ sin²(Δλ/2)
c = 2 ⋅ atan2( √a, √(1−a) )
d = R ⋅ c
where φ is latitude, λ is longitude, R is earth’s radius (mean radius = 6,371km);
note that angles need to be in radians to pass to trig functions!
JavaScript:
const R = 6371e3; // metres
const φ1 = lat1 * Math.PI/180; // φ, λ in radians
const φ2 = lat2 * Math.PI/180;
const Δφ = (lat2-lat1) * Math.PI/180;
const Δλ = (lon2-lon1) * Math.PI/180;
const a = Math.sin(Δφ/2) * Math.sin(Δφ/2) +
Math.cos(φ1) * Math.cos(φ2) *
Math.sin(Δλ/2) * Math.sin(Δλ/2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
const d = R * c; // in metres