為什麼在使用Google Maps應用時沒有漂移,但使用其他應用的內嵌Google Maps時產生了漂移?

Android手機在使用內置的Google Maps應用時很少,幾乎是從未發生過定位漂移的情況,即使是不打開GPS定位,與真實位置的偏差也不會超過20m,切換到衛星視圖情況亦是如此。而使用其他的應用(如Nike+ Running, Runtastic Mountain Bike, Ingress, etc..)內嵌的Google Maps的地圖視圖定位時,均會產生1-2km的漂移,而切換到衛星視圖時(Ingress Android版無衛星視圖)漂移的情況又消失了,基本與實際位置的偏差在20米以內,為什麼會發生這種情況?


我們獲得的GPS信號是準確無疑的。美國早就取消了民用頻段的加擾,而通過特定方法且長時間(以天計算)的民用頻段GPS觀測,可以達到幾厘米的精度。

那麼問題便出在地圖上。

-

考慮地圖的來源。衛星圖是用衛星拍的,衛星所在的太空不屬於特定國家,接收衛星信號的地面站可以在地球任何地方。所以它在物理可以不受到我國政府的管轄。所以衛星地圖是乾淨的。

-

有標註的我國地圖的來源只能是(經過)測繪局(審查)。非國內的個人/機構不被授予測繪的權力,而中國公民也不被授予測繪的權利。

-

這麼一來,這些被標註的地圖上便有機會留下測繪部門的手腳,實際上,它們使用了被戲稱為「火星坐標」的加擾坐標。它與實際正確的坐標有一個方向不特定,距離約為數百米(我不清楚具體處於多少範圍)的誤差。火星坐標的演算法是不公開的。

-

測繪部門的本意是通過它控制民用數字地圖的命脈(如要求只能把包含演算法的二進位文件放在境內伺服器上)。因為缺少演算法,人們會用一個包含大量同一位置的正確坐標與火星坐標的樣本資料庫來估計指定位置兩種坐標之間的差值,從而近似消除這種人為的偏移。我們可以在網上看到多種提供了源代碼的實現方法。

-

從這個意義上說,使用火星坐標沒有起到應有的(保密)效果,實際上它更多地行使了貿易壁壘的作用(法律上禁止國外機構/個人進行測繪,技術上限制火星坐標演算法的出口/向外資機構許可)。


簡單的說,

APP應用已經消除了偏移 進行了修正顯示, 所以看到GPS和圖層是對應的,

而直接調用圖層 則因為國家政策的原因,是有偏移現象的,

付款=不偏移 不付款直接調用圖層=偏移


推薦閱讀:

如何下載 50 年前自己家鄉的高清衛星照片
中國村莊名稱尾字圖
【No.04】鮮為人知的中國境內飛地(中篇:華東華中華南)
廈門地圖·原來你在這裡
情人節帶你愛的她,去這旅行吧!

TAG:地圖 | Google地圖 | Android手機 | 應用程序Application | 谷歌Google |