首页 > 代码库 > 根据经纬度求两点之间距离(mysql 函数)
根据经纬度求两点之间距离(mysql 函数)
1 DROP FUNCTION IF EXISTS `getDistance`; 2 DELIMITER ;; 3 CREATE FUNCTION `getDistance`( 4 lon1 float(10,7) 5 ,lat1 float(10,7) 6 ,lon2 float(10,7) 7 ,lat2 float(10,7) 8 ) RETURNS double 9 begin10 declare d double;11 declare radius int;12 set radius = 6378140; 13 set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2) 14 *SIN((lat1-lat2)*PI()/180/2)+ 15 COS(lat2*PI()/180)*COS(lat1*PI()/180) 16 *SIN((lon1-lon2)*PI()/180/2) 17 *SIN((lon1-lon2)*PI()/180/2)), 18 SQRT(1-SIN((lat1-lat2)*PI()/180/2) 19 *SIN((lat1-lat2)*PI()/180/2) 20 +COS(lat2*PI()/180)*COS(lat1*PI()/180) 21 *SIN((lon1-lon2)*PI()/180/2) 22 *SIN((lon1-lon2)*PI()/180/2))))*radius;23 return d;24 end25 ;;26 DELIMITER ;
根据经纬度求两点之间距离(mysql 函数)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。