Mysql 根据经纬度计算距离
方式1:st_distance_sphere
st_distance_sphere函数返回以米为单位
SELECT *,
st_distance_sphere(point(lng,lat),point(116.3424590000,40.0497810000)) as juli
FROM table ORDER BY juli ASC

方式2:st_distance
st_distance返回的度 st_distance 计算的结果单位是度,需要乘111195(地球半径6371000*PI/180)是将值转化为米。
SELECT *,st_distance ( point ( longitudes, latitudes ), point ( 113.264435, 23.129163 )) AS juli FROM zxh_distance ORDER BY juli ASC;
方式3 直接计算
SELECT *,ROUND( 6378.138 * 2 * ASIN( SQRT( POW( SIN(( 23.129163 * PI()/ 180-latitudes * PI()/ 180 )/ 2 ), 2 )+ COS( 23.129163 * PI()/ 180 )* COS( latitudes * PI()/ 180 )* POW( SIN(( 113.264435 * PI()/ 180-longitudes * PI()/ 180 )/ 2 ), 2 )))* 1000 ) AS juli FROM zxh_distance ORDER BY juli ASC
本文来自博客园,作者:小陈子博客,转载请注明原文链接:https://www.cnblogs.com/cj8357475/p/17198342.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律