欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

sql中利用两点的经纬度求距离的方法教程

程序员文章站 2024-01-15 19:18:28
今天的做的一个是求取用户工作地到所属于集团的距离,已知道的是用户工作点和集团点的经纬度。先贴经纬度求距离公式。 a(ja,wa)和b(jb,wb)点距离公式。 下面是sql语句: 6378137*...

今天的做的一个是求取用户工作地到所属于集团的距离,已知道的是用户工作点和集团点的经纬度。先贴经纬度求距离公式。

a(ja,wa)和b(jb,wb)点距离公式。

sql中利用两点的经纬度求距离的方法教程

下面是sql语句:

6378137*2*asin(sqrt(power(sin((a.work_lat-b.lac_lat1)*acos(-1)/360),2) +cos(a.work_lat*acos(-1)/180)*cos(b.lac_lat1*acos(-1)/180)*power(sin((a.work_long-b.lac_long1)*acos(-1)/360),2))) as work_dist1

工作点(work_long,work_lat)和集团点(lac_long,lac_lat1)。→long:经度,lat:纬度。

sql太长不好截图,直接复制过来的,蓝色字体是我们需要替换的数据,对照公式还是很好理解的。asin()对应公式中的arcsin()。sqrt()表示是开根号,power(num,2)表示求num的平方。acos(-1)=180