地理空間座標系統-系統化理解地理空間座標系統

在產品線各個系統開發實施的過程中,發現我們大部分人對座標轉換這一塊都處於道聽途說、霧裏看花、似懂非懂情況,溝通時誇誇其談、要實際解決問題時相互推脫、一臉懵逼。在網上查了一下,也沒有發現對這塊有系統整理和歸納的東西,還專門找了一下這方面的書,都沒有看到自己想要的東西。決定系列化的整理一下這方面的知識,不足和錯誤之處各位行業內的朋友請多指導。

【問題收集】

在國內這塊聽到最多的名詞有以下:“北京54座標”、“西安80座標”、“國家2000座標”、“WGS84座標”、“經緯度座標”、“平面座標”、“百度座標系”、“火星座標”、“GCJ02座標”、“加偏移座標”、“三維座標”、“本地座標”、“地圖投影”、“高程擬合”、“七參數轉換”、“四參數轉換”、“三參數轉換”等等。聽着這些名詞已經一頭霧水了,再把手裏的座標點在地圖一顯示大多數人可能會奔潰。同一位置座標點的值爲什麼不一樣?同一個位置怎麼有這麼多座標值?本來很近的兩個位置,爲你給我的座標點,我在地圖上顯示都跑出地圖顯示範圍了,等等。

【文章目標】

從自己以往的學習工作經驗和踩過的坑中,總結經驗,系統化的梳理地理空間座標的相關知識,讓這一塊比較凌亂的知識,變的調理清楚、通俗易懂,讓後來者少走彎路。

ready go……通篇從座標系的梳理開始。【開始】

北京54座標系:爲參心大地座標系,大地上的一點可用經度L54、緯度M54和大地高H54定位,它是以克拉索夫斯基橢球爲基礎,經局部平差後產生的座標系。……

西安80座標系:是採用國際大地測量與地球物理聯合會(IUGG)第十七屆大會推薦的橢球參數,大地座標原點在陝西省涇陽縣永樂鎮的大地座標系,又稱西安座標系.……

WGS84座標系:一種國際上採用的地心座標系。座標原點爲地球質心,其地心空間直角座標系的Z軸指向BIH (國際時間服務機構)1984.0定義的協議地球極(CTP)方向,X軸指向BIH 1984.0的零子午面和CTP赤道的交點,Y軸與Z軸、X軸垂直構成右手座標系,稱爲1984年世界大地座標系統。……

CGC2000座標系:2000國家大地座標系,是我國當前最新的國家大地座標系,英文名稱爲China Geodetic Coordinate System 2000,英文縮寫爲CGCS2000。……

火星座標系:也叫國測局座標系或GCJ-02座標系,是由中國國家測繪局(G表示Guojia國家,C表示Cehui測繪,J表示Ju局)制訂的地理信息系統的座標系統。它是一種對經緯度數據的加密算法,即加入隨機的偏差。國內出版的各種地圖系統(包括電子形式),必須至少採用GCJ-02對地理位置進行首次加密。……

百度座標系:也叫BD09,是在GCJ02座標系基礎上再次加密。其中bd09ll表示百度經緯度座標,bd09mc表示百度墨卡托米制座標。……。

在國內,這幾種座標系是我們最常見,也是聽到最多的。那麼這幾種座標系到底是什麼意思,估計大部分人在溝通過程中,這幾個名詞都可以叫的非常響亮,侃侃而談。等拿到一堆座標點或一個空間數據時,進行空間定位、疊加展示、座標比對是時,往往是各種迷惑,顯示的位置會差這麼遠?上網一搜,相關資料一大堆,各種搗騰之後結果就是不對(代碼無從下手、工作軟件座標轉來轉去)。挫敗感、失落悠然而生。說實在的真佩服哪些能侃侃而談之人,也爲使用這些知識的我們感到悲哀。難到就不能系統化的梳理一下地理空間座標的相關知識,讓這些知識儘量變的系統化、有條理、邏輯清晰、通俗易懂。

梳理思路-複雜的問題、找主幹,有了主幹,梳理分支。

【1】找主幹,地理空間座標系相關知識的主幹是什麼了?認真思考這個問題,結合這麼多年的經驗,我把地理空間座標系,分成以下幾種類型:大地球面座標系(大地座標系)、大地空間直角座標、大地投影座標系、大地平面直角座標系。(至於什麼參心座標系、地心座標系之類的先不考慮, 這些東西是專門研究給地球定義座標系的人關注的東西,對我們來說我們只需要一個原點和座標系幾個軸的方向)。

