“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。
腾讯地图(soso地图)
境内(含港澳台):GCJ-02。
微软bing地图(BingMap)
全球统一:WGS-84。
搜狗地图
境内(含港澳台):搜狗坐标系。
图吧地图(MapBar)
境内(含港澳台):图吧坐标系。
灵图地图(51ditu)
境内(含港澳台):GCJ-02。
三、经纬度表示方法
经纬度的表示方法主要有以下3种:
① 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度
将“度.分.分”格式的120.42.4572转换为“度.分.秒”格式,计算方式如下:
120度=120度
42分=42分
0.4572度x60=27.432秒
即:120度42分27.432秒
以OneMO ML307A-GCLN/ML307A-GSLN为例,采用的经纬度表示方法为dddmm.mmmm,也就是“度.分.分”表示方法。
四、示例
下面以ML307A-GCLN为例,讲解如何将获取的GNSS数据进行数据转换。
1. 获取数据
ML307A-GCLN定位成功后串口打印数据如图1所示:
图1 ML307A-GCLN获取到的GNSS原始数据信息
2. 数据转换
根据NMEA0183协议,GNGGA语句中包含卫星定位信息,其详细解析如下表,第2位和第4位参数分别对应纬度和经度。$GNGGA,083712.025,3158.027948,N,11847.600964,E,1,12,0.91,39.474,M,0,M,,*6B
表1 GNSS数据格式
提取位置信息:东经11847.6009,北纬3158.0279;转换为“度.度”格式:
东经:11847.6009->118. 47.6009->118+47.6009÷60=118.793348°
北纬:3158.0279->31. 58.0279->31+58.0279÷60=31.967132°
根据转换后的经纬度数据,在经纬度/GPS坐标查询地图地址在线工具(例如:经纬度/GPS坐标查询地图地址在线工具 - 爱资料工具 该网址源自网络)中可查看其详细地址,如下图所示:
图2 使用在线工具查看经纬度代表的详细地址
- 注意事项
1、ML307A-GCLN/ML307A-GSLN模组采用的坐标系为WGS-84:大地坐标系。
2、ML307A-GCLN/ML307A-GSLN模组获取到的经纬度表示方法为dddmm.mmmm
,如需在地图上显示采用其他方法显示地址信息,请进行转换后使用。