搜索
bottom↓
回复: 34

C3-370C 串口输出经纬度 -> 度分秒 的转换方法

[复制链接]

出0入0汤圆

发表于 2010-8-24 17:21:36 | 显示全部楼层 |阅读模式
看到同学们说从 GPS 读出的经纬度和上位机软件输出的有较大差异,不知如何转换, 已经在帖子中说明了, 不过立即淹没在 900+ 楼里...
其实只要明白各个数据位代表的含义, 转换不难.

GPS 串口读出的是 DDMM.MMMM格式
一般上位机是 DD.DDDDDD°或 DD°MM'SS" 格式, 这两种都可以在 GE 里直接输入

举例说明: 3147.8749 (示例,经纬度一样) 格式为 DDMM.MMMM
转换成度:
1. 度的部分直接就是31,
2.剩下的 MM.MMMM/60=度, 所以 47.8749/60=0.797915
则 转换成度是 31.797915°

转换成度分秒:
1. 同样,度的部分直接就是31,
2. 分直接是整数部分 47
3. 秒则是 后面的 0.MMMM*60. 例子中为: 0.8749*60=52.494
4. 则度分秒即是 31°47'52.494"

精确到 0.001"

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2010-8-24 17:27:33 | 显示全部楼层
如果在单片机中, 使用字符串操作, 只取分的部分(如0.8749)转换成数字再利用上面的方法计算, 那么只需要 Float 精度就可以了实现了吧

出0入0汤圆

发表于 2010-8-24 19:35:05 | 显示全部楼层
回复【楼主位】wowbanui
看到同学们说从 gps 读出的经纬度和上位机软件输出的有较大差异,不知如何转换, 已经在帖子中说明了, 不过立即淹没在 900+ 楼里...
其实只要明白各个数据位代表的含义, 转换不难.
gps 串口读出的是 ddmm.mmmm格式
一般上位机是 dd.dddddd°或 dd°mm'ss" 格式, 这两种都可以在 ge 里直接输入
举例说明: 3147.8749 (示例,经纬度一样) 格式为 ddmm.mmmm  
转换成度:  
1. 度的部分直接就是31,  
2.剩下的 mm.mmmm/60=度, 所以 47.8749/60=0.797915  
则 转换成度是 31.797915°
转换成度分秒:  
1. 同样,度的部分直接就是31,
2. 分直接是整数部分 47
3. 秒则是 后面的 0.mmmm*60. 例子中为: 0.8749*60=52.494
4. 则......
-----------------------------------------------------------------------

不知道你有没有发现,即便如此

转换后的结果和PC上软件计算的结果仍有差别~~~

出0入0汤圆

 楼主| 发表于 2010-8-24 20:53:24 | 显示全部楼层
回复【2楼】format
-----------------------------------------------------------------------

差别大么?

我认为理论上的算法是正确的, 我考虑一下可能有如下原因:
1. 上位机软件 会不会在秒上面四舍五入? 如上面的31°47'52.494" 就为 31°47'52"
2. 因为模块每秒输出一次数据, 是否是观察到的串口数据和软件输出的不是同一次?

出0入0汤圆

发表于 2010-8-24 22:10:18 | 显示全部楼层
差别不大的,已验证~转换算法就是这样转换就行了!

出0入0汤圆

发表于 2010-8-24 22:14:13 | 显示全部楼层
GPS输出的坐标有2种,一个是实时的$GPGGA,还有一个是推荐的$GPRMC,有时会不一样。

出0入0汤圆

 楼主| 发表于 2010-8-24 22:44:40 | 显示全部楼层
回复【5楼】silence sky 静空
-----------------------------------------------------------------------

是的, 这款默认同时输出 GGA 和 RMC 语句
但是查datasheet的NMEA协议格式都是 DDMM.MMMM.

不一样是否有特殊情况?

出0入16汤圆

发表于 2010-8-31 10:33:14 | 显示全部楼层
终于找到计算方法了。~感谢楼主

出0入0汤圆

发表于 2010-8-31 13:24:32 | 显示全部楼层
标记学习

出0入0汤圆

发表于 2010-8-31 15:26:54 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-9-7 15:25:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-3 15:42:11 | 显示全部楼层
不错,标记

出0入0汤圆

发表于 2010-12-27 20:32:11 | 显示全部楼层
难得找的到~

出0入0汤圆

发表于 2010-12-27 21:07:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-27 22:24:42 | 显示全部楼层
LZ说得很清晰了,学习。

出0入0汤圆

发表于 2010-12-31 16:09:38 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-11 09:13:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-11 10:13:15 | 显示全部楼层
如果支援sirf格式的,用它格式比較方便。
現在都不太用NMEA,還要搞字串轉數值,太麻煩了。

出0入0汤圆

发表于 2011-2-21 20:37:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-22 18:30:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-25 10:14:50 | 显示全部楼层
标记学习

出0入0汤圆

发表于 2011-3-9 15:43:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-9 16:34:25 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-3-9 18:20:23 | 显示全部楼层
mark

出0入13汤圆

发表于 2011-4-24 14:07:16 | 显示全部楼层
不错,学习下

出0入0汤圆

发表于 2011-9-5 12:26:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-5 12:44:31 | 显示全部楼层
多谢楼主了,标记一下

出0入0汤圆

发表于 2011-9-5 16:39:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-15 21:44:20 | 显示全部楼层
楼主可有C3-370C的详细的中文资料

出0入0汤圆

发表于 2011-9-19 22:52:31 | 显示全部楼层
很好,很详细。

出0入0汤圆

发表于 2011-11-24 15:35:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-11-15 17:04:01 | 显示全部楼层
感觉用GOOGLE地图定这个经纬度还是有点偏差

出0入0汤圆

发表于 2012-11-16 14:39:37 | 显示全部楼层
学习计算方法

出0入0汤圆

发表于 2014-1-28 09:21:26 | 显示全部楼层
mark!!!!!!!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 20:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表