Home >Backend Development >PHP Tutorial >PHP example to calculate the distance between latitude and longitude coordinates

PHP example to calculate the distance between latitude and longitude coordinates

coldplay.xixi
coldplay.xixiforward
2020-06-08 11:52:033809browse

PHP example to calculate the distance between latitude and longitude coordinates

PHP calculates the distance between two sets of longitude and latitude coordinates

Definition π

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

Calculation The distance between two sets of longitude and latitude coordinates

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

Get the distance between two coordinates

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

Recommended tutorial: "PHP Video Tutorial"

The above is the detailed content of PHP example to calculate the distance between latitude and longitude coordinates. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:liqingbo.cn. If there is any infringement, please contact admin@php.cn delete