Heim  >  Artikel  >  Backend-Entwicklung  >  PHP verwendet den Längen- und Breitengrad zwischen zwei Punkten, um die geradlinige Entfernung zwischen zwei Punkten zu berechnen

PHP verwendet den Längen- und Breitengrad zwischen zwei Punkten, um die geradlinige Entfernung zwischen zwei Punkten zu berechnen

不言
不言Original
2018-04-08 15:41:573920Durchsuche

Der Inhalt dieses Artikels stellt vor, wie PHP den Längen- und Breitengrad zwischen zwei Punkten verwendet, um die geradlinige Entfernung zwischen zwei Punkten zu berechnen. Jetzt können Freunde in Not darauf zurückgreifen Empfehlen Sie ein kleines Tool (Koordinatenerfassung, einschließlich Baidu Map, Amap, Tencent Map, Google Map), das zum Testen geeignet ist: http://www.gpsspg.com/maps.htm

    /**
     *  计算两组经纬度坐标 之间的距离
     *   params :lat1 纬度1; lng1 经度1; lat2 纬度2; lng2 经度2; len_type (1:m or 2:km);
     *   return m or km
     */
	 
     function GetDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2)
    {
       $radLat1 = $lat1 * PI ()/ 180.0;   //PI()圆周率
       $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 * 6378.137;
       $s = round($s * 1000);
       if ($len_type --> 1)
       {
           $s /= 1000;
       }
   return round($s, $decimal);
	}
	$Xian = array(
			'lat'=>'34.2620480000',
			'lng'=>'108.9408590000'
			);
	$Chengdu = array(
			'lat'=>'30.6736560000',
			'lng'=>'104.0107450000'
			);
	echo '西安距成都'.GetDistance($Xian['lat'],$Xian['lng'],$Chengdu['lat'],$Chengdu['lng'],2).'km';


Das obige ist der detaillierte Inhalt vonPHP verwendet den Längen- und Breitengrad zwischen zwei Punkten, um die geradlinige Entfernung zwischen zwei Punkten zu berechnen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-SitzungssteuerungNächster Artikel:PHP-Sitzungssteuerung