-
一、使用地理空间函数ST_DISTANCE:MySQL提供了一组地理空间函数,可以更方便地处理地理数据。使用这些函数,你可以计算点之间的距离、获取最近的点等等。下面是一个示例查询,展示如何使用地理空间函数计算经纬度距离单位(百千米):
- 代码示例:
-
-- 单位百公里 SELECT id, latitude, longitude, ST_DISTANCE( POINT(target_longitude, target_latitude), POINT(longitude, latitude) ) AS distance FROM your_table ORDER BY distance;
-
二、使用地理空间函数ST_DISTANCE_SPHERE单位(米)。
-
代码示例:
-- 单位米 SELECT id, latitude, longitude, ST_DISTANCE_SPHERE( POINT(target_longitude, target_latitude), POINT(longitude, latitude) ) AS distance FROM your_table ORDER BY distance;
-
三、如果需要保留小数可以使用ROUND函数round(x,n) -- 四舍五入去整,n为保留几位小数。
-
代码示例:
-- 计算两个经纬度之间的距离 单位米 SELECT id, longitude, latitude, target_longitude, target_latitude,ROUND(ST_DISTANCE_SPHERE ( POINT ( longitude, latitude ), POINT ( target_longitude, target_latitude )) ,2) AS distance FROM your_table ORDER BY distance;
mysql根据经纬度计算距离
最新推荐文章于 2024-05-31 17:29:33 发布