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 ;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM