• 根据两点经纬度计算距离


    google地图提供的方法:
     
    根据两点经纬度计算距离【转】
    对上面的公式解释如下:
    1. Lung1 Lat1表示A点经纬度, Lung2 Lat2表示B点经纬度;
    2. a=Lat1 – Lat2 为两点纬度之差  b=Lung1 -Lung2 为两点经度之差;
    3. 6378.137为地球半径,单位为千米;
    4. 计算出来的结果单位为千米,若将半径改为米为单位则计算的结果单位为米。
    5. 计算精度与谷歌地图的距离精度差不多,相差范围在0.2米以下。
     
     private static final  double EARTH_RADIUS = 6378.137;//赤道半径(单位km)  
          
        
          转化为弧度(rad) 
        private static double rad(double d)  
        {  
           return d * Math.PI / 180.0;  
        }  
         
          根据两点间经纬度坐标(double值),计算两点间距离 
         lon1 lat1 第一点的经度,纬度 
         lon2 lat3 第二点的经度,纬度
     
        public static double GetDistance(double lat1,double lon1, double lat2,double lon2)  
        {  
           double radLat1 = rad(lat1);  
           double radLat2 = rad(lat2);  
           double a = radLat1 - radLat2;  
           double b = rad(lon1) - rad(lon2);  
           double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));  
           s = s * EARTH_RADIUS;  
           s = Math.round(s * 10000) / 10000;  
           return s;  
         }
     
     根据经纬度求夹角:
     
    详细可参见:http://blog.sina.com.cn/s/blog_658a93570101hynw.html
  • 相关阅读:
    python中list常用的方法
    python登陆代码简单逻辑
    学习Python前言
    Python远程连接Redis
    virtualbox虚拟机之连接本地主机同时可以连接外部网络
    Redis统计访问量方法
    Linux:less and Aix:more
    python之class Meta用法
    pycharm之ctrl+鼠标滚轮调整字体大小
    python之cookie与session
  • 原文地址:https://www.cnblogs.com/perfy/p/7417177.html
Copyright © 2020-2023  润新知