【问题标题】:How to find if point within a certain distance from latitude, longitude as MySQL query如何在MySQL查询中查找与纬度,经度一定距离内的点
【发布时间】:2012-02-25 16:35:38
【问题描述】:

我在 mysql 中有一个包含位置(纬度和经度)的表,给定另一个点 (P2) 和距离 (D),我需要通过 SQL 查询找到与另一点 (D) 的距离 (D) 内的所有位置( P2)。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    【讨论】:

      【解决方案2】:

      您可以使用以下 mysql 查询来获取此信息:

      SELECT *, 
      ( 6373 * # Distance from center of earth to surface in     kilometers
      acos(cos( radians( LATITUDE_OF_POINT) ) * cos( radians( `latitude` ) ) * 
           cos(radians( `longitude` ) - radians( LONGITUDE_OF_POINT ) ) +
           sin(radians(LATITUDE_OF_POINT)) * sin(radians(`latitude`)) ) )
       `distance` 
       FROM 
           `YOUR_DB_TABLE` 
       HAVING 
           `distance` < YOUR_DESIRED_DISTANCE 
       ORDER BY 
           `distance`;
      

      【讨论】:

        猜你喜欢
        • 2013-06-06
        • 1970-01-01
        • 2014-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-16
        • 2014-08-13
        相关资源
        最近更新 更多