利用Python進(jìn)行地理坐標(biāo)系統(tǒng)的轉(zhuǎn)換

本文主要講述地理坐標(biāo)系統(tǒng)的原理以及怎么利用Python進(jìn)行地理坐標(biāo)系統(tǒng)轉(zhuǎn)換,主要內(nèi)容包含以下幾塊:

  1. 什么是地理坐標(biāo)系統(tǒng)士败?
  2. 常用的地理坐標(biāo)系統(tǒng)有哪些述召?
  3. 常用地圖產(chǎn)品分別是什么地理坐標(biāo)系心铃?
  4. 怎么樣利用Python實(shí)現(xiàn)地理坐標(biāo)系的轉(zhuǎn)換满着?
  5. 如何對(duì)轉(zhuǎn)換后的精確度進(jìn)行驗(yàn)證谦炒?

介紹一個(gè)能夠不寫(xiě)代碼就進(jìn)行地理坐標(biāo)系轉(zhuǎn)換的軟件。

一风喇、什么是地理坐標(biāo)系統(tǒng)

用一張圖來(lái)解釋什么是地理坐標(biāo)系統(tǒng)宁改。

上圖中紅色實(shí)線圈為地球自然表面,由于地球自然表面坑坑洼洼魂莫、凹凸不平还蹲,所以在進(jìn)行精準(zhǔn)測(cè)量和定位的時(shí)候是不能直接用數(shù)據(jù)公式來(lái)擬合地球表面的。

這時(shí)耙考,用一個(gè)可以近似表示地球表面的規(guī)則的橢圓(如上圖中的藍(lán)色虛線框所示)來(lái)進(jìn)行地球表面的定位和測(cè)量谜喊,這個(gè)規(guī)則的三維球面就是地球橢球體。

但是倦始,地球表面高低起伏不平斗遏,造成地球橢球體與地球自然表面在有的地方能夠十分貼合,在有的地方則不是很貼合楣号,這會(huì)造成測(cè)量及定位地誤差最易。

所以怒坯,需要在地球橢球體以及地球自然表面之間加一層中間層炫狱,使其能夠盡量貼合真實(shí)的地球表面藻懒,那這中間層就是大地基準(zhǔn)面(如圖中綠色實(shí)線圈所示),其可以理解為在特定區(qū)域內(nèi)與地球自然表面極為吻合的橢球體视译。

地球上各個(gè)地方的地理位置及環(huán)境都是獨(dú)一無(wú)二的嬉荆,為了滿足當(dāng)?shù)販y(cè)量及定位的精度要求,全世界的地理學(xué)家們建立了無(wú)數(shù)個(gè)適合當(dāng)?shù)氐拇蟮鼗鶞?zhǔn)面酷含。

地理坐標(biāo)系統(tǒng)就是由大地基準(zhǔn)面衍生而來(lái)的鄙早,其是使用三維球面來(lái)定義地球表面位置,以實(shí)現(xiàn)通過(guò)經(jīng)緯度對(duì)地球表面點(diǎn)位引用的坐標(biāo)系椅亚。

一個(gè)地理坐標(biāo)系包括角度測(cè)量單位限番、本初子午線和基準(zhǔn)面三部分。一個(gè)大地基準(zhǔn)面可以對(duì)應(yīng)多個(gè)地理坐標(biāo)系統(tǒng)呀舔,而一個(gè)地理坐標(biāo)系統(tǒng)只能對(duì)應(yīng)一個(gè)大地基準(zhǔn)面弥虐。(這邊為了方便理解,沒(méi)有加入大地水準(zhǔn)面的概念)

同一個(gè)坐標(biāo)點(diǎn)在不同地理坐標(biāo)系的地圖上媚赖,會(huì)落在不同的區(qū)域霜瘪;同一個(gè)地點(diǎn)獲取不同地理坐標(biāo)系下的坐標(biāo)數(shù)據(jù),值不相同惧磺。

因此颖对,在地圖制圖以及空間分析之前,先要了解坐標(biāo)點(diǎn)以及地圖的地理坐標(biāo)系統(tǒng)磨隘。

二缤底、常用的地理坐標(biāo)系統(tǒng)有哪些?

