电子海图(ENC)中规定的坐标系为WGS-84,该坐标系就是GPS所采用的坐标系,因此电子海图系统必须要接入GPS数据。其实,卫星定位系统中,除了GPS,还有中国的北斗、俄罗斯的GLONASS和欧盟的Galileo,这些定位接收器的数据都可以通过NMEA0813传输。
GPS报文格式有很多种,具体可参见 >
GPS接收到的数据格式及含义 如果此时GPS和卫星的通讯正常的话,可以接收到的数据格式样如下:
$GPRMC,204700,A,3403868,N,11709432,W,0019,3369,170698,0136,E6E
数据说明如下:
$GPRMC 代表GPS推荐的最短数据
204700 UTC_TIME 24小时制的标准时间,按照小时/分钟/秒的格式
A A 或者 V A表示数据"OK",V表示一个警告
3403868 LAT 纬度值,精确到小数点前4位,后3位
N LAT_DIR N表示北纬,S表示南纬
11709432 LON 经度值,精确到小数点前5位,后3位
W LON_DIR W表示西经,E表示东经
若当前没有和卫星取得联系,那么字符串的格式为: $GPRMC,UTC_TIME,V,
扩展资料
没有解析出正确的字段,我们很容易定位是sscanf那条语句出了问题,由于我之前没用过这个函数,为此我上网查了好久这个函数的用法,后来把思路转向对比作者的GPRMC语句和我收到的GNRMC语句,除了开头不同,其他地方的差异,
$GPRMC,131913000,A,302964972,N,1142362352,E,000,000,200617,,,A67
$GNRMC,08595900,A,400073433,N,1162803429,E,0461,,280220,691,W,D29
发现有以下几处的不同,
1) 字段1:UTC时间这里,他的小数点后面是3个0,但我的是2个0
2) 字段8:方位角这里,他的值是000,我的是空白
3) 字段11和12,磁偏角及磁偏角方向,他的是空白,我的有值
正是这3处不同,导致的上述解析不正确。原作者完全是按照他的GPS数据格式来写的代码,只要有任何一处不同,就会出现解析错误。
如果GPS无法定位受诸多因素制约,最主要的因素是信号和运动状态。在卫星信号不良的地方(例如:室内、隧道以及高楼大厦林立的城市街区等),或者处于运动状态下GPS往往很难定位。建议您:
1检查GPS功能是否开启。
2通过网络定位尝试(可能会产生流量费用):下滑屏幕顶帘-长按GPS图标-进入定位服务设置界面-定位方法-选择“GPS、WLAN和移动网络”或“WLAN和移动网络”(不同型号手机 *** 作方法可能略有不同)。
3若无效,将手机关机重启重新搜星定位。
4若依然无法定位,建议更换其他位置或换个时间段尝试。
5更新使用的软件版本。如使用导航软件无法定位,更新导航软件至最新版本或使用其他导航软件尝试。
若上述方式 *** 作后依然无法GPS定位,建议您携带购机发票、包修卡和机器送到三星服务中心检查。
以上就是关于2.3.2 电子海图系统解析及开发 功能开发 - 接入GPS数据全部的内容,包括:2.3.2 电子海图系统解析及开发 功能开发 - 接入GPS数据、电力系统对站内GPS对时的要求是什么GPS对时接口方式分类有哪些、GPS接收的数据都代表什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)