让GIS三维可视化变得简单-地理坐标系统
寫在前面
地理位置也就是坐標說是 GIS 的靈魂不為過吧,像天氣預報、火箭發射包括地震、火山等事故發生時,新聞媒體就會說東經 XX 度、北緯 YY 度發生了什么什么,還有高德百度的地圖導航、定位等等都需要用到坐標系統,因為沒有準確的位置信息就無法表達地物的位置關系,地圖查詢分析等等也就無從談起了
坐標系統可以分為地理坐標系統和投影坐標系統兩大類
今天我們就以 Cesium 中要用到坐標轉換為引,給非專業小伙伴們普及下坐標系統的知識,概念性較多,不需要全部記住,了解概念即可,我們先來說地理坐標系統
地理坐標系統也就是Geographic Coordinate System,我們簡稱GCS,它就是由地球表面空間要素產生的定位參照系統,說的很官方,接下來我們漸入
「PS:」 因為地圖相關太難畫了,本文中所有圖片皆來自網絡,如有侵權,請告知,即刪
認知地球
歷史演進
我們想要知道某個地方或物體在哪個位置肯定需要一個參照物,而對于現代生活在地球上的我們知道想要進行全球范圍的精準定位,這個參照物只能是地球,因為清楚的了解地球的形狀大小、了解人類與地球的關系
但是古時候的人,由于活動范圍很小,只看到自己生活地區的一小塊地方,所以單憑直覺就產生了種種有關 天圓地方 的說法
比如我國早在兩千多年前的周代,就有 天圓如張蓋,地方如棋局 的蓋天說
古代埃及人認識,天像一塊穹窿形的天花板,地像一個方盒
俄羅斯人則認為大地像一塊盾牌,由三條巨鯨用背馱著,漂游在茫茫的海洋里
印度人也有俄羅斯類似的傳說,不過他們認為馱著這塊大地的,不是巨鯨,而是站在海龜背上的三頭大象,大象動一動便會引起地震
后面古希臘科學家亞里士多德提出大地是球形,再到后來1519-1521年麥哲倫環繞地球航行一周成功,才使得地球這一名字正式的產生
隨著測量技術的不斷進步,特別是人造地球衛星的利用,才使得我們對地球有了一個明確的認知,地球并不是一個正球體,而是一個兩極稍扁、赤道略鼓的不規則球體,可以成為橢球,地球的平均半徑 6371 千米,極半徑為 6356 千米,兩者相差為 21 千米,最大周長也就是我們所說的赤道約 4 萬千米,表面積約 5.1 億平方千米,如下圖
經緯度&弧度
地理坐標系統是由經緯度來定義的,那么可能有人不知道經緯度,so,這里把的經緯度也給大家介紹下
經度是從本初子午線開始向東或向西度量角度,東半球為正西半球為負,而緯度是從赤道平面向北或向南度量角度的,赤道北為正,赤道南為負
哦,對了本初子午線指的是的在地球上連接南北兩極的經線,叫法很多,零經線、首子午線、零子午線等都是,赤道則是地球表面隨地球自轉產生的軌跡中周長最長的圓周線,劃分了南北半球
本初子午線和赤道就是地理坐標系統的基線了,兩者相切,可以理解為 x/y 坐標軸,那么我們說的經度就相當于 x 值,緯度就相當于 y 值,如下圖
關于經緯度的單位我們可以用度分秒(DMS)、十進制度數(DD),或者我們變成中可能會用到的弧度(rad)表示
度分秒表示法中,1度等于60分、1分等于60秒( 1° = 60′ 1′ = 60″ ),比如經緯度 45°52′30″,那我們轉換為十進制來表示就是 45.875°(45+52/60+30/3600),除此之外的我們常用的弧度,我們記住兩個值就可以了,敲重點了
1rad?=?57.2958° 1°??=?0.01745rad大地水準面
地球表面有高山、有洼地,是崎嶇不平的,所以當我們想要使用數學法則來描述它,就必須找到一個相對來說較規則的數學面
我們都知道地球也可以叫水球,因為大部分是海洋,所以,人們假設海水處于完全靜止的平衡狀態,那么從海平面延伸到所有大陸下部,而與地球重力方向處處正交的一個連續、閉合的曲面就是大地水準面,如下圖
地球橢球體&橢球面
上面我們說大地水準面忽略了地面上的凸凹不平相對規則,但由于地球內物質分布的不均勻,大地水準面仍是起伏不平,它雖然非常接近一個規則橢球體,但并不是完全規則,還是沒有辦法用數學表達
我們知道用橢圓繞短軸旋轉可生成一個橢球體,所以為了定量描述地球的形狀而不受起伏的影響,測量上把與大地水準面符合的最理想的旋轉橢球體叫做 地球橢球體 也叫 參考橢球體,并選擇能用數學方程表示的橢球體面作為投影的基準面,這個基準面就稱為 參考橢球面,簡稱 橢球面,參考下圖
大地基準面
上面我們說了大地水準面、地球橢球體橢球面等概念,接下來我們來看大地基準面,簡單講,我們把地球比作一個馬鈴薯🥔,因為它表面坑坑洼洼的,那么我們上面講的參考橢球體就可以用鴨蛋🥚表示,因為它比較規則,我們隨意挑選一個方位視角把鴨蛋放在馬鈴薯上,旋轉或者放大縮小鴨蛋讓它盡可能的去貼合這個方位的馬鈴薯面,調整合適之后在這個方位視角的鴨蛋面就是大地基準面(馬鈴薯鴨蛋之說取自網上偶然看到的一篇文章,覺得很貼切,找不到地址了。。)
由于我們可以隨意的旋轉馬鈴薯從而變換方位,那么鴨蛋(參考橢球體)也會隨著馬鈴薯(地球)視角方位進行改變,基準面也就會隨著地球的某個方位測量產生多個,不同國家或地區都會選擇自己相對貼合的位置測量從而產生各自的基準面,也就出現了我們現在十分頭疼的不同坐標系轉換的問題,原因是它們的基準面不同,如下圖
我們經常聽到的北京 54 坐標系、西安 80 坐標系,實際上是指我國的兩個大地基準面
各個國家在馬鈴薯(地球)的所處的位置不同,旋轉放大或縮小產生的鴨蛋(參考橢球體)也不同,所以產生了很多參考橢球體,我國參照前蘇聯從 1953 年起采用克拉索夫斯基(Krassovsky)橢球體建立了北京 54 坐標系,后面在 1978 年采用國際大地測量協會推薦的1975地球橢球體(IAG75)建立了新的大地坐標系——西安 80 坐標系
參心坐標系
球的測量肯定要定球心,上面我們說過的鴨蛋也就是參考橢球體,地球的球心不好確定,但參考橢球體是規則的,那么以參考橢球體的幾何中心為原點的大地坐標系就是 參心坐標系,而這個參心指的就是參考橢球的球心我們計作原點 O
參心坐標系通常說的是參心空間直角坐標系(以x,y,z為坐標元素)和參心大地坐標系(以B,L,H為其坐標元素)
參心坐標系是在參考橢球內建立的 O-XYZ 坐標系,原點 O 為參考橢球的幾何中心,X軸與赤道面和本初子午面的交線重合,向東為正。Z軸與旋轉橢球的短軸重合,向北為正,Y軸與XZ平面垂直構成右手系,如下圖
在測量中,為了處理觀測成果和傳算地面控制網的坐標,通常須選取一個 參考橢球面 作為基本參考面,選一參考點作為大地測量的起算點(這個點就是 大地原點),利用大地原點的天文觀測量來確定參考橢球在地球內部的位置和方向
地心坐標系
20世紀50年代之前,一個國家或一個地區都是在使所選擇的參考橢球與其所在地區的大地水準面最佳擬合的條件下,按弧度測量方法來建立各自的局部大地坐標系的
由于當時除海洋上只有稀疏的重力測量外,大地測量工作只能在各個大陸上進行,而各大陸的局部大地坐標系間幾乎沒有聯系,不過在當時的科學發展水平上,局部大地坐標系已能基本滿足各國大地測量和制圖工作的要求
但是后來為了研究地球形狀的整體及其外部重力場以及地球動力現象,特別是50年代末,人造地球衛星和遠程彈道武器出現后,為了描述它們在空間的位置和運動,以及表示其地面發射站和跟蹤站的位置,都必須采用地心坐標系,因此,建立全球地心坐標系(也稱為世界坐標系)已成為大地測量所面臨的迫切任務,再到后來就確立了地球的質心(也就是世界統一的地球唯一中心點)
這個背景下以地球 質心為原點 建立的空間直角坐標系,或以球心與地球質心重合的地球橢球面為基準面所建立的 大地坐標系 就誕生了
以地球質心為原點的大地坐標系通常分為地心空間直角坐標系(以x,y,z為其坐標元素)和地心大地坐標系(以B,L,H為其坐標元素)
地心坐標系是在大地體內建立的 O-XYZ 坐標系,原點O設在大地體的質量中心,用相互垂直的X,Y,Z三個軸來表示,X軸與首子午面與赤道面的交線重合,向東為正,Z軸與地球旋轉軸重合,向北為正,Y軸與XZ平面垂直構成右手系,和上面參心圖差不多,就不放圖了
到此,相信你對我們的地球有了一個新的認知,那么接下來我們介紹幾種常用的坐標系
常用坐標系
我們這里簡單介紹 4 個比較常見的坐標系,分別是兩個我國早期使用的坐標系 北京54、西安80,目前我國主流的 CGCS2000,和世界常用的地理坐標系統 WGS84
北京54
新中國成立以后,我國采用了前蘇聯的克拉索夫斯基橢球參數(也就是說它是一個參心坐標系),并與前蘇聯1942 年坐標系進行聯測,通過計算建立了我國大地坐標系,定名為 1954 年北京坐標系,簡稱北京 54 坐標系
1954 年北京坐標系可以認為是前蘇聯1942年坐標系的延伸,因為它的原點不在北京而是在前蘇聯的普爾科沃
北京54是建國初,在當時技術條件不高時引蘇聯的地理坐標系統到我國境內的,大地原點都不在我國境內,所以北京54在我國境內有較大偏差,已逐漸廢棄
西安80
1978年4月在西安召開全國天文大地網平差會議,確定重新定位,建立我國新的坐標系,為此有了1980年國家大地坐標系,1980年國家大地坐標系采用地球橢球基本參數為 1975 年國際大地測量與地球物理聯合會第十六屆大會推薦的數據(也是參心坐標系)
此坐標系的 大地原點 設在我國中部的陜西省涇陽縣永樂鎮,位于西安市西北方向約60公里,故稱1980年西安坐標系,也可簡稱西安 80 坐標系
它的基準面采用青島大港驗潮站1952-1979年確定的黃海平均海水面(即1985國家高程基準),目前也逐漸廢棄了
西安80與北京54
西安80坐標系與北京54坐標系其實是一種橢球參數的轉換作為這種轉換在同一個橢球里的轉換都是嚴密的,而在不同的橢球之間的轉換是不嚴密,因此不存在一套轉換參數可以全國通用的,在每個地方會不一樣,因為它們是兩個不同的橢球基準
北京54和西安80是兩種不同的大地基準面,不同的參考橢球體,因而兩種地圖下,同一個點的坐標是不同的,無論是三度帶六度帶坐標還是經緯度坐標都是不同的,相同的是它們兩個都已經逐漸廢棄了
CGCS2000
從北京54到西安80,隨著情況的變化和時間的推移,上述兩個以經典測量技術為基礎的局部大地坐標系,已經不能適應科學技術特別是空間技術發展,不能適應中國經濟建設和國防建設需要,中國大地坐標系的更新換代,是經濟建設、國防建設、社會發展和科技發展的客觀需要
以地球質量中心為原點的地心大地坐標系,是21世紀空間時代全球通用的基本大地坐標系,所以以空間技術為基礎的地心大地坐標系,是中國新一代大地坐標系的適宜選擇
CGCS2000是2000國家大地坐標系,屬于地心大地坐標系統,此坐標系是通過中國GPS 連續運行基準站、 空間大地控制網以及天文大地網與空間地網聯合平差建立的地心大地坐標系統,2000(中國)國家大地坐標系以ITRF 97 參考框架為基準, 參考框架歷元為2000.0,全稱叫中國國家2000地理坐標系統,它的英文名字叫 ?China Geodetic Coordinate System 2000
次坐標系是目前我國主流坐標系,干說這個坐標系你可能不知道,這樣說吧,我國的GPS系統-北斗導航系統以及國家發行的天地圖,用的都是這一套地理坐標系統,曉得了嗎
WGS84
WGS84是美國GPS使用的一個全球地理坐標系統,OSM地圖、谷歌地圖(國外版)、Landsat系列衛星影像圖等均在地理坐標系統上使用了這個,有許多開發地圖的API默認是使用WGS84的,
它的全稱叫World Geodetic System 1984,我們在網上交流的數據大部分也都是WGS84的,所以目前世界上使用最廣泛的坐標系可能就是WGS84了
我國的高德、百度等地圖使用的也都是WGS84,只不過它們都在WGS84基礎上再次加密,在民間叫火星坐標系,采用就是大名鼎鼎的GCJ02加密算法,它與真實的WGS84坐標是有誤差的,這個誤差值并不固定,通常是幾十米到幾百米(百度地圖更狠,在GCJ02的基礎上還做了再次偏移,也就是BD09,我們通常叫百度坐標系),至于為什么加密,不用我說,你懂的哈
CGCS2000與WGS84
上面提到CGCS2000與WGS84這兩種坐標系都是地心坐標系,所以CGCS2000的定義與WGS84實質一樣,采用的參考橢球非常接近
但是由于扁率差異引起橢球面上的緯度和高度變化最大達 0.1mm,在當前測量精度范圍內是可以忽略這點差異的,可以說兩者相容至cm級水平,但若是一個點的坐標精度達不到cm水平時,就不認為CGCS2000和WGS84的坐標是相容的,反之兩者皆可
常用坐標系小結
來總結一下這幾個常用坐標系,由于是介紹常識上面寫的都挺官方,我們總結的話就接地氣一點
北京54參心坐標系是建國初在當時技術條件不好時引蘇聯的地理坐標系統到我國境內的,大地原點不在我國境內,所以在我國境內有較大偏差,已逐漸廢棄
西安80參心坐標系則是改革開放后,技術稍好,為解決北京54偏差問題,為我國各項事業發展搞的一個適用于國內的地理坐標系統,現也已逐漸廢棄
北斗導航系統、天地圖都在用的CGCS2000是目前我國主流,地心坐標系
WGS84是一個源于美國且世界流通較廣的全球地理坐標系統,地心坐標系
這張圖不錯
先解釋一下,ArcGIS的WKID,我們應該都知道ArcGIS,美國環境系統研究所ERSl(EnvironmentalSystems ResearchInstitute)搞的,它們可以說是GIS行業之首
那WKID是什么呢,WKID全稱叫Well-known ID,它表示空間參考的ID,簡單來說,世界上的坐標系太多了,我們把每一個坐標系比作一個人,北京54、西安80、CGCS2000、WGS84等等都是名字簡稱,全名太長了,而且可以改名啥的,但是身份證號是唯一且不變的,這個身份證號就是指的WKID,它在空間數據的使用、轉換、共享等都起到了關鍵作用,所以記住這幾個常用的ID有好處
想要查WKID的話可以去這里查 👉 JavaScript版本[1]
最后
由于篇幅問題,投影坐標系統放在了下文中講了
感謝閱讀,歡迎大家點擊下方的卡片關注「不正經的前端」,來個霸氣四連吧!!!
參考資料
地理信息系統導論-第九版[2]
聊聊GIS中的坐標系|再版[3]
Reference
[1]
JavaScript版本: https://developers.arcgis.com/javascript/3/jshelp/pcs.htm
[2]地理信息系統導論-第九版: https://book.douban.com/subject/31438879/
[3]聊聊GIS中的坐標系|再版: https://www.cnblogs.com/onsummer/p/12081889.html
總結
以上是生活随笔為你收集整理的让GIS三维可视化变得简单-地理坐标系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【格式转换】将JPEG图片批量处理为jp
- 下一篇: 百度地图-根据经纬度定位示例-百度地图单