java计算两个经纬度之间的距离

Posted 冬天不眠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java计算两个经纬度之间的距离相关的知识,希望对你有一定的参考价值。

/**
     * 计算点 是否在一个固定点的半径范围内
     * @2016年10月20日
     * @param a  经度1 已知
     * @param b   纬度1 已知
     * @param x  经度2
     * @param y  纬度2
     * @param r  半径(米)比较的半径距离
     * @return  object[0]是否在已知的范围了
     */
    public static Object[] getManyPoint(double a,double b,double x,double y,double r){
        Object[] obj = new Object[2];
        double pk = 180 / 3.14169;
        double a1 = a/pk;
        double a2 = b/pk;
        double b1 = x/pk;
        double b2 = y/pk;
        double t1 = Math.cos(a1) * Math.cos(a2) * Math.cos(b1) * Math.cos(b2);  
        double t2 = Math.cos(a1) * Math.sin(a2) * Math.cos(b1) * Math.sin(b2);  
        double t3 = Math.sin(a1) * Math.sin(b1);  
        double tt = 6366000 * Math.acos(t1 + t2 + t3);
        if(r >= tt){
            obj[0] = true;
        }else{                
            obj[0] = false;
        }
        obj[1] = tt;
        return obj;
    }

 

以上是关于java计算两个经纬度之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

计算两个纬度坐标之间的距离/方位

计算两个坐标经纬度之间的距离(5种方式)

根据两点的经纬度坐标计算两个坐标点之间的直线距离

如何使用它们的经度和纬度值计算两个位置之间的距离

计算两个纬度/经度点之间的距离不一致

计算两个经纬度之间的距离