A вот ещё один восхитительный скрипт, который я использовал в реальном production на работе – было необходимо вычислить расстояние между двумя локациями, зная их координаты. Я не силён в математике, так что не стал изобретать велосипед и просто использовал очень лаконичную формулу, адаптировав её для PHP:

<?php

$earthRadius = 6371; // Kilometers

$xLatitude = deg2rad(/** TODO */);
$xLongitude = deg2rad(/** TODO */);

$yLatitude = deg2rad(/** TODO */);
$yLongitude = deg2rad(/** TODO */);

$longitudeDelta = $xLongitude - $yLongitude;

$angle = atan2(
    sqrt(
        pow(cos($xLatitude) * sin($longitudeDelta), 2) +
        pow(cos($yLatitude) * sin($xLatitude) - sin($yLatitude) * cos($xLatitude) * cos($longitudeDelta), 2)
    ),
    sin($yLatitude) * sin($xLatitude) + cos($yLatitude) * cos($xLatitude) * cos($longitudeDelta)
);

echo $angle * $earthRadius;