美文网首页
GPS模块软件处理的坑:分度秒转成分度

GPS模块软件处理的坑:分度秒转成分度

作者: 青岛大桥_Android到后端 | 来源:发表于2020-11-19 12:00 被阅读0次

基本原理

GPS模块输出的数据是NMEA格式,其中GPGGA字段包含我们需要的经纬度信息。

例:$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 就是经度和纬度数据,其格式是

纬度:ddmm.mmmmm(度分)

经度:dddmm.mmmmm(度分)

google Earth Pro是免费、强大的地图工具,它支持导入包含经纬度的csv文件,用来描点,使我们更直观的看gps的定位信息。(算了吧,国内基本无法连接的,看接下来用高德)

但是google Earth Pro中需要dd.ddddd格式的经纬度,所以我们要将ddmm.mmmm转换成dd.ddddd。

NEMA转 分度秒公式(WGS标准)

转换公式 dd.ddddd = dd + mm.mmmm/60

网上很多其它文章的公式都是错误的。

再进一步转成国内第三方地图

由于一些特殊原因,地图经纬度在国内还要转一下:
可以要第三方地图,例如高德或百度,还需要再转一次坐标。以高德为例,需要调用http接口转换,转换可以是多组,特别适合服务器一次请求多个的情况:
https://lbs.amap.com/api/webservice/guide/api/convert

image.png

转换完之后快速找地图验证一下,查看位置。
高德验证地址在这里:(根据经纬度反查)
https://lbs.amap.com/console/show/picker

116.487585177952,39.991754014757

image.png

附上我的GPS转高德参考源码

//String gpsSection = "0000.0000N00000.0000E";
{
    log.info("detect GPS data");
    int nPos = gpsSection.indexOf("N");
    int ePos = gpsSection.indexOf("E");
    //纬度:ddmm.mmmmm(度分)
    //经度: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段数据
    watchCommHelper.es.execute(new Runnable() {
        @Override
        public void run() {//convertGpsToGd是从高德转换接口去把GPS度分格式转成高德经纬度
            XhLocInfo xhLocInfo = watchCommHelper.convertGpsToGd(lng, lat);
            //添加处理
        }
    });

}

相关文章

  • GPS模块软件处理的坑:分度秒转成分度

    基本原理 GPS模块输出的数据是NMEA格式,其中GPGGA字段包含我们需要的经纬度信息。 例:$GPGGA,09...

  • mysql 索引长度和区分度

    首先 索引长度和区分度是相互矛盾的, 索引长度太短,那么区分度就很低,吧索引长度加长,区分度就高,但是索引也是要...

  • 憨山大师语

    到处随缘延日月,终身安分度时光。

  • Brier score分数

    从临床预测模型角度,构建模型有三度。区分度、校准度和临床适用度。区分度我们通常采用的是AUROC或C Index;...

  • 口袋珠宝秤方案规格书

    口袋珠宝秤方案性能参数 开机方式:上电自动开机或者按键开机。 单位和显示分度:支持三个单位g、oz、gn,分度值为...

  • 自乱了分度

    稳于奔波无数 静于身心充足 横竖斜叉方圆路 无奈 自乱了分度 德于明让出入 性于自然万物 仁义礼智信当富 卧槽 自...

  • 高考区分度

    01 高考降低难度可以减负? 错!结果恰恰相反 有人认为,降低高考难度,可以在一定程度上减轻学生的学习负担,缓解应...

  • 五、如何建立合适的索引

    1.查询频繁 2.区分度高(离散度) 3.长度小 4.尽可能覆盖常用的查询字段 区分度高(离散度):100万用户,...

  • 机器学习 - 特征工程

    数据处理 缺失值处理行数据缺失过多,用户区分度就会降低,列数据缺失过多会导致建模存在偏差fillna:填充缺失值;...

  • 市招考院

    市招考院: 1.区分度:命题、阅卷跟上 2.全面性:组合学科不偏废-高考6选3 3.均衡性:普高、职高区分度 4....

网友评论

      本文标题:GPS模块软件处理的坑:分度秒转成分度

      本文链接:https://www.haomeiwen.com/subject/mwikiktx.html