Home  >  Article  >  php教程  >  計算兩組經緯度座標間的距離,兩組

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

WBOY
WBOYOriginal
2016-06-13 09:17:131348browse

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

/**
 * 計算兩組經緯度座標間的距離
 * 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);
}

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn