許 磊,胡圣武
(1.鐵道第三勘察設計院集團有限公司,天津 300251;2.河南理工大學測繪學院,河南焦作 454000)
大地坐標與高斯坐標的轉(zhuǎn)換程序研究和精度分析
許 磊1,胡圣武2
(1.鐵道第三勘察設計院集團有限公司,天津 300251;2.河南理工大學測繪學院,河南焦作 454000)
在分析了大地坐標與高斯坐標的轉(zhuǎn)換公式的基礎上,得到了適應電算的公式。采用編多個子程序的方法實現(xiàn)二者之間的轉(zhuǎn)換,編程實現(xiàn)了北京54坐標、西安80坐標和30帶高斯坐標和60帶高斯坐標之間的轉(zhuǎn)換;對轉(zhuǎn)換的成果的精度進行分析,得到了如下的結(jié)論:用轉(zhuǎn)換程序所得到的坐標精度能滿足日常的生產(chǎn)使用,但存在著一定的誤差。
大地坐標系;高斯坐標;坐標轉(zhuǎn)換;精度分析
在我國多種常用的坐標系并存,即54坐標系、80坐標系和2000坐標系[1-4]。54坐標系和80坐標系是二維坐標系統(tǒng),由于大地坐標在制圖和計算施工時都很不方便,而高斯投影下的平面坐標被廣泛運用[5-8]。二者需要相互轉(zhuǎn)換,當有不同需求時,轉(zhuǎn)換的精度也會有不同要求。本文研究了大地坐標和高斯坐標的適應編程的實用公式,并編程實現(xiàn)大地坐標和高斯坐標的相互之間的轉(zhuǎn)換,并對轉(zhuǎn)換成果的精度進行了分析。
由于要進行計算機編程計算,而高斯正反算公式并不利于編程計算,所以要對其作簡化處理,主要是根據(jù)要求的精度。
為了適應計算機程序的編寫,對原高斯正算公式作進一步變化,如下:
為了適應計算機程序的編寫,對原高斯反算公式作進一步變化,如下:
2.1 程序分析
大地坐標轉(zhuǎn)化為高斯坐標即高斯正算,要用高斯正算公式(1)。
從高斯正算公式中很容易看出:我們并不能直接得到結(jié)果還需要弧長公式和卯酉圈半徑公式,如下:
要根據(jù)所給的經(jīng)度和幾度帶投影,求得中央子午線經(jīng)度;然后求得經(jīng)差與投影代號,此部分用一個函數(shù)實現(xiàn)。函數(shù)名為:private intCentralMeridian(double L,outdouble l)。
求時需用到子午弧長公式,而子午線弧長求得也比較復雜,所以也要另寫一個函數(shù)用來根據(jù)大地緯度B求子午線弧長。所以此函數(shù)參數(shù)是 B,返回值弧長X。函數(shù)名為:private doubleGetRLX(double B)。
總函數(shù)的編寫,先定義正算公式里能用到的變量和調(diào)用上面所說的 2個函數(shù),其他的變量可以用基本公式直接求得;然后用這些變量寫出高斯正算的計算公式。函數(shù)名為:public void BL_xy(double B,double L,outdoublex,outdoubley)。日常使用的角度是度分秒形式的,而在計算機一般都是弧度制。所以要把度分秒轉(zhuǎn)換成弧度制的,所使用的函數(shù)是:privatedoubleangle_radian(doubleanlge)。
把上面所使用的函數(shù)都編寫在一個類里面,這樣方便分塊編寫和靈活使用。此類名:RefeFenceEllipsoid此類的屬性包括:a表示橢球長半徑;f表示橢球扁率;DUDAI表示幾度帶投影;公有成員即:BL_xy表示高斯正算函數(shù)。
下拉列表框 combox1當選擇不同的橢球(只有WGS84,BJ54,西安80供選擇)時就相應的改變類的屬性a,f;combox2當選擇不同投影帶(只有3°、6°帶的選擇)時就改變類中的相應值。當點擊“正算>”按鈕時:取textbox1.text為B;取textbox2.text為L;然后調(diào)用類的公有成員“*.BL_xy(double B,double L, outdouble x,outdouble y);”這樣就得到高斯正算坐標(x,y)。
設計程序的主要功能:①能夠?qū)崿F(xiàn)不同橢球下的高斯正算:WGS84,BJ54,西安80;②在同一橢球下有高斯30帶與60帶的換算。
在輸入大地緯度和經(jīng)度時格式:ddd:ff:mm.mmm mm。
在選擇相應的橢球與高斯投影帶時,輸入要轉(zhuǎn)換的大地坐標,點擊正算按鈕,得到的高斯坐標,y坐標沒有加500 km,也沒有加相應的投影帶號,程序界面如圖1所示。
圖1 主程序界面
2.2 實例數(shù)據(jù)
高斯正算實例結(jié)果如下:
表1 BJ54的高斯投影3°帶表
圖2 BJ54下的高斯投影30帶計算界面
圖3 BJ54下的高斯投影60帶計算界面
表2 BJ54的高斯投影6°帶表
表3 西安80的高斯投影3°帶表
圖3 BJ54下的高斯投影60帶計算界面
圖4西安80下的高斯投影30帶計算界面
表4 西安80的高斯投影6°帶表
圖5 西安80下的高斯投影60帶計算界面
2.3 結(jié)果分析
根據(jù)所得數(shù)據(jù):無論在任何橢球還是在不同高斯投影帶下,精度都可以達到0.000 000 01"以上。
相同投影帶下:緯度的差值隨緯度的增大而相應的增大,經(jīng)度的差值主要與經(jīng)差有密切關系,而與緯度增大而有微小的減小。高斯投影30帶的精度稍微高些。
離中央子午線越近精度也越高。
綜上所述根據(jù)數(shù)據(jù)計算的結(jié)果,基本符合正形投影原理和投影變形理論。
3.1 程序分析
高斯坐標轉(zhuǎn)化為大地坐標就是高斯反算過程所使用的高斯反算公式(2)。在公式中Bf是最重要的求解過程,而Nf可以使用高斯正算時的N求解過程,所以Bf求解是使用迭代的方法。
在編程過程中,對高斯反算公式做以下分析:
在高斯反算公式里最重要的就是Bf,就是根據(jù)x坐標求底點大地緯度:由子午線弧長求大地緯度,另寫一個函數(shù)實現(xiàn)。函數(shù)名為:privatedoubleGetB(doublex)。
總函數(shù)的編寫,先定義反算后公式能用到的變量,然后調(diào)用上面所說的函數(shù),其他的變量可以直接求得,最后用這些變量寫出高斯反算的計算公式即可。函數(shù)名為:publicvoid xy_BL(doublex,doubley,outdouble B,outdouble L)。
所使用的角度轉(zhuǎn)換問題已經(jīng)在高斯正算的過程中得到解決。只需要把高斯反算過程中所必須的函數(shù)編寫添加在RefeFenceEllipsoid類的里面的公有成員:xy_ BL表示高斯反算函數(shù)以及迭代求大地底點緯度的私用函數(shù)也要寫在此類的里面。
反算過程流程:在點擊“<反算”按鈕時:取textbox3.text為;取textbox4.text為;然后調(diào)用類的公有成員“*.xy_BL(double x,double y,outdouble B,out double L);”這樣就用高斯反算公式得到大地坐標B,L。
3.2 實例數(shù)據(jù)
高斯反算實例結(jié)果如下:
表5 BJ54高斯反算3°帶投影表
圖6 BJ54的高斯反算30帶計算界面
圖7 BJ54的高斯反算60帶計算界面
表6 BJ54高斯反算6°帶投影表
表7 西安80的高斯反算3°帶投影表
圖8 西安80的高斯反算30帶計算界面
圖9 西安80的高斯反算60帶計算界面
表8 西安80的高斯反算6°帶投影表
3.3 結(jié)果分析
高斯平面坐標的坐標是離相應的中央子午線的經(jīng)差投影到平面上,所以有正負之分,而標準的國家坐標為了避免負坐標的產(chǎn)生向東加500 km,為了區(qū)分投影在前面再加投影代號,所以有了投影代號就能得到相應的中央子午線。而上面的都是沒有加投影代號的,所以要指定中央經(jīng)度和幾度帶投影。
由上面數(shù)據(jù)可知,精度都是相當高不過也有微小的差別,相同投影帶下:坐標的差值與緯度相關,即隨著緯度的增大差值也增大;坐標的差值與經(jīng)差相關,隨著經(jīng)差的增大差值也增大。不同投影帶下:30帶投影都比相應的60帶投影精度高。
在進行正反算的時候所使用的公式都是進行嚴格推導的,可以解決由平面直角坐標反解地理坐標問題并可獲得足夠的精確度,且實時性強,滿足工作的需求,并可應用于其他相關領域。
根據(jù)本文所采用的轉(zhuǎn)換公式能滿足生產(chǎn)上的應用,具有實際應用價值。高斯正反算用計算機編程計算其結(jié)果是有一定誤差的。
[1] 孔祥元,郭際明,劉宗泉.大地測量基礎[M].武漢:武漢大學出版社,2001
[2] 熊介.橢球大地測量學[M].北京:解放軍出版社,1988
[3] 寧津生,劉經(jīng)南,陳俊勇,等.現(xiàn)代大地測量理論與技術(shù)[M].武漢:武漢大學出版社,2006
[4] 楊啟和.地圖投影變換原理與方法[M].北京:解放軍出版社,1989
[5] 徐紹銓,吳祖仰.大地測量學[M].武漢:武漢測繪科技大學出版社,1996
[6] 徐正揚,劉振華,吳國良.大地控制測量學[M].北京:解放軍出版社,1992
[7] 朱華統(tǒng).大地坐標系的建立[M].北京:測繪出版社,1986
[8] 邊少鋒.大地坐標系與大地基準[M].北京:國防工業(yè)出版社,2005
Transformation Program and Precision Analysisbetween Geodetic Coordinateand Gauss Plane Coordinate
by XU Lei
The paper gained formula thatadopted computer computation based analyzing transformation formula between geodetic coordinate and Gauss plane coordinate.Itadoptedmethod thatprogramsmany subprogram and realized transformation between geodetic coordinate and Gauss plane coordinate,programs to realize transformation Beijing 54 coordinate,Xi'an 1980 coordinate,30 band Gauss plane coordinate and 60 band Gauss plane coordinate.The paper analyzed precision about transformation results,drew a conclusion thatitcanmeetordinary production useadapting the transformation program,but therewasa little error.
Geodetic coordinates,Gaussian Cartesian coordinates,coordinate transformation,precision analysis (Page:60)
P226.3
B
1672-4623(2011)02-0060-04
2010-00-00
項目來源:國家自然科學基金資助項目(40474003)。
許磊,碩士,主要從事高速鐵路精密控制測量、城市軌道交通變形監(jiān)測、地面激光掃描儀數(shù)據(jù)處理、攝影測量等應用研究。