一尘不染

如何从SQL数据库中使用经度和纬度查找最近的位置?

mysql

我想从下面的数据库表中找到最近的位置

Address                            Latitude                longitude

Kathmandu 44600, Nepal              27.7                   85.33333330000005
Los, Antoniterstraße                37.09024               -95.71289100000001
Sydney NSW, Australia               49.7480755             8.111794700000019
goa india                           15.2993265             74.12399600000003

我已经从Google地图中获取了所有数据。在这里,我必须找到一个地方最近的位置。假设我在Surkhet地方,其纬度为28.6,经度为81.6,如何找到距Surkhet地方最近的地方。


阅读 623

收藏
2020-05-17

共1个答案

一尘不染

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

这是最好的查询

2020-05-17