mysql计算两个坐标经纬度之间的距离
时间: 2023-07-08 14:34:38 浏览: 137
计算两个经纬度之间的距离
可以使用MySQL内置的地理空间函数ST_Distance_Sphere来计算两个经纬度坐标之间的距离,示例如下:
假设我们有一个名为location的表,其中包含id、longitude和latitude字段,分别表示地点的唯一标识、经度和纬度。
首先,需要为location表的longitude和latitude字段创建一个地理空间索引,命令如下:
```
ALTER TABLE location ADD SPATIAL INDEX(lonlat);
```
接下来,可以使用ST_Distance_Sphere函数来计算两个经纬度坐标之间的距离,如下所示:
```
SELECT ST_Distance_Sphere(point(longitude1, latitude1), point(longitude2, latitude2)) AS distance
FROM location
WHERE id = 1;
```
其中,point(longitude, latitude)函数用于将经度和纬度转换为地理坐标点,distance表示两个坐标点之间的距离,单位为米。
注意:在MySQL 8.0以前的版本中,建议使用ST_Distance函数来计算两个经纬度坐标之间的距离。
阅读全文