漫話地圖之高精地圖生產中的坐標系
- 2020 年 12 月 15 日
- AI
導讀
高精地圖區別於普通電子地圖,一般來說高精地圖的精度要求在亞米級甚至厘米級,其所含有的道路交通元素也更豐富和細緻。這就造成高精地圖數據生產過程中會遇到很多普通地圖沒有的問題和困難,更需要有專業的測繪知識解題。
本文從現實世界到地圖數據的抽象基礎-坐標系著手,介紹相關領域知識,希望對大家深入高精地圖領域有所裨益。
本文屬於漫話地圖系列,將會持續介紹地圖行業一些有趣的知識點,歡迎持續關注。
1.如何定義地球
1.1 地球橢球體
眾所周知地球表面凸凹不平,是一個無法用數學公式表達的曲面,這樣的曲面不能作為測量製圖的基準面。那麼假想一個扁率極小的橢圓,繞大地球體短軸旋轉所形成的規則橢球體稱之為地球橢球體。
1.2 大地水準面
大地水準面是海平面向陸地內部的自然延伸形成的閉合面,由於地球重力面分佈不均勻,大地水準面仍然不是一個標準的數學模型,無法作為製圖表達。
1.3 大地基準面
大地基準面是設計為最密合部分或全部大地水準面的數學模式,它由橢球體本身及橢球體和地表原點間關係來定義,從而衍生出參考橢球體(參考於標準橢球體)的概念。此關係能以 6個量來定義,通常是大地緯度、大地經度、原點高度、原點垂線偏差之兩分量及原點至某點的大地方位角。

1.4 參心坐標系/地心坐標系
地心坐標系是以地球質心為原點建立的空間直角坐標系XYZ,或以球心與地球質心重合的地球橢球面為基準面所建立的大地坐標系BLH;參心坐標系是以參考橢球體的幾何中心為原點的坐標系。
1.4.1 常見的坐標系-WGS 84坐標系
- 原點:地球質心。
- Z軸:BIH(1984.0)定義的地極(CTP)方向,即國際協議原點CIO,它由IAU和IUGG共同推薦。
- X軸:指向BIH定義的零度(本初)子午面和CTP赤道的交點。
- Y軸:和Z,X軸構成右手坐標系。
- WGS84橢球體:國際大地測量與地球物理聯合會第17屆大會測量常數推薦值,長軸6378137.000m,短軸6356752.314,扁率1/298.257223563。

1.4.2 北京54/西安80/GCJ2000
- 北京54:前蘇聯克拉索夫斯基橢球體,是前蘇聯1942坐標系的延伸,原點不在北京而是在前蘇聯的普爾科沃。
- 西安80:國際大地測量與地球物理聯合會推薦值(IAG75橢球體)。西安大地原點設在陝西省涇陽縣永樂鎮,位於西安市西北。1985國家高程基準採用青島驗潮站1952-1979年確定的黃海平均海水面。
- GCJ2000:地心坐標系在我國的具體體現,和84橢球體僅有0.11mm的誤差。
2 如何定義二維地圖
2.1 地圖投影
利用一定數學法則把地球表面轉換到平面上的理論和方法稱為地圖投影。由於地球表面是一個不可展平的曲面,所以運用任何數學方法進行投影轉換都會產生誤差和變形,為按照不同的需求縮小誤差,就產生了各種投影方式,如圓柱投影、圓錐投影、等角投影、等面積投影、切投影、割投影等。

2.2 常見的幾種投影方式
2.2.1 墨卡托/Web墨卡托
一種正軸等角切圓柱投影。
- 等角:保證對象形狀不變以及方向位置正確。
- 圓柱:保證緯線經線平行相互垂直且經線間隔相同。
- 缺點:緯線間隔從赤道向兩級逐漸增大,面積變形大。
- Web墨卡托:Google首創,把地球模擬為球體而非橢球體,近似等角。

