java 地心坐標(biāo)系(ECEF)和WGS-84坐標(biāo)系(WGS84)互轉(zhuǎn)的實(shí)現(xiàn)
本文介紹了java 地心坐標(biāo)系(ECEF)和WGS-84坐標(biāo)系(WGS84)互轉(zhuǎn)的實(shí)現(xiàn),分享給大家,具體如下:
public static String WGS84toECEF(double latitude, double longitude, double height) { double X; double Y; double Z; double a = 6378137; double b = 6356752.314245; double E = (a * a - b * b) / (a * a); double COSLAT = Math.cos(latitude * Math.PI / 180); double SINLAT = Math.sin(latitude * Math.PI / 180); double COSLONG = Math.cos(longitude * Math.PI / 180); double SINLONG = Math.sin(longitude * Math.PI / 180); double N = a / (Math.sqrt(1 - E * SINLAT * SINLAT)); double NH = N + height; X = NH * COSLAT * COSLONG; Y = NH * COSLAT * SINLONG; Z = (b * b * N / (a * a) + height) * SINLAT; return X + "," + Y + "," + Z; } public static String ECEFtoWGS84(double x, double y, double z) { double a, b, c, d; double Longitude;//經(jīng)度 double Latitude;//緯度 double Altitude;//海拔高度 double p, q; double N; a = 6378137.0; b = 6356752.31424518; c = Math.sqrt(((a * a) - (b * b)) / (a * a)); d = Math.sqrt(((a * a) - (b * b)) / (b * b)); p = Math.sqrt((x * x) + (y * y)); q = Math.atan2((z * a), (p * b)); Longitude = Math.atan2(y, x); Latitude = Math.atan2((z + (d * d) * b * Math.pow(Math.sin(q), 3)), (p - (c * c) * a * Math.pow(Math.cos(q), 3))); N = a / Math.sqrt(1 - ((c * c) * Math.pow(Math.sin(Latitude), 2))); Altitude = (p / Math.cos(Latitude)) - N; Longitude = Longitude * 180.0 / Math.PI; Latitude = Latitude * 180.0 / Math.PI; return Longitude + "," + Latitude + "," + Altitude; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于Spring Security的Oauth2授權(quán)實(shí)現(xiàn)方法
這篇文章主要介紹了基于Spring Security的Oauth2授權(quán)實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09javacv開發(fā)詳解之調(diào)用本機(jī)攝像頭視頻
這篇文章主要介紹了javacv開發(fā)詳解之調(diào)用本機(jī)攝像頭視頻,對(duì)javacv感興趣的同學(xué),可以參考下2021-04-04SSH框架網(wǎng)上商城項(xiàng)目第26戰(zhàn)之訂單支付后發(fā)送短信提醒
這篇文章主要為大家詳細(xì)介紹了SSH框架網(wǎng)上商城項(xiàng)目第26戰(zhàn)之訂單支付后發(fā)送短信提醒,感興趣的小伙伴們可以參考一下2016-06-06java 實(shí)現(xiàn) stack詳解及實(shí)例代碼
這篇文章主要介紹了java 實(shí)現(xiàn) stack詳解的相關(guān)資料,需要的朋友可以參考下2016-09-09SpringBoot+logback默認(rèn)日志的配置和使用方式
這篇文章主要介紹了SpringBoot+logback默認(rèn)日志的配置和使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Nacos通過RefreshScope實(shí)現(xiàn)配置自動(dòng)更新的方式分享
這篇文章主要給大家介紹了Nacos如何通過RefreshScope實(shí)現(xiàn)配置自動(dòng)更新,文中給了兩種實(shí)現(xiàn)方式供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-09-09