sql中利用两点的经纬度求距离

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

a(JA,WA)和b(JB,WB)点距离公式。

                   

下面是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




你可能感兴趣的:(sql实例)