2.2.2 高斯投影/UTM投影
兩個投影很相似,高斯投影為等角橫切橢圓柱投影,前蘇聯、中國和德國等所採用。UTM投影(通用橫軸墨卡托) 是一種等角橫割橢圓柱投影,為世界上大部分國家採用。


3. 如何定義高精地圖
相對於普通電子地圖,高精地圖採集方式發生了質的變化。從誤差米級到厘米級能力提升主要源於高精採集車上更加豐富和立體的傳感器設備,包括但不限於激光雷達、RTK、慣導、攝像機等,有能力反映更加精細的真實世界。
高精地圖以採集車為基礎,可以分為如下幾個坐標系。
3.1 ECEF-地心地固坐標系
原點位於地球質心,z軸沿着地軸指向北極,y軸沿着赤道平面與格林威治子午面的交線上,y軸在赤道平面與x軸z軸滿足右手法則,該坐標系一般和WGS84坐標系相互轉換,屬於同一基準下不同表達。
3.2 東北天/當地水平坐標系
當地水平坐標系的原點位於載體所在的地球表面,x軸和y軸在當地水平面內,分別指向東向和北向,z軸垂直向上,與x軸y軸滿足右手法則,稱為東-北-天(e-n-u)坐標系,相對另一坐標系(北東地)。

3.3 車體坐標系
車體坐標系原點在載體質量中心與載體固鏈,x軸沿載體軸指向右,y軸指向前,z軸和xy滿足右手坐標法則指天,又稱為右-前-上(r-f-u)坐標系

3.4 激光雷達坐標系
和選用雷達類型及安裝方式有關,一般來說原點位於多線束旋轉軸的交點處,z軸沿着軸線向上,其測量的點坐標是在激光雷達坐標系下的三維坐標。雷達與載體固鏈,通過坐標系外參和車體姿態可以得到激光點的世界坐標系。
3.5 IMU坐標系
IMU坐標系的坐標原點在陀螺儀和加速度計的坐標原點,xyz三個軸方向分別與陀螺儀和加速度計的對應軸向平行。在解算慣性導航系統中IMU與車體固鏈,因此在不考慮安裝誤差角的情況下,載體坐標系也即為IMU坐標系。
3.6 相機坐標系
以自己的光心為原點,xy一般由相平面決定,x朝右,y軸朝下建立一個局部坐標系,一般與載體固鏈,通過外參進行剛性變化轉換。
3.7 什麼是右手坐標系
右手系(right-hand system)是在空間中規定直角坐標系的方法之一,兩種定義方式:
a. 把右手放在原點的位置,使大姆指,食指和中指互成直角,把大姆指指向x軸的正方向,食指指向y軸的正方向時,中指所指的方向就是z軸的正方向。
b. 如果當右手(左手)的大拇指指向第一個坐標軸(x軸)的正向,而其餘手指以第二個軸(y軸)繞第一軸轉動的方向握緊,就與第三個軸(z軸)重合,與之相反則為左手系。

4. 坐標系之間的轉換
4.1 地學概念上的坐標轉換
坐標系變換就是在相同空間點在不同橢球體下的不同坐標表達形式的數值換算,主要分為三種:
- 大地坐標系與空間直角坐標系的相互轉換(經緯度轉ECEF)。
- 空間直角坐標系與站心坐標系的轉換(ECEF轉工程)。
- 大地坐標系與平面坐標系的轉換(經緯度轉投影坐標)
4.1.1 相同基準面下的變化-經緯度轉笛卡爾坐標公式
相同基準下,將大地坐標系轉換為空間直角坐標系的公式為

4.1.2 不同橢球體間的變化-布爾沙七參數模型
需要7個參數
- 三個坐標平移量(△X,△Y,△Z),即兩個空間坐標系的坐標原點之間坐標差值。
- 三個坐標軸的旋轉角度(△α,△β,△γ),通過按順序旋轉三個坐標軸指定角度,可以使兩個空間直角坐標系的XYZ軸重合在一起。
- 尺度因子m,即兩個空間坐標系內的同一段直線的長度比值,通常m值等於1
4.2 三維空間變換相關的一些概念
4.2.1 歐拉角/歐拉旋轉

