我正在计算数据库中各种纬度和经度之间的距离。 我正在使用这个公式进行计算:
for($i=0;$i<sizeof($latArray)-1;$i++)
{
//$dis + = distance($latArray[$i], $langArray[$i], $latArray[$i+1], $langArray[$i+1], "K");
$theta = $langArray[$i] - $langArray[$i+1];
echo "long :".$langArray[$i];
echo "lat:".$latArray[$i];
echo "<br>";
echo "long :".$langArray[$i+1];
echo "lat:".$latArray[$i+1];
$dist = sin(deg2rad($latArray[$i])) * sin(deg2rad($latArray[$i+1])) + cos(deg2rad($latArray[$i])) * cos(deg2rad($latArray[$i+1])) * cos(deg2rad($theta));
// echo $dist;
$dist = acos($dist);
$dist = rad2deg($dist);
/* $miles = $dist * 60 * 1.1515;
$discalc = $miles * 1.609344; */
$distance = $dist * 111.13384;
// echo "Distance :". number_format((float)$discalc, 3, '.', '')."<br><br>";
$total = $total+$distance ;
}
echo "Total Distance :". number_format((float)$total, 3, '.', '')." Kilometers" ;
在距离总和之后显示南公里。为什么会这样。