為什麼谷歌地圖顯示的中國區地圖,道路圖和衛星圖總有公里級的系統偏差?

iOS 中有此問題。未確認是否別的系統也是。

谷歌地圖對其它地方的顯示,比如香港就很正常,到了深圳立刻出現偏差。

補充:

  • 網頁版等沒有定位功能的地圖無此問題
  • iOS 定位時,衛星圖定點基本正確,道路圖有系統性偏差。


試了一下web版沒有這個問題

產生這個問題的原因是國家號稱保密原因,提供的地圖(就是道路圖)本來就有偏差,而需要通過一個國家提供的函數來糾正這個偏差。而衛星圖本來就是拍的照片就不會有這樣的問題。


國家保密插件照成的

具體解釋見在:http://www.williamlong.info/archives/2497.html

裡面也解釋了為什麼會有http://ditu.google.cn和http://map.google.com兩個網站

這是天朝的特色。


為什麼會有偏離,這個原因,凡是做 LBS 系統的人都很清楚,不多說。

不過就測試來看,android 預設帶的 gmap 沒有此問題。

破解版 gmap 中,如果使用解決了中國偏離問題的版本(例如brut或者uvana版),也是沒有問題的。

每當看到這種帖的時候,就覺得 iOs 很可憐。——當然,google肯定是會把更好的版本留給自己親兒子的。這也完全可以理解。


  • 國家提供的測繪地圖數據加入了自己的演算法,不僅會出現衛星圖和測繪圖的不吻合,對GPS定位造成的影響才是最大的。
  • 一些大的GPS廠商都應該是簽署了保密協議獲取了這個偏移修正的演算法才能實現精確的衛星道路導航。
  • Google早期的web版地圖也存在這個問題,不知道是google的工程師破解的了這個演算法(在天朝即使有能力也不能這麼干吧~)還是跟政府簽署了協議,後來的地圖就修正了!
  • 一個哥們兒發現後用一台伺服器用了幾天的時間從google web版地圖爬取了中國所有地區的修正偏移的數據,我曾經拿來在Android上對北京地區做了測試,在西直門附近未修正前便宜200米多,修正後誤差在2米內。


若地圖伺服器在國內,則必須按照國家規定安裝一個地圖保密插件,人為地將某些地區的坐標偏移。這是為了所謂的軍事地理信息保密。


因為有加密演算法,說白了就是一定的位置偏移,所有直接用圖商數據的,都必須和自己的地圖供應商一起到測繪局去取得加密插件,應用源代碼帶過去,用他們提供的插件一起編譯一個動態庫或者類似的,所以理論下任何從手機取得GPS的數據如果直接採用地圖的話都要通過加密插件轉化經緯度坐標才能和加密偏移過的地圖對應上,用google的話,可能google通過mapabc得到了這個加密,幫你把送去的gps轉換過了。


一般http://www.google.com或者.hk/maps,改成http://www.google.cn/maps,即可以克服這個問題。但是如果在APP裡面調用API的,沒法搞了就。原因其他人說的很清楚了,中國區特色。


真想罵人,這個TianChao特色製造了多少麻煩,如今谷歌地圖依然還是便宜,而http://ditu.google.com與http://map.google.com貌似合併了,那如何使用嗎?


http://ditu.google.com 沒有偏差


推薦閱讀:

中國有哪些行政區劃的多邊交匯點?
我為什麼找不到谷歌地圖 (Google Maps) 手機版的離線地圖?
地圖投影怎麼做到按條件(等角、等面積、等距)投影的?
為什麼 Google Earth 的地圖有漂移,而 Google Maps 則沒有?
為什麼飛機飛太平洋大西洋是地圖上看是曲線,而輪船(貌似)都是直線?

TAG:地圖 | Google地圖 | 谷歌Google |