根据execl公式将经纬度转换成平面坐标

public double[] change(double lat,double lon){
        int a=107;
        int b=107;
        double e=(int)lat+(double)((int)(lat*100)-(int)lat*100)/60+(lat*10000-(int)(lat*100)*100)/3600;
        double f=(int)lon+(double)((int)(lon*100)-(int)lon*100)/60+(lon*10000-(int)(lon*100)*100)/3600;
        double g=f-b;
        double h=g/57.2957795130823;
        double i=Math.tan(Math.toRadians(e));
        double j=Math.cos(Math.toRadians(e));
        double k=0.006738525415*j*j;//
        double l=i*i;
        double m=1+k;
        double n=6399698.9018/Math.sqrt(m);
        double o=h*h*j*j;
        double p=i*j;
        double q=p*p;
        double r=(32005.78006+q*(133.92133+q*0.7031));
        double s=6367558.49686*e/57.29577951308-p*j*r+((((l-58)*l+61)*o/30+(4*k+5)*m-l)*o/12+1)*n*i*o/2;
        double t=((((l-18)*l-(58*l-14)*k+5)*0/20+m-l)*o/6+1)*n*(h*j);
        double[] result=new double[2];
        result[0]=s;
        result[1]=t;
        return result;
        
    }

你可能感兴趣的:(java)