>백엔드 개발 >PHP 튜토리얼 >두 세트의 위도 및 경도 좌표 사이의 거리를 계산합니다.

두 세트의 위도 및 경도 좌표 사이의 거리를 계산합니다.

WBOY
WBOY원래의
2016-08-08 09:31:261072검색

/**
 * 計算兩組經緯度座標間的距離
 * 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 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.