旋轉步驟:
- 物體繞全局的z軸旋轉α角。
- 繼續繞自己的X軸(也就是圖中的N軸)旋轉β角。
- 最後繞自己的Z軸旋轉γ角。
詳細介紹:
//www.matongxue.com/madocs/442.html
4.2.2 萬向節死鎖

沿着機身右方軸(X)進行旋轉,稱為Pitch 俯仰。
沿着機頭上方軸(Y)進行旋轉,稱為Yaw 偏航。
沿着機頭前方軸(Z)進行旋轉,稱為Roll 桶滾。
詳細介紹:
//blog.csdn.net/AndrewFan/article/details/60981437#
4.2.3 旋轉矩陣
任何維的旋轉可以表述為向量與合適尺寸的方陣的乘積,最終一個旋轉等價於在另一個不同坐標系下對點位置的重新表述。
推導過程:
//blog.csdn.net/TOM_00001/article/details/62054572
4.2.4 旋轉向量
向量旋轉公式最早由 Rodrigues 提出,用一個三維向量來表示三維旋轉變換,該向量的方向是旋轉軸,其模則是旋轉角度,設旋轉向量的單位向量為 r,模為θ,三維點p 在旋轉向量 r 的作用下變換至 p′
4.2.5 四元數

四元數優勢:
- 解決萬向節死鎖(Gimbal Lock)問題。
- 僅需存儲4個浮點數,相比矩陣更加輕量。
- 四元數無論是求逆、串聯等操作相比矩陣更加高效。
相關資料
- 四元數與三維旋轉://krasjet.github.io/quaternion/quaternion.pdf
- 理解四元數:
//www.qiujiawei.com/understanding-quaternions/ - 四元數的可視化:
//www.bilibili.com/video/av33385105
5. 坐標系轉換關係

6.關於坐標系的一些周邊
6.1 EPSG 歐洲石油測繪組織
European Petroleum Survey Group:成立於1986年,它負責維護並發佈坐標參考系統的數據集參數,以及坐標轉換描述,該數據集被廣泛接受並使用,通過Web發佈平台進行分發。
SRID:OGC標準中空間參考系統的唯一ID, //spatialreference.org/
6.2 WGS 1984 Web Mercator
EPSG:3785 EPSG在2008給Web Mercator 設立的WKID,但是這個坐標系的基準面是正圓球,不是WGS 1984,存在了一段時間後被棄用。
EPSG:3857 EPSG為Web Wercator 最終設立的WKID,也就是現在我們常用的Web地圖的坐標系,並且給定官方命名WGS 84 / Pseudo-Mercator
OPENLAYER:900913 Web Mercator已經成為Web地圖領域的事實標準,儘管這個坐標系由於精度問題一度得不到官方認證,Google為Web Mercator 任性地制定了這個ID。
6.3 ProJ.4
Proj.4是開源GIS最著名的地圖投影庫,許多開源軟件的投影都直接使用了Proj.4的庫文件。該項目遵循MIT license,用C語言編寫,由USGS的Gerald I.Evenden在1980年代創立並一直維護到退休,目前有C、Java 、Python、JS等多語言版本維護。功能主要有經緯度坐標與地理坐標的轉換,坐標系的轉換,包括基準變換等。
7. 參考資料
- 無人駕駛中的坐標系
//zhuanlan.zhihu.com/p/59743409 - 空間坐標與投影系統
//cveo.github.io/2018/07/26/coordinate-projection/ - 如何理解3D動畫中的歐拉角以及死鎖 //www.matongxue.com/madocs/442.html
- 如何形象地理解四元數
//www.zhihu.com/question/ - 剛體在三維空間的旋轉
//blog.csdn.net/MulinB/article/details/51227597