mySQL函数根据经纬度计算两点距离

mySQL函数根据经纬度计算两点距离

大家好,又见面了,我是全栈君。

DROP FUNCTION IF EXISTS func_calcDistance ;
CREATE FUNCTION func_calcDistance(  
    origLng DECIMAL(20,6), -- 目的地经度 
    origLat DECIMAL(20,6), -- 目的地纬度  
    longitude DECIMAL(20,6), -- 当前所在地点经度  
    latitude DECIMAL(20,6) -- 当前所在地点纬度  
)
RETURNS DOUBLE
BEGIN
      DECLARE result DOUBLE DEFAULT 0; 
      
      SET result = round(6378.138*2*asin(sqrt(pow(sin(
        (origLat*pi()/180-latitude*pi()/180)/2),2)+cos(origLat*pi()/180)*cos(latitude*pi()/180)*
        pow(sin( (origLng*pi()/180-longitude*pi()/180)/2),2)))*1000);
      
      RETURN result;  
     
 END ;

 

转载于:https://www.cnblogs.com/lujiulong/p/6185041.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108719.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号