我环顾四周,看到提到了半径公式来确定两个坐标(lat1,lng1)和(lat2,lng2)之间的距离。
我已经实现了这段代码:
function haversineGreatCircleDistance(
$latitudeFrom, $longitudeFrom, $latitudeTo, $longitudeTo, $earthRadius = 6371000)
{
// convert from degrees to radians
$latFrom = deg2rad($latitudeFrom);
$lonFrom = deg2rad($longitudeFrom);
$latTo = deg2rad($latitudeTo);
$lonTo = deg2rad($longitudeTo);
$latDelta = $latTo - $latFrom;
$lonDelta = $lonTo - $lonFrom;
$angle = 2 * asin(sqrt(pow(sin($latDelta / 2), 2) +
cos($latFrom) * cos($latTo) * pow(sin($lonDelta / 2), 2)));
return $angle * $earthRadius;
}
我正在努力确定:
1)这是什么单位返回? (目标是脚)
2)这个等式是用正确的方法写的吗?
例如,这两点之间的距离应该是多少?
(32.8940695525,-96.7926336453)和(33.0642604502,-96.8064332754)?
我从上面的公式得到18968.0903312。
谢谢!
答案 0 :(得分:3)