文章主要為大家詳細介紹了php兩點地理坐標距離的計算方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
php計算兩點地理坐標距離的具體代碼,具體內容如下
功能:根據圓周率和地球半徑系數與兩點坐標的經緯度,計算兩點之間的球面距離。
獲取兩點坐標距離:
<?php/*** 計算兩點地理坐標之間的距離* @param Decimal $longitude1 起點經度* @param Decimal $latitude1 起點緯度* @param Decimal $longitude2 終點經度* @param Decimal $latitude2 終點緯度* @param Int $unit 單位 1:米 2:公里* @param Int $decimal 精度 保留小數位數* @return Decimal*/functiongetDistance($longitude1,$latitude1,$longitude2,$latitude2,$unit=2,$decimal=2){$EARTH_RADIUS= 6370.996;// 地球半徑系數$PI= 3.1415926;$radLat1=$latitude1*$PI/ 180.0;$radLat2=$latitude2*$PI/ 180.0;$radLng1=$longitude1*$PI/ 180.0;$radLng2=$longitude2*$PI/180.0;$a=$radLat1-$radLat2;$b=$radLng1-$radLng2;$distance= 2 * asin(sqrt(pow(sin($a/2),2) +cos($radLat1) *cos($radLat2) * pow(sin($b/2),2)));$distance=$distance*$EARTH_RADIUS* 1000;if($unit==2){$distance=$distance/ 1000;}returnround($distance,$decimal);}// 起點坐標$longitude1= 113.330405;$latitude1= 23.147255;// 終點坐標$longitude2= 113.314271;$latitude2= 23.1323;$distance= getDistance($longitude1,$latitude1,$longitude2,$latitude2, 1);echo$distance.'m';// 2342.38m$distance= getDistance($longitude1,$latitude1,$longitude2,$latitude2, 2);echo$distance.'km';// 2.34km?>
以上就是php兩點地理坐標距離的計算方法的全部內容,希望對大家的學習有所幫助。
分享到:
投訴收藏














