DukeAnn
做一个优雅的程序员

PHP计算两个经纬度之间的距离

使用公式计算球体上连个点之间的距离:球表面两点=nπr/180.(其中n为这两个球表面上的点到球心的连线的夹角,r为球的半径).

 

function GetDistance($lat1, $lng1, $lat2, $lng2)
{
        //地球半径KM
	$EARTH_RADIUS = 6378.137;
	$radLat1 = deg2rad($lat1);
	$radLat2 = deg2rad($lat2);
	$a = $radLat1 - $radLat2;
	$b = deg2rad($lng1) - deg2rad($lng2);
	$s = 2 * asin(sqrt(pow(sin($a/2),2) + cos($radLat1) * cos($radLat2) * pow(sin($b/2),2)));
	$s = $s *$EARTH_RADIUS;
	$s = round($s * 10000) / 10000;
	return $s;
}
DukeAnn的笔记本:DukeAnn的博客 » PHP计算两个经纬度之间的距离
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址