Maison  >  Article  >  développement back-end  >  Exemple PHP pour calculer la distance entre les coordonnées de latitude et de longitude

Exemple PHP pour calculer la distance entre les coordonnées de latitude et de longitude

coldplay.xixi
coldplay.xixiavant
2020-06-08 11:52:033725parcourir

Exemple PHP pour calculer la distance entre les coordonnées de latitude et de longitude

PHP calcule la distance entre deux ensembles de coordonnées de longitude et de latitude

définir π

define('PI',3.1415926535898);
define('EARTH_RADIUS',6378.137);

calcul La distance entre deux ensembles de coordonnées de longitude et de latitude

/**
* 计算两组经纬度坐标 之间的距离
* 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;
    $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);
}

Obtenir la distance entre deux coordonnées

$a =  GetDistance(20.035556,110.33269,20.046521,110.343057);
echo $a;

Tutoriel recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer