java經緯度距離換算,根據距離算經緯度差值


public class Map2 {
    private final double PI = 3.14159265358979323; //圓周率
    private final double R = 6371229;             //地球的半徑
    
    public double getDistance(double longt1, double lat1, double longt2, double lat2){
        double x,y, distance;
        x=(longt2-longt1)*PI*R*Math.cos( ((lat1+lat2)/2)*PI/180)/180;
        y=(lat2-lat1)*PI*R/180;
        distance=Math.hypot(x,y);
        return distance;
    }
   
    public double getLongt(double longt1, double lat1, double distance){
        double a = (180*distance)/(PI*R*Math.cos(lat1*PI/180));
        return a;
    }
   
    public double getLat(double longt1, double lat1, double distance){
        double a = (180*distance)/(PI*R*Math.cos(lat1*PI/180));
        return a;
    }
   
    public static void main(String[] args){
        Map2 m = new
        Map2();
    //      double s = m.getDistance(112.0235, 23.2563, 110.1235, 20.3563);
    //      System.out.println(s);
      
        double longt = m.getLongt(112.0235, 23.2563, 10227.5985);
        System.out.println(longt);
        double lat = m.getLat(112.0235, 23.2563, 11131.9859);
        System.out.println(lat); 
    }
}
相關文章
相關標籤/搜索