ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GNSS系列--GNSS坐标系转换

2021-06-04 23:04:44  阅读:900  来源: 互联网

标签:02 -- GCJ 地图 GNSS 坐标 坐标系 84


大部分内容来自《http://onemo10086.com/#/school/article/165》

  “GNSS定位不准确,漂移了好几公里,是怎么回事呢?”相信有不少用户在使用GNSS时碰见过这样的问题。这主要是由于GNSS坐标转换错误造成的,下面我就来讲讲获取到GNSS数据后如何通过转换坐标,得到正确的定位。

常见坐标系介绍

  WGS-84:大地坐标系,也是目前广泛使用的GPS采用的坐标系,在中国,任何一个地图产品都不允许使用GPS坐标

  GCJ-02:又称火星坐标系,是由中国国家测绘局制定的地理坐标系统,是由WGS-84加密后得到的坐标系。互联网地图在国内必须至少使用GCJ02进行首次加密,不允许直接使用WGS84坐标下的地理数据,同时任何坐标系均不可转换为WGS84坐标

  CGCS2000:国家大地坐标系,通过中国GPS 连续运行基准站、 空间大地控制网以及天文大地网与空间地网联合平差建立的地心大地坐标系统

  BD-09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标

  搜狗坐标系:搜狗地图所采用的坐标系,由GCJ-02进行进一步的偏移算法得到

  图吧坐标系:图吧地图所采用的坐标系,由GCJ-02进行进一步的偏移算法得到

地图软件所采用的坐标系

地图坐标系
百度地图境内(含港澳台):BD-09;境外:WGS-84。
高德地图境内(含港澳台):GCJ-02;境外:暂不支持。
Google地图境内(含港澳台):GCJ-02,数据来源于高德,两者互通;境外:WGS-84。
腾讯地图境内(含港澳台):GCJ-02
微软bing地图(BingMap)全球统一:WGS-84
搜狗地图境内(含港澳台):搜狗坐标系
图吧地图(MapBar)境内(含港澳台):图吧坐标系
灵图地图(51ditu)境内(含港澳台):GCJ-02

经纬度表示方法

ddd.dddddd:度 . 度的十进制小数部分(6位)
ddd.mm.mmmm:度 . 分 . 分的十进制小数部分(4位)
ddd.mm.ss:度 . 分 . 秒

1度=60分

1分 = 60秒

1度=3600秒

各表示方法之间可相互转化,如将“度.分.分”格式的120.42.4572转换为“度.度”格式,计算方式如下:

120度=120度

42.4572分÷60=0.70762度

即:120.70762度

示例

比如获取到如下NMEA语句:

$GPGSV,3,1,10,01,02,172,20,04,41,198,22,07,40,320,25,08,81,165,36,1*60
$GPGSV,3,2,10,09,49,251,28,16,26,052,37,21,17,154,21,26,08,068,23,1*69
$GPGSV,3,3,10,27,54,046,25,30,04,307,,1*67

$GPGGA,023248.00,3043.506913,N,10403.514810,E,1,05,1.1,613.4,M,-31.0,M,,*4A

$GPVTG,212.7,T,214.7,M,0.0,N,0.0,K,A*25

$GPRMC,023248.00,A,3043.506913,N,10403.514810,E,0.0,212.7,300421,1.9,W,A,V*5B

$GPGSA,A,2,07,08,09,16,27,,,,,,,,1.4,1.1,0.8,1*27

GGA的解析如下:

GGA(Global Positioning System Fix Data)GPS定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>
<1> UTC时间,hhmmss(时分秒)格式,和北京时间差8个小时。
<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<3> 纬度半球N(北半球)或S(南半球)
<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<5> 经度半球E(东经)或W(西经)
<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算
<7> 正在使用解算位置的卫星数量(00~12)(前面的0也将被传输)
<8> HDOP水平精度因子(0.5~99.9)
<9> 海拔高度(-9999.9~99999.9)
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12> 差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空)

GPGGA,023248.00,3043.506913,N,10403.514810,E,1,05,1.1,613.4,M,-31.0,M,,*4A
从GGA语句获取到GPS定位信息,经纬度如下:北纬3043.506913,东经10403.514810
此时经纬度的格式是ddmm.mmmm的,坐标系是WGS-84。
如果想在百度地图中显示具体位置,需要转换坐标系为BD-09。
此时可以使用坐标转换工具:
在这里插入图片描述
就可以看到转换出了104.067537189513,30.7288549033661
再把该坐标复制到百度地图http://www.toolzl.com/tools/getGpsArea.html
就可以看到具体的位置了:
在这里插入图片描述
再推荐一个百度地图拾取坐标系统,也可以根据坐标查看位置,也可以根据位置拾取坐标。
在这里插入图片描述

使用百度API做坐标系转换

参考https://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition,使用API将WGS-84坐标转换为BD-09坐标。
调用方法:GET http://api.map.baidu.com/geoconv/v1/?coords=106.494335,29.61921&from=1&to=5&ak=你的密钥
在这里插入图片描述

标签:02,--,GCJ,地图,GNSS,坐标,坐标系,84
来源: https://blog.csdn.net/qlexcel/article/details/117574224

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有