国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php兩點地理坐標(biāo)距離的計算方法

2024-05-05 00:06:06
字體:
供稿:網(wǎng)友

本文實例為大家分享了php計算兩點地理坐標(biāo)距離的具體代碼,供大家參考,具體內(nèi)容如下

功能:根據(jù)圓周率和地球半徑系數(shù)與兩點坐標(biāo)的經(jīng)緯度,計算兩點之間的球面距離。

獲取兩點坐標(biāo)距離:

<?php/** * 計算兩點地理坐標(biāo)之間的距離 * @param Decimal $longitude1 起點經(jīng)度 * @param Decimal $latitude1 起點緯度 * @param Decimal $longitude2 終點經(jīng)度  * @param Decimal $latitude2 終點緯度 * @param Int   $unit    單位 1:米 2:公里 * @param Int   $decimal  精度 保留小數(shù)位數(shù) * @return Decimal */function getDistance($longitude1, $latitude1, $longitude2, $latitude2, $unit=2, $decimal=2){  $EARTH_RADIUS = 6370.996; // 地球半徑系數(shù)  $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;  }  return round($distance, $decimal);}// 起點坐標(biāo)$longitude1 = 113.330405;$latitude1 = 23.147255;// 終點坐標(biāo)$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?>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 深水埗区| 桂平市| 五峰| 綦江县| 蓬溪县| 天柱县| 尼勒克县| 青铜峡市| 宣恩县| 汶川县| 古田县| 汶上县| 阳江市| 滦平县| 沅陵县| 富平县| 威远县| 塘沽区| 勃利县| 洞头县| 静海县| 台山市| 武义县| 潼关县| 仪征市| 吴川市| 棋牌| 临猗县| 若尔盖县| 双峰县| 北辰区| 阳西县| 社会| 阿瓦提县| 凌云县| 吉首市| 方城县| 泰顺县| 宕昌县| 建湖县| 武冈市|