首頁 >php教程 >php手册 >計算兩組經緯度座標間的距離,兩組

計算兩組經緯度座標間的距離,兩組

WBOY
WBOY原創
2016-06-13 09:17:131392瀏覽

計算兩組經緯度座標間的距離,兩組

/**
 * 計算兩組經緯度座標間的距離
 * params:lat1緯度1,lng1經度1,lat2緯度2,lng2經度2,len_type(1:m|2:km);
 * Echo GetDistance($lat1,$lng1,$lat2,$lng2).'米';
 */
function GetDistance($lat1,$lng1,$lat2,$lng2,$len_type=1,$decimal=2){
	$EARTH_RADIUS=6378.137;		//地球半徑,假設地球是規則的球體
	$PI=3.1415926;				//圓周率
	$radLat1 = $lat1 * $PI / 180.0;
	$radLat2 = $lat2 * $PI / 180.0;
	$a       = $radLat1 - $radLat2;
	$b       = ($lng1 * $PI / 180.0) - ($lng2 * $PI / 180.0);
	$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*1000);
	if($len_type>1){
	   $s /= 1000;
	}
	return round($s,$decimal);
}

 

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn