本文介绍了java地心坐标系(ECEF)和wgs - 84坐标系(WGS84)互转的实现,分享给大家,具体如下:
公共静态字符串WGS84toECEF(双重纬度,经度的两倍,双高度) { 双X; 双Y; 双Z; 双a=6378137; 双b=6356752.314245; 双E=(a * a - b * b)/(*); 双COSLAT=数学。因为(纬度*数学。π/180); 双SINLAT=数学。罪(纬度*数学。π/180); 双COSLONG=数学。因为(经度*数学。π/180); 双SINLONG=数学。罪(经度*数学。π/180); 双N=/(数学。√1 - E * SINLAT * SINLAT)); 双NH=N +高度; X=NH * COSLAT * COSLONG; Y=NH * COSLAT * SINLONG; Z=(b * b * N/(a *) +高度)* SINLAT; 返回X +”、“+ Y +”、“+ Z; } 公共静态字符串ECEFtoWGS84(双x,双y, z)两倍 { 双a, b, c, d; 双经度;//经度 双纬度;//纬度 双高度;//海拔高度 双p, q; 双N; 一个=6378137.0; b=6356752.31424518; c=数学。√((*)- (b * b))/(a *)); d=数学。√((*)- (b * b))/(b * b)); p=数学。√(x *) + (y * y)); q=数学。量化(z (*) (p * b)); 经度=数学。量化(y、x); 纬度=数学。量化(z + b (d * d) * * Math.pow (sin (q), 3)), (p - c (c *) * * Math.pow (Math.cos (q), 3))); N=/数学。sqrt (1 - ((c c *) * Math.pow (sin(纬度),2))); 高度=(p/Math.cos(纬度))- N;=经度* 180.0/Math.PI; 纬度=* 180.0/Math.PI纬度; 返回经度+”、“+空间+”、“+高度; } >之前以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
java地心坐标系(ECEF)和wgs - 84坐标系(WGS84)互转的实现