打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于通过GPS模块获取的坐标数据无法在Google地图上正确标记的问题说明

 

先看以下几个现象:
1. 通过GPS模块获取的坐标数据在Google地图标记,发现与真实位置相差甚远
2. 通过Google地球软件获取的坐标数据在Google地图标记,也与真实位置相差甚远;因为Google地球反馈的坐标信息也是通过卫星GPS获取的。
3. 通过Google地图(网页版,右键“这是什么”即可查看)获取的坐标数据在Google地图标记,可以精确的标记到Google地图上。

然后了解几个术语:
1. 火星坐标系:天朝有关部门规定,为了保证国家安全,所有的地图公司提供的地图必须对实际的GPS坐标进行一定的偏移,偏移后的GPS坐标系俗称火星坐标系,而这个偏移是不固定的,具体的算法是国家机密。
2. WGS84:国际通行的坐标体系标准,而GPS模块获取到的坐标正是WGS84坐标系
3. 北京54坐标系/西安80坐标系:天朝通用的经过偏移后的坐标系标准(而民航使用的是国际标准WGS84,否则国际航班没法正常飞行)

网上牛人给的解决方法:
1. 网页在线版:http://map.yanue.net/gps.html,其中第一个GPS原始数据转换结果还比较准确
2. C语言实现版:http://xcodev.com/131.html (需要加载一个78M的数据文件,普通手持设备可能比较吃力)
3. C#版:基于C语言而来,http://freshflower.iteye.com/blog/1606960
4. 通过百度API转换:http://blog.csdn.net/gengye304/article/details/7942219

后来又找到一个比较简单的换算方法:比如給出一個DMS座標例如W87°43'41 ",它是瑣細的轉換它成一定數量的小數程度運用以下方法:

  • 計算秒鐘, 43 ' 41的總數" = (43*60 + 41) = 2621秒。
  • 分數部分是3600除的秒鐘的總數。 2621/3600 = 0.728056
  • 增加分數程度到整體程度導致決賽成績: 87 + 0.728056 = 87.728056
  • 因為它是西部經度座標,結果应该以负数表示:-87.728056

轉換從小數程度嚮DMS

給出一個小數縱向座標例如-87.728055它瑣細的轉換它成DMS形式。 知道將是必要的它是否是一個緯度或縱向座標為了充分地轉換它。 方法是如下:

  • 減去座標的整數部分,離開分數part。 整數是程度的數量。 87.728055 = 87度。
  • 乘剩餘的分數部分以60。 這在整數部分將導致一定數量的分鐘。 0.728055 x 60 = 43.6833 = 43分鐘。
  • 乘分鐘的數量的分數部分以60,導致一定數量的秒鐘。 0.6833 x 60 = 40.998 = 41秒。 算作是此40秒,削小數,圓它到41是可能的,或者保留整個數字。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
在我国,没有任何一张地图能告诉你你的真实位置
自动驾驶之高精度地图(一)定位篇
谷歌GPS卫星地图(5.6)绿色便携版
坐标转换
为啥手机地图定位都不太准?或许这些就是原因!
快速学习奥维互动地图导入控制点及坐标进行现场找点位置
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服