关于通过GPS模块获取的坐标数据无法在Google地图上正确标记的问题说明
来源:互联网 发布:管家婆端口号 编辑:程序博客网 时间:2024/05/21 10:58
先看以下几个现象:
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是可能的,或者保留整個數字。
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 关于通过GPS模块获取的坐标数据无法在Google地图上正确标记的问题说明
- gps数据转换为在百度地图下的坐标
- google地图中, 纬度坐标在方形地图上定位问题的一点研究
- 关于Android上GPS获取地理信息坐标的体会
- 通过坐标在地图(google.51)上取地址
- Google Maps Api 多坐标分类标记,在地图上显示海量坐标,并分组显示。
- wpf获取gps数据在地图上显示定位
- 百度地图嵌入弹出层,无法准确正确显示marker标记到中心位置的问题
- 用Google地图获取地图上某点的经纬度坐标
- 如何获取google地图、baidu百度地图的坐标
- 如何获取google地图、baidu百度地图的坐标
- 点击获取GOOGLE MAP地图上的经纬度坐标的方法
- Android移动开发-通过自定义算法代码来纠偏地图由GPS定位到的经纬度在地图上显示或解析位置时出现偏移的问题
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 有关使用 GPS Intermediate Driver 无法获取到GPS数据的一个问题
- 获取google map的坐标数据
- Android中链接到百度进行搜索
- Character set 'utf-8' is not a compiled character set and is not specifie
- C程序访问PostgreSQL数据库
- 1949_Error Correction
- 第七周项目一
- 关于通过GPS模块获取的坐标数据无法在Google地图上正确标记的问题说明
- 在thinkpad上安装(kde)debian wheezy/sid (Note of install (kde)debian wheezy/sid on Thinkpad)
- sql 中ORDER BY 语句
- javascript浮点数运算精度问题
- Linux core 文件介绍(转)
- 2001_Adding Reversed Numbers(字符串类型数求和)
- (转载)设置listener与多个控件共享一个listener的方法
- C++析构函数
- HEX文件和有效的BIN数据大小关系