mysql 技术2个经纬度之间的实际距离

CREATE DEFINER=`root`@`localhost` FUNCTION `getDistance`(`lng1` double,`lat1` double,`lng2` double,`lat2` double) RETURNS double
    COMMENT '公式如下,单位米:\r\n\r\n第一点经纬度:lng1 lat1\r\n\r\n第二点经纬度:lng2 lat2\r\n'
BEGIN
declare b DOUBLE;
select
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)
into b
from dual;
RETURN b;
END

猜你喜欢

转载自zfms.iteye.com/blog/1724865