大地球面座標系:是三維座標系的一種,用以確定三維空間中點、線、面以及體的位置,它以座標原點爲參考點,由方位角、仰角和距離構成。不難看出我們平常說的經緯度座標系(大地座標系)其實是球面座標系的一個簡單變種。那麼再來看確定一個球面座標系的四個基本要素:“原點”、“方位角”、“仰角”、“距離”。基於此不難理解,球面座標系四個基本要素不同,那麼就定義了不同的球面座標系。反過來再看,北京54座標系、西安80座標系、WGS84座標系、國家2000座標等等,看這些座標系的相關資料大家往往是一頭污水,感覺很高大上,不過不要緊,我們還是在其中找重點。在這些座標系的定義中,我們都能發現各自的參考橢球定義或座標原點。據此我們是不是能發現什麼呢?是的,北京54座標系、西安80座標系、WGS84座標系、國家2000座標等等只要發現球面座標系四個基本要素不同,那麼就可以肯定它具有自己獨立的球面座標系,也就是具有自己獨立的大地座標系(地球上同一個點,採用不同的大地座標系,那麼這個點的經緯度的值會不同)。因此針對我們拿到的經緯度的座標點在國內,它存在以下幾種可能(幾種大地座標):【北京54大地球面座標點】、【西安80大地球面座標點】、【WGS84大地球面座標點】、【國家2000大地球面座標點】等。經緯度座標實際表示的是把高低不平的地球表面上的一點壓平到上述幾種大地座標系參考橢球的表面,這個點在這個規則的橢球上對應的二維球面座標。此出可能會有一些疑問,經度和緯度的值可以認爲對應的是球面座標系中“方位角”和“仰角”,那距離呢?在人們的直觀感官中,我們生活的世界是一個三維空間,只用經緯度表示這個世界中的一點似乎不夠準確。有了經緯度,結合參考橢球的長短半軸,雖然可以算出參考橢球表面某個位置到原點的距離,但這樣的距離和實際誤差太大(喜馬拉雅山8848米,馬裏亞納海溝深:11034米),對我們人類從事生產活動基本沒有太大價值,因此在距離這塊,結合我們人類實際生產過程中使用的高程,變向的使用大地高程來表示。“經度”、“緯度”、“高程”,對應球面座標系中的“方位角”、“仰角”、“距離”。大地球面座標系的三個單位除大地高程使用長度單位外,經緯度都使用角度計量。

大地空間直角座標系:以地球質心爲原點建立的空間直角座標系,或以球心與地球質心重合的地球橢球面爲基準面所建立的大地座標系。空間直角座標系的座標原點位於參考橢球的中心,Z軸與橢球的旋轉軸一致,指向參考橢球的北極; X軸指向起始子午面與赤道的交點,Y軸位於赤道面上,按右手系與X軸正交成90“夾角(也存在按左手系約定X,Y,Z方向的可能)。再反返回來看北京54座標系、西安80座標系、WGS84座標系、國家2000座標等等的定義。發現這些座標系的定義中都明確了它們自己的座標系原點,那麼是不是就存在:【北京54空間大地直角座標點】、【西安80空間大地直角座標點】、【WGS84空間大地直角座標點】、【國家2000空間大地直角座標點】等可能,而且地球上同一個位置這幾種類型的空間直角座標點的值不同,答案當然是肯定的(原點不同、XYZ三個軸的方向不同)。所以針對地球上一個固定位置,我們拿到的XYZ的值也可能存在不同。要搞懂這些XYZ值的意義,必須弄清楚座標系的原點和各軸的方向。

