開(kāi)發(fā)者 | WGS84、GCJ-02、BD-09都是什么鬼?

前言

  • 開(kāi)發(fā)地圖應(yīng)用服務(wù)時(shí),一定會(huì)接觸到各種坐標(biāo)系,而保證坐標(biāo)系的正確與合理是一切數(shù)據(jù)分析的前提。
  • 這篇文章就梳理了一些常見(jiàn)的地理坐標(biāo)系,希望能幫上忙。

1、地理坐標(biāo)系與投影坐標(biāo)系

總的來(lái)說(shuō),坐標(biāo)系可以分為兩大類:地理坐標(biāo)系(Geographic Coordinate System, GCS)和投影坐標(biāo)系(Projected Coordinate System, PCS),地理坐標(biāo)系進(jìn)行地圖投影后就變成了投影坐標(biāo)系。例如我們常見(jiàn)的世界地圖,使用的就是一種 墨卡托投影。

墨卡托投影下的世界地圖

其中地理坐標(biāo)系又可分為 參心坐標(biāo)系地心坐標(biāo)系,常見(jiàn)的參心坐標(biāo)系北京54、西安80,常見(jiàn)的地心坐標(biāo)系有WGS84、GCJ-02、BD-09、GCS2000,這篇文章的側(cè)重點(diǎn)是地心坐標(biāo)系,其他內(nèi)容不再贅述,有興趣可以參考相關(guān)文章:

坐標(biāo)系分類

2、地心坐標(biāo)系

2.1 WGS84(World Geodetic System 1984)

WGS84是為 GPS 全球定位系統(tǒng)建立的坐標(biāo)系統(tǒng),是世界上第一個(gè)統(tǒng)一的地心坐標(biāo)系,因此也被稱為大地坐標(biāo)系、原始坐標(biāo)系。一般通過(guò)GPS記錄儀記錄下來(lái)的經(jīng)緯度,就是基于WGS84坐標(biāo)系的數(shù)據(jù)。

2.2 GCJ-02(國(guó)家測(cè)量局02號(hào)標(biāo)準(zhǔn))

GCJ-02 是由中國(guó)國(guó)家測(cè)繪局(G表示Guojia國(guó)家,C表示Cehui測(cè)繪,J表示Ju局)制訂的地理信息系統(tǒng)的坐標(biāo)系統(tǒng),是在WGS84經(jīng)緯度的基礎(chǔ)上執(zhí)行加密算法而成。因?yàn)镚PS得到的經(jīng)緯度直接在 GCJ-02 坐標(biāo)系下會(huì)定位到錯(cuò)誤的地點(diǎn),有種到了火星的感覺(jué),因此在坊間也將 GCJ-02 戲稱為火星坐標(biāo)系

國(guó)測(cè)局規(guī)定,國(guó)內(nèi)出版的各種地圖系統(tǒng)(包括電子形式),必須至少采用 GCJ-02 對(duì)地理位置進(jìn)行首次加密的坐標(biāo)系,高德和Google在國(guó)內(nèi)都是使用 GCJ-02 坐標(biāo)系,而百度使用的是在 GCJ-02 基礎(chǔ)上再一次加密的 BD-09 坐標(biāo)系。

舉個(gè)例子,北京天安門(mén)中心的GPS經(jīng)緯度是39°54'26.2"N,116°23'28.4"E,轉(zhuǎn)化為度的單位就是39.907270, 116.391213(提示:小數(shù)部分 = 分 / 60 + 秒 / 3600),我們?cè)诠雀璧貓D(或高德地圖)里定位到這個(gè)經(jīng)緯度看看:

谷歌地圖定位到天安門(mén) GPS 坐標(biāo)

可以明顯觀察到偏移,現(xiàn)在我們將 GPS 坐標(biāo)轉(zhuǎn)換為 GCJ-02 坐標(biāo):116.397454,39.908671,再定位一次:

谷歌地圖定位到天安門(mén)的 GCJ-02坐標(biāo)

需要注意的是,如果切換到谷歌地圖的衛(wèi)星地圖模式,它使用的是WGS84坐標(biāo)系哦,此時(shí)使用天門(mén)門(mén)的 GPS 坐標(biāo)可以定位到正確位置,如下所示:

谷歌衛(wèi)星地圖定位到天安門(mén)的 GPS 坐標(biāo)

主流地圖在各個(gè)地區(qū)使用的坐標(biāo)系(數(shù)據(jù)出處:百度高德

地圖 大陸/港/澳 臺(tái)灣省 海外
高德 GCJ-02 WGS84 WGS84
Google GCJ-02 WGS84 WGS84
百度 BD-09 / GCJ-02 BD-09 / GCJ-02 WGS84

3、坐標(biāo)系轉(zhuǎn)換

國(guó)測(cè)局規(guī)定:互聯(lián)網(wǎng)地圖在國(guó)內(nèi)必須至少使用 GCJ02 進(jìn)行首次加密,不允許直接使用 WGS84 坐標(biāo)下的地理數(shù)據(jù),同時(shí)任何坐標(biāo)系均不可轉(zhuǎn)換為 WGS84 坐標(biāo)。因此不存在將 GCJ-02 坐標(biāo)轉(zhuǎn)換為 WGS84 坐標(biāo)的官方轉(zhuǎn)換方法。

3.1 轉(zhuǎn)換為高德坐標(biāo)

3.2 轉(zhuǎn)換為百度坐標(biāo)


3.3 非官方轉(zhuǎn)換方法

因?yàn)?高德和百度 SDK 沒(méi)有提供從 GCJ-02 坐標(biāo)轉(zhuǎn)換為 WGS84 的方法,或者你不希望集成 SDK 來(lái)轉(zhuǎn)換坐標(biāo)系,可以參考這篇文章


相關(guān)資源


推薦閱讀


2020 永遠(yuǎn)不要放棄希望,祝愿大家都能夠平安健康!武漢加油!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容