计算位置之间的距离

时间:2014-04-10 10:36:05

标签: php coordinates distance haversine

我使用hasrshine公式计算位置之间的距离。

$distance = (((acos(sin(($fromLat * pi() / 180)) * sin(($toLat * pi( )/ 180)) + cos(($fromLat * pi() / 180)) * cos(($toLat * pi() / 180)) * cos((($fromLon - $toLon) * pi() / 180)))) * 180 / pi()) * 60 * 1.1515);

它正常工作,但对于某些坐标值,它会给出NAN

它为NAN提供的值为

fromLat : 22.303894
fromLon : 70.802162
toLat : 22.303894
toLon : 70.802162

1 个答案:

答案 0 :(得分:1)

您正在比较相同的坐标。要求acos函数计算1的反余弦值,它会失败。在传递函数之前,您需要检查坐标是否相同。此外,如果您没有得到号码,结果可能没有距离。