大地投影座標系:在地球橢球面和平面之間建立點與點之間函數關係的數學方法,稱爲地圖投影。地球是一個赤道略寬兩極略扁的不規則的梨形球體,而且其表面高低不平,要把這樣一個地球表面展開在一個平面上,不可避免的就會發生變形(包括裂隙或褶皺)。根據不同的投影需求,數學家研究了一系列的數學方法,通過對經緯線進行有規律的“拉伸”或“壓縮”,最終將地球表面顯示在平面上(這些數學方法也就是我們所說的投影算法),不管採用那種算法這種顯示相對真實的地球表面都存在變形。投影的變形通常有:長度變形、面積變形和角度變形。因此不同的使用需求,需要選用與之相匹配的投影算法。 地球橢球面和投影算法是大地投影座標系建立的必備條件,投影后形成的平面座標系就是目標地球橢球採用某個投影算法進行投影后形成的與之對應的大地投影座標系。 大地投影座標系,是一種平面座標系,其上某點位置通常使用x,y表示,單位使用長度度量單位(常見米、公里)。投影算法是非常多的,我目前經常遇到的主要有:墨卡託投影座標系、高斯投影座標系(3度、6度)。互聯網地圖如:高德、百度、搜狗、google等一般都使用的是墨卡託投影。這種投影方式長度越接近赤道,變形越小,南北兩極變形最大,角度無變形。高斯克呂格投影,選擇的分帶值越小所在帶範圍內的長度越接近地球表面真實長度。因此在國家層面(或大範圍)大比例尺地圖中一般都採用高斯投影算法進行投影來構建國家統一的平面座標系,然後各地再按當地所在的投影帶,基於國家級控制點得來的轉換參數通過平面座標轉換,就可以將當地座標系與國家級統一座標系通過數據算法建議對應的映射規則滿足相互互轉的需求。我國地圖基本比例尺投影如下:

大地平面直角座標系:對應市政工程測量中的城市座標系或地方獨立座標系。由於國家控制網的精度只能滿足中小比例尺測圖的的精度要求,在市政建設中,勘察設計、工程放樣、施工管理、地形測繪、地籍測量等測繪數據的精度往往要求是非常高的,國家控制網精度難以滿足,因此各地都根據自己本地的區域分佈和地形特徵構建了高精度的地方獨立座標系(城市座標系),這類座標系一般用二維平面直角座標和相對高程來描述。地方獨立座標系通過控制點(或轉換參數)與國家統一座標系進行關聯,據此形成國家統一座標系和地方獨立座標系之間的互轉。那麼國家統一的大地平面直角座標系是什麼了?此處也是比較繞的,地球是一個不規則的橢球,全國統一的平面座標系是怎麼樣的了?答案就是高斯投影加座標偏移,通過高斯投影將地球橢球分成以各個中央經線爲X軸的平面座標系,據此將各地獨立座標系在全國範圍關聯起來。形成全國統一平面座標系。由於高斯投影座標距離中央經線越遠的地方變形越大,每個城市不一定都剛好分佈在中央經線兩側,所以地方獨立座標系並不一定剛好就是對應(中央經線)的國家統一平面座標系。地方獨立座標系到國家高斯投影座標系之間需要經過平面座標轉換以及高程校正才能進行映射。

總結:橢球參數(長短半軸)、座標原點、各軸方向確定(可以認爲是大地座標基準),就能產生不同形式的地理座標。如:北京54橢球基準,可以對應有北京54大地球面座標系(經度、緯度)、北京54空間直角座標系(X、Y、Z)、北京54墨卡託投影座標系(X,Y),北京54高斯投影6度分帶座標系(X,Y)等,這些座標系都是基於同一個大地座標基準,可以通過純數學的方法相互之間進行轉換,這種轉換是嚴謹的,可以認爲是無損的。因此在生產過程中,不管我們拿到的是經緯度座標的值、還是XYZ座標值,都需要我們明確對應的大地座標基準(在座標不匹配時,才能選用對應的方法進行轉換或校正)。在國內我們也不難看出,常用的大地座標基準包括:北京54、西安80、WGS84,國家2000。

對地理空間座標系統做了概括性的描述。在描述的過程中使用的一些非官方的名字,使用這些名詞的目的是想讓座標系統相關知識能成爲一個體系,便於我們快速在宏觀感官中搭建這方面的知識體系。以後接受到地理空間座標系相關知識時,就直接向這個框架內套。

我大致整理了一下國內常見的幾種座標系,以及他們之間的相互關係,供參考,不對的地方可以指正。


後續會針對同一個大地座標基準內和不同大地座標基準之間的座標轉換,進行進一步討論。

地理空間座標系統-同一橢球基準內的座標轉換

地理空間座標系統-同一橢球基準內的座標轉換-相關代碼算法實現C#

地理空間座標系統-不同橢球基準間的座標轉換

地理空間座標系統-不同橢球基準間的座標轉換-相關算法代碼實現C#

地理空間座標系統-城市座標系與國家統一座標系之間的轉換(含四參數轉換代碼)

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章