mysql 下 计算 两点 经纬度 之间的距离 【转】

时间:2015-01-22 10:42:29   收藏:0   阅读:322

公式如下,单位米:

第一点经纬度:lng1 lat1

第二点经纬度:lng2 lat2

round(6378.138*2*asin(sqrt(pow(sin( (lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)* pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

 

例如:

SELECT

  store_id,

  lng,

  lat,

  ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000) AS juli
FROM

    store_info
ORDER BY

  juli DESC

 

参考资料如下:

http://blog.sina.com.cn/s/blog_8da982ac0101jeh5.html

原文:http://www.cnblogs.com/lxdd/p/4240943.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!