zoukankan      html  css  js  c++  java
  • sql 计算两个经纬度点之间的距离

    这里用到的算法和地球半径等数据均来自网络,此文只作整理记录。

    地球半径值采用赤道半径 6378137.0米,这是1980年的国际标准数据。

    //存储过程
    CREATE FUNCTION [f_GetDistance]  
    (   
    @GPSLng DECIMAL(12,6),  
    @GPSLat DECIMAL(12,6)
    )  
    RETURNS DECIMAL(12,4)  
    AS  
    BEGIN  
       DECLARE @result DECIMAL(12,4)  
       SELECT @result = 6378137.0*ACOS(SIN(@GPSLat/180*PI())*SIN(Lat/180*PI())+COS(@GPSLat/180*PI())*COS(Lat/180*PI())*COS((@GPSLng-Lng)/180*PI()))  
       RETURN @result  
    END  
    GO  
    
    
    //查询语句
    select *,(6378137.0*ACOS(SIN(@GPSLat/180*PI())*SIN(Lat/180*PI())+COS(@GPSLat/180*PI())*COS(Lat/180*PI())*COS((@GPSLng-Lng)/180*PI()))) as distance from tab_address
    

      

  • 相关阅读:
    《Mysql
    《Redis
    《pt-query-digest 剖析 Mysql 慢日志》
    《Redis
    《Redis
    《Redis
    《Redis
    《Redis
    python中__new__()与__init__()的区别
    Python常见综合面试题
  • 原文地址:https://www.cnblogs.com/liluping860122/p/6552655.html
Copyright © 2011-2022 走看看