Рубрики
PHP

Расчет расстояния между двумя географицескими координатами

/*
     * @param $lat1 float $value <p>Широта 1-й точки</p>
     * @param $lng1 float $value <p>Долгота 1-й точки</p>
     * @param $lat2 float $value <p>Широта 2-й точки</p>
     * @param $lng2 float $value <p>Долгота 2-й точки</p>
     * @return float value растояние в метрах
     */
    function calculateDistance($lat1, $lng1, $lat2, $lng2)
    {
        $earthRadius = 6378137;

        $lat1 = deg2rad($lat1);
        $lng1 = deg2rad($lng1);
        $lat2 = deg2rad($lat2);
        $lng2 = deg2rad($lng2);

        return round($earthRadius * acos(cos($lat1) * cos($lat2) * cos($lng1 - $lng2) + sin($lat1) * sin($lat2)));
    }

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *