java代码实现CGCS2000大地坐标系XY值转化为对应经纬度

本文介绍了如何使用Java代码将CGCS2000大地坐标系的XY值转换为对应的经纬度信息。关键点在于理解输入XY值的顺序以及确定中央子午线L0的值,以避免转换误差。
摘要由CSDN通过智能技术生成

以下的方法可以实现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
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值