大面积的Haversine公式

时间:2018-08-02 01:44:05

标签: mysql google-maps geolocation geometry

我正在为我的网站开发搜索功能。它使用haversine formula使用半径进行按位置搜索过滤器。这是我对此tutorial的查询:

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; 

如果我进入较小的区域(例如“澳大利亚新南威尔士州邦迪交界处”),这将起作用,但是如果我进入诸如“ NSW,Austraiia”的大区域,则该州将不起作用。我已经使用公式计算了它的great circle distance,并且距离该区域下的小区域的大圆距很远。还有其他公式/算法吗?或者我只是在这里想念什么?

0 个答案:

没有答案