当前位置:编程学习 > wap >>

gps纠偏问题,如何最好的处理GPS数据的偏移,包括google地图的偏移、baidu地图的偏移

google地图存在偏移是众所周知的事实,说到底就是火星坐标系和真实gps之间的转换,我国所有的地图为了安全起见都作了加偏,近日,发现百度地图在原来偏移的基础上再次加偏了。如何解决这个问题?请专业的纠偏专家帮助啊! --------------------编程问答-------------------- [img=http://s14.sinaimg.cn/middle/ae91db60gc7581abeaf3d&690][/img]
中国地图经纬度偏移修正数据库,精度:0.01精度,数据量:9813676 条。

使用方法:

1、假设原始gps数据为(73.528888,39.368888)

2、查询数据库:SELECT * FROM offset where lng=73.52 and lat=39.36,得出offsetlat、offsetlng

3、用原始的lat加上offsetlat,lng加上offsetlng,得出纠偏后的经纬度,可以直接在google地图上显示正确位置了。

我看到过一个新浪的博客,上面的内容非常的全面,给大家共享:http://blog.sina.com.cn/u/2928794464 --------------------编程问答-------------------- 太给力了,看了博客,什么问题都解决了!实在是精准啊! --------------------编程问答-------------------- 太给力了,看了博客,什么问题都解决了!实在是精准啊! --------------------编程问答-------------------- 刚开始玩GPS,看到不少对GPS图纸偏移问题的认识存在误区,俺根据在轮坛看帖思考理解的有关内容,整理一下,希望对在这个问题上存在疑惑的朋友有所帮助。
1、偏移的起因:天朝测绘局以国家安全为理由,用法律的形式对所有在天朝发行的地图类产品加了强制性规范,要求所有地图类产品都必须使用国家测绘局的一种加偏移的算法,对地图的真实坐标进行加偏移处理,之后才可能通过审批准许上市。因此,天朝的所有官方及商用地图的坐标都是偏移的,这种偏移属于非线性的,偏移量在300至500米不等,偏移方向也不定。这种加过偏移的地图坐标就是所谓“火星坐标”。
2、GPS接收机本身接收卫星的信号,计算出本机所在位置的经纬度,在没有做特别处理的时候,这个经纬度是正确的。但是如果GPS支持加载地图的话,这个GPS中的地图就得受上述第一条法规的约束了,所以正式在天朝销售的行货GPS设备中的地图必须也得加偏移,处理成火星坐标。
3、问题来了,如果仅仅是地图搞成火星坐标,但GPS仍然输出真实坐标的话,就会发生GPS的定位(及导航)跟地图不能吻合的问题。于是,只好在GPS软件中设置一个使用同样算法的加偏移功能。GPS先从卫星上得到真实坐标,然后经过加偏移程序转换成火星坐标,由于是同一个算法,所以经过软件加偏移的坐标能跟同样加了偏移的地图吻合,就是“歪到一起”了。这样就可以用GPS正常导航了——但这台GPS设备输出的坐标仍然是火星坐标,放到Google Earth上面是没法正常吻合的。
4、由于Google Earth属于卫星照片,它不是地图,所以不受天朝测绘法的约束,因此Google Earth的坐标是真实坐标。这样,问题又来了,当你使用天朝处理过的GPS导出火星坐标(或航迹),企图把它放到Google Earth上面看看自己都走了哪些路的时候,因为Google Earth照片的坐标是真实的,而你的GPS导出的坐标是火星坐标,二者就对不上号了,你也许会看到在google Earth上,你开着车从别人的楼顶上飞过去,或者打湖里面漂过去。
5、水货GPS因为是洋鬼子的产品,原本并非销往天朝的,洋鬼子不会玩这种加偏移的买卖,所以水货GPS设备,如果使用机器原带的地图的话,得到的坐标(或者航迹)是真实正确的,这就是水货机器的无偏地图。但是洋鬼子的设备中一般没有中文地图,如果你把天朝的官方或者正式发布的商用地图放到水货GPS设备里面的话,就会发生第3条前面说的问题:设备的真实坐标跟天朝特殊地图的火星坐标不吻合——出现偏移——无法正常导航。
6、由于火星坐标的一系列问题,众民间人士根据那个加偏移算法自行折腾出了很多纠正了偏移的地图,这些地图的坐标是正确的。这样的地图拿到水货GPS设备上,因为水货GPS输出的坐标是真实的,所以可以完美配合工作,正确导航定位,并且输出正确的坐标——放到Google Earth上也是正确的。
7、天朝行货GPS设备软件中的加偏移功能,是通过一个所谓空心地图文件(或者28类地图,或者快拼模块)来触发启动偏移程序的,如果用户安装非本机自带的,但属于天朝官方或者正式发布的商用地图,那要配合空心地图文件(或者把地图类别设置为28),从而让GPS软件中的加偏移程序启动,使得GPS输出火星坐标,跟地图的火星坐标吻合,如此才能正常导航——但这台GPS设备输出的坐标仍然是火星坐标,放到Google Earth上面是没法正常吻合的。
8、天朝行货GPS设备,如果要得到真实坐标,使用民间的纠偏地图,就得把那个空心地图文件移除(或把原机自带的28类地图移除/取消,或把同样作用的快拼弄掉),这样GPS设备输出真实的坐标,才能跟纠偏地图的正确坐标吻合,实现正确导航定位,并且输出正确的坐标——放到Google Earth上也是正确的。不过,在天朝行货GPS上不能同时使用火星坐标地图和纠偏地图,否则必然有一个没法正常导航定位。
9、水货GPS设备用民间的简体中文刷机,一般来说也没有那个加偏移程序,所以要使用纠偏地图或者无偏地图。不能使用天朝官方的火星坐标地图,不然就对不上号。

我们拥有以下数据库:
纠偏数据库   百度和谷歌纠偏数据库都有!
精度为0.01:经纬度每变化0.01,取一次偏移值,共980万条,access文件约600mb,误差5~10米。

精度为0.001:经纬度每变化0.001,取一次偏移值,共9亿条,csv文件共20gb,误差约2米。

全国商户数据poi
mapabc地图全国兴趣点poi商户数据共1500多万条,包含地址、电话、经纬度、类别,CSV格式。

如果需要以上数据库,请与我联系:QQ 2640056519

--------------------编程问答-------------------- 楼上说那么多还是解决不了,如果你是基于.NET项目的,直接调用网上提供的C# GPS坐标转换函数即可:
动态库的下载地址:
http://www.ltmonitor.com/blog/?tag=gmap-net --------------------编程问答-------------------- 有搞GOOGLE MAP API 开发的吗,,交流加QQ: 1175441108 --------------------编程问答-------------------- 有免费的纠偏代码为啥不用呢,http://www.zdoz.net --------------------编程问答-------------------- 其实有很多纠偏的方法,比较常用的两种方法是:1.代码纠偏  2.查询纠偏数据库。纠偏数据库一般是收费的精度越高越贵,代码纠偏倒是很方便。而且不用建立数据库。。我找了个代码的下载地址给你    http://www.zdoz.net/interfaces.aspx --------------------编程问答-------------------- http://www.zdoz.net/这里的很好,非常感谢了 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 9 楼 xpxia 的回复:
http://www.zdoz.net/这里的很好,非常感谢了


前段时间对接口进行了优化,现在精度能达到1米以内。。。
补充:移动开发 ,  移动开发其他问题
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,