以下的方法可以实现CGCS2000大地坐标系XY值转化为对应经纬度信息,
注意输入的XY值与给定的值相反,则参数X为已知的Y,参数Y为已知的X。
得出的结果为 [纬度,经度],不要应用错误。
L0参数为中央子午线的经线值,应用方法前需要确定L0的值,否则得出的值会有很大的偏差。
public static double [] xytolatlon(double X, double Y ,double L0) {
double lat ,lon;
Y-=500000;
double [] result = new double[2];
double iPI = 0.0174532925199433;//pi/180
double a = 6378137.0; //长半轴 m
double b = 6356752.31414; //短半轴 m
double f = 1/298.257222101;//扁率 a-b/a
double e = 0.0818191910428; //第一偏心率 Math.sqrt(5)
double ee = Math.sqrt(a*a-b*b)/b; //第二偏心率
double bf = 0; //底点纬度
double a0 = 1+(3*e*e/4) + (45*e*e*e*e/64) + (175*e*e*e*e*e*e/256) + (11025*e*e*e*e*e*e*e*e/16384) + (43659