频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
java通过经纬度计算两坐标点之间的距离
2011-11-09 15:01:08      个评论      
收藏   我要投稿

 

public class MapDistance { 

 

    private static double EARTH_RADIUS = 6378.137; 

 

    private static double rad(double d) { 

        return d * Math.PI / 180.0; 

    } 

 

    public static double getDistance(double lat1, double lng1, double lat2, 

            double lng2) { 

        double radLat1 = rad(lat1); 

        double radLat2 = rad(lat2); 

        double a = radLat1 - radLat2; 

        double b = rad(lng1) - rad(lng2); 

        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; 

    } 

}   

摘自 tao_zi7890的专栏

点击复制链接 与好友分享!回本站首页
相关TAG标签 经纬度 标点 之间
上一篇:getInputStream与getReader方法
下一篇:java class路径获取
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站