mysql 计算2点之间的距离

2017-06-29  本文已影响0人  DamagedBoy
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
上一篇下一篇

猜你喜欢

热点阅读