[英]Mysql within distance query
选项
$lat = '25.7742658';
$lng = '-80.1936589';
$miles = 30;
询问
SELECT *,
( 3959 * acos( cos( radians($lat) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians($lng) )
+ sin( radians($lat) )
* sin( radians( lat ) ) ) ) AS distance
FROM locations
HAVING distance < $miles
ORDER BY distance
LIMIT 0, 20
我有一个包含 4 列的数据库表:
我正在使用顶部的查询来返回距指定坐标指定英里数内的位置。 它似乎有效,但我不确定它有多准确。 我很想知道查询是否良好,或者您是否有更好的解决方案。
这看起来像正确的大圆距离查询。
您对 wrt 准确性有什么担心?
如果你想在 mysql 中计算点到点的距离或找到一个点的距离,你可以使用“MySQL 空间函数”,但它在 MySQL 5.6 中启用。 有关更多信息,您可以阅读这篇文章:
或者这个 PDF:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.