本文主要講述地理坐標(biāo)系統(tǒng)的原理以及怎么利用Python進(jìn)行地理坐標(biāo)系統(tǒng)轉(zhuǎn)換,主要內(nèi)容包含以下幾塊:
- 什么是地理坐標(biāo)系統(tǒng)士败?
- 常用的地理坐標(biāo)系統(tǒng)有哪些述召?
- 常用地圖產(chǎn)品分別是什么地理坐標(biāo)系心铃?
- 怎么樣利用Python實(shí)現(xiàn)地理坐標(biāo)系的轉(zhuǎn)換满着?
- 如何對(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)有:
- 地球坐標(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)的空間位置。
西安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ā)揮了巨大作用。
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)換粥脚。
地方獨(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)證步驟為:
- 在A坐標(biāo)系的地圖產(chǎn)品下拾取5個(gè)坐標(biāo)點(diǎn)序臂;
- 利用代碼對(duì)5個(gè)坐標(biāo)點(diǎn)進(jìn)行A坐標(biāo)系到B坐標(biāo)系的轉(zhuǎn)換蚌卤;
- 在B坐標(biāo)系地圖產(chǎn)品下同樣拾取這5個(gè)位置的坐標(biāo)點(diǎn);
- 計(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í)的誤差均值可能比看到的誤差還要再小。