常用地圖產(chǎn)品的地理坐標(biāo)系統(tǒng)有:

  1. 地球坐標(biāo)系(WGS-84)WGS-84是國(guó)際通用坐標(biāo)系番捂,也叫地球坐標(biāo)系训堆,GPS系統(tǒng)就是采用的WGS-84。WGS-84對(duì)于具體地方的位置描述可能不如當(dāng)?shù)刈鴺?biāo)系來(lái)的準(zhǔn)確白嘁,但是它對(duì)全球范圍內(nèi)的位置估計(jì)更準(zhǔn)確坑鱼。

在中國(guó)范圍內(nèi),一般不直接使用WGS-84絮缅,而是使用由國(guó)家測(cè)繪局在WGS-84基礎(chǔ)上加密的火星坐標(biāo)系(GCJ-02)鲁沥,或者使用企業(yè)在GCJ-02上二次加密的坐標(biāo)系,例如百度坐標(biāo)系(BD-09)耕魄、搜狗坐標(biāo)系等画恰。

2.北京54坐標(biāo)系(BJ-54)BJ-54是建國(guó)初期提出的地理坐標(biāo)系,因此在早期有比較廣泛的運(yùn)用吸奴,有一定比例的數(shù)據(jù)使用的是BJ-54允扇。

從現(xiàn)代的眼光看缠局,它并不能十分準(zhǔn)確地表達(dá)我國(guó)國(guó)境內(nèi)的空間位置。

  1. 西安80坐標(biāo)系(XIAN-80)XIAN-80由于后期意識(shí)到BJ-54的不足考润,我國(guó)1978年4月在西安召開(kāi)全國(guó)天文大地網(wǎng)平差會(huì)議狭园,確定重新定位,建立的我國(guó)新地理坐標(biāo)系糊治,它在中國(guó)經(jīng)濟(jì)建設(shè)唱矛、國(guó)防建設(shè)和科學(xué)研究中發(fā)揮了巨大作用。

  2. 2000國(guó)家大地坐標(biāo)系(CGCS-2000)CGCS-2000我國(guó)當(dāng)前最新的國(guó)家大地坐標(biāo)系井辜。2018年绎谦,我國(guó)國(guó)土資源系統(tǒng)全面采用CGCS-2000,并要求各類(lèi)國(guó)土資源數(shù)據(jù)向CGCS-2000進(jìn)行轉(zhuǎn)換粥脚。

  3. 地方獨(dú)立坐標(biāo)系許多城市窃肠、礦區(qū)基于實(shí)用、方便與科學(xué)的目的刷允,建立了地方坐標(biāo)系冤留。

國(guó)內(nèi)地圖產(chǎn)品的地理坐標(biāo)系集中于CGCS-2000、GCJ-02以及一些對(duì)GCJ-02加密的商業(yè)坐標(biāo)系恃锉,國(guó)外地圖產(chǎn)品的地理坐標(biāo)系則基本是WGS-84搀菩,下表羅列了常用地圖產(chǎn)品的地理坐標(biāo)系,供大家參考破托。

三肪跋、利用Python實(shí)現(xiàn)地理坐標(biāo)系統(tǒng)的轉(zhuǎn)換

本節(jié)主要介紹怎么利用Python實(shí)現(xiàn)常用地理坐標(biāo)系統(tǒng)之間的轉(zhuǎn)換,并對(duì)轉(zhuǎn)換結(jié)果進(jìn)行精度檢驗(yàn)土砂。

話不多說(shuō)州既,先上Python代碼。

設(shè)置常量:


經(jīng)緯度計(jì)算功能類(lèi):


簡(jiǎn)單判斷坐標(biāo)點(diǎn)是否在中國(guó)范圍內(nèi):


WGS-84轉(zhuǎn)換為GCJ-02:


GCJ-02轉(zhuǎn)換為WGS-84:


GCJ-02轉(zhuǎn)換為BD-09


GCJ-02轉(zhuǎn)換為BD-09:


WGS-84轉(zhuǎn)換為BD-09:


BD-09轉(zhuǎn)換為WGS-84:


坐標(biāo)轉(zhuǎn)換功能包使用方法:


輸出結(jié)果:


5. 如何對(duì)轉(zhuǎn)換后的精確度進(jìn)行驗(yàn)證萝映?

