GPS模塊軟件處理的坑:分度秒轉(zhuǎn)成分度

基本原理

GPS模塊輸出的數(shù)據(jù)是NMEA格式,其中GPGGA字段包含我們需要的經(jīng)緯度信息。

例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,12.2,M,19.7,M,,0000*1F

其中 4250.5589,S,14718.5084,E 就是經(jīng)度和緯度數(shù)據(jù),其格式是

緯度:ddmm.mmmmm(度分)

經(jīng)度:dddmm.mmmmm(度分)

google Earth Pro是免費(fèi)、強(qiáng)大的地圖工具,它支持導(dǎo)入包含經(jīng)緯度的csv文件,用來描點(diǎn),使我們更直觀的看gps的定位信息。(算了吧,國內(nèi)基本無法連接的,看接下來用高德)

但是google Earth Pro中需要dd.ddddd格式的經(jīng)緯度,所以我們要將ddmm.mmmm轉(zhuǎn)換成dd.ddddd。

NEMA轉(zhuǎn) 分度秒公式(WGS標(biāo)準(zhǔn))

轉(zhuǎn)換公式 dd.ddddd = dd + mm.mmmm/60

網(wǎng)上很多其它文章的公式都是錯(cuò)誤的。

再進(jìn)一步轉(zhuǎn)成國內(nèi)第三方地圖

由于一些特殊原因,地圖經(jīng)緯度在國內(nèi)還要轉(zhuǎn)一下:
可以要第三方地圖,例如高德或百度,還需要再轉(zhuǎn)一次坐標(biāo)。以高德為例,需要調(diào)用http接口轉(zhuǎn)換,轉(zhuǎn)換可以是多組,特別適合服務(wù)器一次請求多個(gè)的情況:
https://lbs.amap.com/api/webservice/guide/api/convert

image.png

轉(zhuǎn)換完之后快速找地圖驗(yàn)證一下,查看位置。
高德驗(yàn)證地址在這里:(根據(jù)經(jīng)緯度反查)
https://lbs.amap.com/console/show/picker

116.487585177952,39.991754014757

image.png

附上我的GPS轉(zhuǎn)高德參考源碼

//String gpsSection = "0000.0000N00000.0000E";
{
    log.info("detect GPS data");
    int nPos = gpsSection.indexOf("N");
    int ePos = gpsSection.indexOf("E");
    //緯度:ddmm.mmmmm(度分)
    //經(jīng)度:dddmm.mmmmm(度分)
    //dd.ddddd = dd + mm.mmmm/60
    final double originLat = Double.valueOf(gpsSection.substring(0, nPos));
    final double originLng = Double.valueOf(gpsSection.substring(nPos+1, ePos));
    final double lat = Math.floor(originLat/100) + (originLat - Math.floor(originLat/100)*100)/60;
    final double lng = Math.floor(originLng/100) + (originLng - Math.floor(originLng/100)*100)/60;
    log.info("from GPS, lng=" + lng + ", lat=" + lat);
    //A: 取gps段數(shù)據(jù)
    watchCommHelper.es.execute(new Runnable() {
        @Override
        public void run() {//convertGpsToGd是從高德轉(zhuǎn)換接口去把GPS度分格式轉(zhuǎn)成高德經(jīng)緯度
            XhLocInfo xhLocInfo = watchCommHelper.convertGpsToGd(lng, lat);
            //添加處理
        }
    });

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容