提高基于半径搜索的 MySQL 经度和纬度查询的准确性
在 mySQL 中执行基于半径的位置搜索时,一个常见问题正在获得明显偏离指定半径的结果。这种差异通常是由距离计算公式中的错误引起的,从而导致距离测量不准确。
要解决此问题,请考虑使用稍微不同的距离计算方法的细化查询:
SELECT `id`, ( 6371 * acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos( radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`)) ) ) `distance` FROM `location` HAVING `distance` < :distance ORDER BY `distance` LIMIT 25
在此查询中:
此公式基于半正弦公式计算距离,该公式提供比使用的公式更准确的结果在你原来的查询中。通过合并此修订后的公式,您可以优化半径搜索功能,确保返回的结果符合指定的半径范围。
以上是## 如何提高 MySQL 中基于半径的位置搜索的准确性?的详细内容。更多信息请关注PHP中文网其他相关文章!