【发布时间】:2012-02-25 16:35:38
【问题描述】:
我在 mysql 中有一个包含位置(纬度和经度)的表,给定另一个点 (P2) 和距离 (D),我需要通过 SQL 查询找到与另一点 (D) 的距离 (D) 内的所有位置( P2)。
【问题讨论】:
我在 mysql 中有一个包含位置(纬度和经度)的表,给定另一个点 (P2) 和距离 (D),我需要通过 SQL 查询找到与另一点 (D) 的距离 (D) 内的所有位置( P2)。
【问题讨论】:
【讨论】:
您可以使用以下 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`;
【讨论】: