互联网地图坐标偏移的解决方法
根据中国的相关法规,在国内发行的民用地图产品不允许使用真实坐标,必须加入一定偏移(出于国家安全考虑)。由于是相对偏移,并不会影响用户的使用。这种偏移是通过测绘部门的国家保密插件来实现的。
国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为地加偏处理,按照几行代码的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏,所以各地的偏移情况有所不同。所有电子地图所有导航设备,都需要加入国家保密插件。第一步,地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标的电子地图,加密成“保密坐标“,这样的地图才是可以出版和发布的,然后才可以让GPS公司处理。第二步,所有GPS公司,只要需要汽车导航的,需要用到导航电子地图的,统统需要在软件中加入国家保密算法,将Com口读出来的真实的坐标信号,加密转换成国家要求的保密的坐标,这样,GPS导航仪和导航电子地图就可以完全匹配,GPS也就可以正常工作。目前中国的几家互联网地图公司(百度地图、搜狗地图、谷歌地图、Mapbar等)也模仿国家加密的做法,在国家加密的基础上又加入了自己的加密量,目的是防止竞争对手抓取、分析自家的数据。地图的偏移算法通常有几种:一种是线性偏移,这种偏移算法容易被破解,使用不多;另一种非线性,在不同的区域,偏移的值和方向各有不通(如偏移字典)。因此破解地图偏移最常见的一种做法是:同名点计算。即知道不同地图上相同点的坐标,再计算这些点坐标之间的差值。这种方法就依赖于同名点数量和分布程度。去年我在一个项目中需要使用Gmap和GPS,就破解Gmap的坐标偏移,相关代码请见https://github.com/brightman/lbs 欢迎大家完善,将其它几家互联网地图破解算法也包含进来
🙂
转载自:https://blog.csdn.net/e_wsq/article/details/8247827