尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
關注我,和600萬差友一起玩轉科技~
今天世超逛知乎的時候,刷到一個很有趣的問題。
把百度地圖上搜的經緯度導入高德地圖上,陸地變海洋了?
無獨有偶,有人在百度地圖上獲取了坐標,往騰訊地圖里一放,也產生了約一公里的誤差。
呃,這是咋回事?
平時瞅著自己用的地圖也沒這麼大的問題啊。
咱們今天就來說說坐標偏移這小破事~
這個事情呢,還要從 GPS ( 全球定位系統 )開始說起。
早在 20 世紀 70 年代,美國為了情報搜集、應急通訊等目的,搞出了一套能在全球範圍內實時進行定位、導航的系統 —— GPS 。
現在,從行車記錄儀到智能穿戴,大家的生活已經離不開 GPS 。
扯回來,有了全球性的定位導航系統,你也要配套一個全球性的坐標系統才能用不是?
於是, WGS84 坐標體系誕生了,它隨 GPS 通用,能正確套到現在大部分基於這套坐標建立的衛星地圖上。
它今天戲份不太重要,大家只需知道有這麼個東西就好。
如果,大家都老老實實用這一個坐標系的話,就不會有今天這篇文章了。。。
有一些國家會使用各自的坐標系,不過跟 WGS-84 都還挺接近的。
基於各種各樣的原因,大陸也採用了自己的坐標系,還跟 WGS-84 差別還挺大。。。
咱們自家的坐標系是國測局坐標系 ( GCJ-02 )。又稱 「 火星坐標系 」 。
並且大陸要求,任何一個地圖產品至少要使用 「 GCJ-02 」 進行首次加密,不允許直接使用原始坐標體系。高德、騰訊等都是用的這個坐標系。
這個 「 GCJ-02 」 又是什麼呢?
簡單來說,它是一個算法,通過一定的公式,對真實坐標系統進行人為加偏處理,將真實的坐標加密成虛假的坐標,將一張地圖 「 換 」 成了另一張地圖。
轉換完成後,地圖上的點會發生幾十到幾百米的偏移。
也就是說,你在手機地圖上的 GPS ,可能跟你真實的 GPS 坐標有好幾百米的誤差。。。
別以為這事這樣就完了。。。
本來大家都加上這個 「 GCJ-02 」 就都能用了。
嗯,本來。。。
事實上,到了不同的地圖公司,這事又發生了變化。
部分公司會在 GCJ-02 的基礎上再次加密。而且自己加密出來的坐標並不通用,只適用於特定公司的地圖。
像百度,就偏要再騷一下,在 GCJ-02 要求加密的基礎上,又通過自己的加密算法 BD-09 又對坐標加密了一次。
說到這里,大家都知道開頭烏龍的原因了吧?
同一個坐標,在百度地圖是陸地,到了高德地圖可能就跑到了海里,再往Google地圖里一放,跟前兩個點都有好幾百米誤差。
同一坐標在不同地圖上產生了偏移,並非是地圖出了問題,而是不同的地圖採用了不同的坐標系。
到這里,可能還有些差友還沒反應過來。。。
地圖是偏移的,但是為毛用手機地圖的時候根本沒感覺到呢?!
因為除了對手機地圖加偏外,用戶的定位也被加偏處理後再顯示在地圖上。相關坐標都被同一算法給加偏後,兩者完全匹配, GPS 也就可以正常工作。
好了,以後大家身邊的人遇到這樣的事情。
可以小小的裝一波 X 給他們解釋一下了。。。
參考資料https://blog.csdn.net/jiang117/article/details/48031927圖片來源Google知乎
感謝閱讀~
歡迎點讚、評論,分享你的觀點~