Как рассчитать расстояние между двумя точками в PHP

Сниппет

Есть много приложений, в которых полезно знать расстояние между двумя координатами широты и долготы. Вот функция PHP, которая упрощает вычисления.

downloadcopy
<?php
function calcDistance($departureLatitude, $departureLongitude, $arrivalLatitude, $arrivalLongitude){
    $a1 = deg2rad($arrivalLatitude);
    $b1 = deg2rad($arrivalLongitude);
    $a2 = deg2rad($departureLatitude);
    $b2 = deg2rad($departureLongitude);
    $res = 2 * asin(sqrt(pow(sin(($a2 - $a1) / 2), 2) + cos($a2) * cos($a1) * pow(sin(($b2 - $b1) / 2), 2)));
    return 6371008 * $res;
}

// Вот пример работы функции с двумя координатами между Нью-Йорком и Лондоном.
$point1 = array(40.712772, -74.006058);
$point2 = array(51.509865, -0.118092);
$distance = calcDistance($point1['0'], $point1['1'], $point2['0'], $point2['1']);
echo $distance . ' meters';