2014-06-29 102 views
-1

在下面的查询中,什么是“cos(弧度(lat)”或“cos(弧度(lng)或”弧度(lat)“)?弧度()功能吗?使用sql查询经纬度的半径搜索

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 20 OFFSET 0; 
+0

http://dev.mysql.com/doc/refman/5.0/en/mathematical-functions.html#function_radians – Noel

回答

2

圆形功能这里(cos()sin())取角度以弧度(2 *在一个圆圈裨弧度),但该角度以度表示(360度的圆),所以Radians()函数将Degrees转换为Radians,以便循环函数将给出正确结果。

相关问题