mysql 计算2点之间的距离

CREATE DEFINER=`root`@`%` FUNCTION `getDistance`(lat1 DOUBLE,lng1 DOUBLE,lat2 DOUBLE,lng2 DOUBLE,pi DOUBLE) RETURNS double
BEGIN
DECLARE radLat1 DOUBLE;
DECLARE radLat2 DOUBLE;
DECLARE a DOUBLE;
DECLARE b DOUBLE;
DECLARE s DOUBLE;
  set radLat1 =lat1*pi/180.0;
  set radLat2=lat2*pi/180.0;
  set a = radLat1 - radLat2;
  set b = (lng1*pi/180.0 -lng2*pi/180.0);
 set s =2 *asin(sqrt(power(sin(a/2),2) +cos(radLat1)*cos(radLat2)*power(sin(b/2),2)));
  set s = s *6378.137 ;
  set s = round(s * 100.0) / 100.0;
RETURN s;
END
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一直想玩一下AIDL,今天抽空搞定了一下,现在来记录下了~ aidl全称Android Interface Def...
    DDstar阅读 658评论 0 0
  • 三、从头再来 一个故事,一段人生! 经过几天的痛苦挣扎,他终于决定不再继续走向深渊,决定要远离这个让他失望的大城市...
    秘籍科技阅读 478评论 0 0
  • 我认识老七的时候,是一个夏天。 那个夏天的威力,至今让人记忆犹新。 我记得那一年是世界杯年,周围都是球迷。 作为一...
    苏锐叔叔阅读 1,307评论 0 3
  • 无论是谈恋爱还是交朋友,两个人在一起聊得来才是最重要,这样,两个人才会有幸福。时间久了,你才会发现,两个人在...
    柠草阅读 108评论 0 0
  • 上周黛玉和大家聊了聊咱们大观园里的那些丫鬟妹妹们,今天黛玉为大家带来红楼梦里四位公子哥的别样故事。 01.贾链:一...
    简黛玉阅读 6,237评论 6 117