Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在PHP中使用vincentyGreatCircleDistance计算完美距离_Php - Fatal编程技术网

无法在PHP中使用vincentyGreatCircleDistance计算完美距离

无法在PHP中使用vincentyGreatCircleDistance计算完美距离,php,Php,我无法使用PHP计算完美距离。我的代码如下 $latitudeTo=20.296599; $longitudeTo=85.859779; $latitude=20.296599; $longitude=85.859779; $distance=vincentyGreatCircleDistance($latitude,$longitude,$latitudeTo,$longitudeTo); $dis=round($distance,2).'Km'; echo $dis; function

我无法使用PHP计算完美距离。我的代码如下

$latitudeTo=20.296599;
$longitudeTo=85.859779;
$latitude=20.296599;
$longitude=85.859779;
$distance=vincentyGreatCircleDistance($latitude,$longitude,$latitudeTo,$longitudeTo);
$dis=round($distance,2).'Km';

echo $dis;

function vincentyGreatCircleDistance($latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo){
        $earthRadius=6371;
        $latFrom = deg2rad($latitudeFrom);
        $lonFrom = deg2rad($longitudeFrom);
        $latTo = deg2rad($latitudeTo);
        $lonTo = deg2rad($longitudeTo);

        $lonDelta = $lonTo - $lonFrom;
        $a = pow(cos($latTo) * sin($lonDelta), 2) +
        pow(cos($latFrom) * sin($latTo) - sin($latFrom) * cos($latTo) * cos($lonDelta), 2);
        $b = sin($latFrom) * sin($latTo) + cos($latFrom) * cos($latTo) * cos($lonDelta);

        $angle = atan2(sqrt($a), $b);
        return $angle * $earthRadius;
    }
这里我试图计算两个lat-long值之间的距离。我收到以下警告信息

 deg2rad() expects parameter 1 to be double, string given in
我得到的echo打印的输出是
9575.8Km
,这是完全错误的。我需要在这里计算正确的距离和警告信息应该删除