mysql 根据经纬度计算距离的算法
2020-01-06 本文已影响0人
乐观的猴
latitude 39.9639740000
longitude 116.4747040000
sql 查询语句, 距离单位是 m
SELECT
*,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
39.9639740000 * PI() / 180 - lat * PI() / 180
) / 2
),
2
) + COS(39.9639740000 * PI() / 180) * COS(lat * PI() / 180) * POW(
SIN(
(
116.4747040000 * PI() / 180 - lon * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
area
ORDER BY
distance ASC