接下來(lái)吴叶,對(duì)上述地理坐標(biāo)系轉(zhuǎn)換代碼的精確度進(jìn)行驗(yàn)證,具體的驗(yàn)證步驟為:

  1. 在A坐標(biāo)系的地圖產(chǎn)品下拾取5個(gè)坐標(biāo)點(diǎn)序臂;
  2. 利用代碼對(duì)5個(gè)坐標(biāo)點(diǎn)進(jìn)行A坐標(biāo)系到B坐標(biāo)系的轉(zhuǎn)換蚌卤;
  3. 在B坐標(biāo)系地圖產(chǎn)品下同樣拾取這5個(gè)位置的坐標(biāo)點(diǎn);
  4. 計(jì)算轉(zhuǎn)換后坐標(biāo)點(diǎn)與真值坐標(biāo)點(diǎn)的偏移距離奥秆,并計(jì)算平均偏移距離逊彭。

其中,WGS-84坐標(biāo)系的地圖產(chǎn)品是OpenStreetMap构订,GCJ-02坐標(biāo)系的地圖產(chǎn)品是高德地圖侮叮,BD-09坐標(biāo)系的地圖產(chǎn)品是百度地圖。

以下為選擇的5個(gè)坐標(biāo)點(diǎn)

坐標(biāo)點(diǎn)1. 北京西路與石門(mén)一路交叉口:


坐標(biāo)點(diǎn)2. 嘉定梅園路與塔城路交叉口:


坐標(biāo)點(diǎn)3. 白石公路與外青松公路交叉口:

坐標(biāo)點(diǎn)4. 賢浦路與金大公路交叉口:


坐標(biāo)點(diǎn)5. 臨港達(dá)到與環(huán)湖西三路交叉口


以下為精確度計(jì)算過(guò)程表:


通過(guò)上表可以得到:

  • WGS-84 => GCJ-02的誤差均值是8.9米
  • WGS-84 => BD-09的誤差均值是7.6米
  • GCJ-02 => WGS-84的誤差均值是8.2米
  • GCJ-02 => BD-09的誤差均值是3.9米
  • BD-09 =>WGS-84的誤差均值是7.2米
  • BD-09 => GCJ-02的誤差均值是3.9米

三個(gè)坐標(biāo)系之間轉(zhuǎn)換公式的誤差均值都在10米以下悼瘾,在能夠使用的合理范圍之內(nèi)囊榜。由于不同地圖產(chǎn)品之間存在一定的差異以及在拾取坐標(biāo)的時(shí)候存在一定的誤差审胸,真實(shí)的誤差均值可能比看到的誤差還要再小。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卸勺,一起剝皮案震驚了整個(gè)濱河市砂沛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孔庭,老刑警劉巖尺上,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件材蛛,死亡現(xiàn)場(chǎng)離奇詭異圆到,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卑吭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)芽淡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人豆赏,你說(shuō)我怎么就攤上這事挣菲。” “怎么了掷邦?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵白胀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我抚岗,道長(zhǎng)或杠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任宣蔚,我火速辦了婚禮向抢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胚委。我一直安慰自己挟鸠,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布亩冬。 她就那樣靜靜地躺著艘希,像睡著了一般。 火紅的嫁衣襯著肌膚如雪硅急。 梳的紋絲不亂的頭發(fā)上覆享,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音铜秆,去河邊找鬼淹真。 笑死,一個(gè)胖子當(dāng)著我的面吹牛连茧,可吹牛的內(nèi)容都是我干的核蘸。 我是一名探鬼主播巍糯,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼客扎!你這毒婦竟也來(lái)了祟峦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤徙鱼,失蹤者是張志新(化名)和其女友劉穎宅楞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體袱吆,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厌衙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了绞绒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婶希。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蓬衡,靈堂內(nèi)的尸體忽然破棺而出喻杈,到底是詐尸還是另有隱情,我是刑警寧澤狰晚,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布筒饰,位于F島的核電站,受9級(jí)特大地震影響壁晒,放射性物質(zhì)發(fā)生泄漏瓷们。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一讨衣、第九天 我趴在偏房一處隱蔽的房頂上張望换棚。 院中可真熱鬧,春花似錦反镇、人聲如沸固蚤。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夕玩。三九已至,卻和暖如春惊豺,著一層夾襖步出監(jiān)牢的瞬間燎孟,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工尸昧, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揩页,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓烹俗,卻偏偏與公主長(zhǎng)得像爆侣,于是被迫代替她去往敵國(guó)和親萍程。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355