计算mysql数据库的地理坐标之间的距离

时间:2016-09-23 20:03:37

标签: mysql coordinates distance latitude-longitude geo

在我的项目中,我从我的用户那里获得地理坐标,我希望按照距我的mysql数据库的距离排序结果。但是,当我检查谷歌地图时,距离是30%或更少。

用户数据= $latitude& $longitude

我当前的查询:

$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)*1.5 "
            . "as distance FROM `partners` HAVING distance <= '10' ORDER BY distance ASC LIMIT 0, 25";

有关改善此事的任何提示吗?

0 个答案:

没有答案