根據前一篇的設計,本篇主要描述同一個橢球基準內的座標轉換。怎麼理解這句話了,就是不管你拿到的位置點座標是經緯度座標(L、B、H)、或是空間直角座標(X、Y、Z),還是平面座標(x,y,H)只要是在同一個大地座標基準(橢球參數(長短半軸)、座標原點、各軸方向),那麼他們之間的座標轉換都屬於本篇研究的內容。
從上一篇的描述中我們可以知道,在同一個大地座標基準內,可以構建以下三類座標系:
【1】大地球面座標系(大地座標系),此座標系中一點的位置,使用經度、緯度、大地高程(L、B、H)來表示。
【2】大地空間直角座標系,此座標系中一點的位置,使用X、Y、Z來表示
【3】大地投影座標系,此座標系中一點的位置,使用x,y,H來表示。由於在構建此類座標系時,有多種投影方式,因此即使在同一個大地座標基準下,也存在多個大地投影座標系。如北京54墨卡託投影座標系、北京54高斯投影6度分帶座標系、北京54高斯投影3度分帶座標系等等。
採用上述不同的座標系,在表達地球表面上一點的位置時,座標值都是不同的,但由於他們所採用的座標系都是基於同一個大地座標基準,所以他們之間存在接近無損的數學轉換關係。也就是,不管我們拿到上述哪一種座標系中地球表面某點的座標位置,都可以通過數學方法轉換到上述幾種我們想要的座標點的值,並且這種轉換精度基本都沒損失。
以北京54座標基準爲例:
大地球面座標與大地空間直角座標互轉
【座標正轉】 經度、緯度、高程(LBH)轉到XYZ
輔助係數。
【座標反轉】 XYZ轉經度、緯度、高程(LBH),空間直角座標轉經緯度座標有迭代法和直接法
(1)迭代算法
(2)直接算法
大地球面座標與大地投影座標互轉-以高斯投影座標轉換爲例
【座標正算】 經度、緯度(LB)轉到x,y
【座標反算】 x,y轉到經度、緯度(LB)
同一個大地橢球基準內的座標轉換,先整理這幾種常見的轉換,後續再繼續收集。上述轉換算法,除在北京54大地座標基準內可用,西安80、WGS84、國家2000等大地基準內同樣適用。
下一篇分享,這幾種算法的代碼實現,採用c#。