首页  >  文章  >  数据库  >  以下是一些标题选项,其风格和重点各不相同: **直接且信息丰富:** * **如何使用 MySQL 查找半径内的位置:改进的查询** * **准确的地理位置搜索

以下是一些标题选项,其风格和重点各不相同: **直接且信息丰富:** * **如何使用 MySQL 查找半径内的位置:改进的查询** * **准确的地理位置搜索

Susan Sarandon
Susan Sarandon原创
2024-10-26 09:44:03779浏览

Here are a few title options, varying in style and focus:

**Direct & Informative:**

* **How to Find Locations Within a Radius Using MySQL: An Improved Query**
* **Accurate Geolocation Search in MySQL: A Query for Finding Locations Within a Radius**

**Q

用于查找半径内位置的 MySQL 查询

处理地理空间数据时使用搜索指定半径内位置的查询。在这种情况下,需要一个查询来检索给定纬度和经度的 25 英里半径内的所有行。但是,原始查询并未返回所有行的准确结果。

改进的查询

改进的查询通过使用更准确的公式计算行间距:

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

说明

  • 公式 acos( ... ) 计算两个经纬度点之间的角度。
  • 将此角度乘以 6371 可将结果转换为英里。
  • 结果距离存储在距离列中。
  • 选择距离小于指定值的所有行。

参数

  • :lat 和 :long 为中心点的纬度和经度。
  • :距离为所需的距离以英里为单位的半径。

使用此改进的查询,可以准确检索指定半径内的所有行,消除原始查询中出现的错误结果。

以上是以下是一些标题选项,其风格和重点各不相同: **直接且信息丰富:** * **如何使用 MySQL 查找半径内的位置:改进的查询** * **准确的地理位置搜索的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn