使用PHPmyadmin中的MySql以公里为单位的距离

时间:2016-02-19 05:26:26

标签: mysql

我正在使用PHPmyadmin for mysql。

我想从表中找到2纬度和经度之间的距离。

我使用以下查询来查找距离。

但它以英里为单位返回。如何以公里为单位获得距离

//where a = content, b = start, c = end
function getBetween($a, $b, $c) {
    $y = explode($b, $a);
    $len = sizeof($y);
    $arr = [];
    for ($i = 1; $i < $len; $i++)
        $arr[] = explode($c, $y[$i])[0];
    return $arr;
}

2 个答案:

答案 0 :(得分:1)

您可以尝试以下SQL:

SELECT (((acos(sin((".$latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$latitude."*pi()/180)) * cos((`Latitude`*pi()/180)) * cos(((".$longitude."- `Longitude`)*pi()/180))))*180/pi())*60*1.1515*1.609344) as distance
FROM `MyTable`

答案 1 :(得分:0)

您可以在查询中直接将查询结果转换为千克。

Select @dist:=((ACOS(SIN(1.3903496 * PI() / 180) * SIN(latitude * PI() / 180) + COS(1.3903496 * PI() / 180) * COS(latitude * PI() / 180) * COS((103.8846613- longitude) * PI() / 180)) * 180 / PI()) * 60 * 1.1515)*1.609344 AS distance from tabl_name