欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-17 16:56:27
...
/**
 * 計算兩組經緯度座標間的距離
 * 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);
}

以上就介绍了計算兩組經緯度座標間的距離,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。