google地图中经纬度的纠偏问题与算法

      最近在做一个关于GPS系统定位的项目时,发现地图和卫星图与实际的地点存在着偏差量。最后通过收索得知,这是由于受到国家一些法律法规限制,所有的电子地图服务提供商都需要给地图数据加上偏移和加密,包括大家关注的google地图也不例外。 

      在调用http://maps.google.com/maps这个地图时,卫星图是对的,但地图显示的是错误的与卫星图和实际位置之间有差异。当在调用http://ditu.google.cn/maps这个地图时,卫星和地图虽然显示的是一样的,但与实际的位置都有所差异,所以要解决这些问题就要用一些网上强人破解google map偏移的方法。最后经过整理,下面是我整理的接口 

      Google 中国地图偏移接口

 接口地址:http://ditu.google.cn/maps/api/js?sensor=false&Language=zh-CN   (注:.cn和.com都可以,我用的是国内服务器就会选择.cn、用美国服务器就会选择.com)

     其具体算法是

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地图上显示正确位置了。

注:1.其中算法的数据需要下载中国地图经纬度偏移修正数据库。关于精确度为0.1的Google地图纠偏参数表精确度的下载地址:http://www.cnblogs.com/myj98/admin/Files.aspx 

2.精度为0.1:经纬度每变化0.1,取一次偏移值,共9万多条,access文件约4.62mb,误差10~500米。   

3.精度为0.01:经纬度每变化0.01,取一次偏移值,共980万条,access文件约600mb,误差5~10米。   

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

posted @ 2012-12-17 14:41  缘而园  阅读(2672)  评论(0)    收藏  举报