姜 偉
(中煤科工集團武漢設計研究院有限公司,湖北 武漢 430064)
αd=α0。
ad=a0。
DX=ΔhcosB0cosL0。
DY=ΔhcosB0sinL0。
DZ=ΔhsinB0。
εX=0,εY=0,εZ=0。
Δk=0。
αd=α0。
。
DX=0,DY=0,DZ=0。
εX=0,εY=0,εZ=0。
Δk=0。
?
·測量·
抵償坐標換算程序的設計與實現
姜 偉
(中煤科工集團武漢設計研究院有限公司,湖北 武漢 430064)
由于投影存在著投影變形,當變形達到一定數值時,必須采取措施限制投影變形,通常采用的方法是選取抵償面對坐標進行抵償變換,但采用抵償橢球變換的方法來建立抵償坐標系的方法意義明確直接,便于理解,因此,為了實現抵償坐標換算,采用抵償橢球變換的方法使用Visual C++開發了抵償坐標換算程序,從而提高了抵償坐標換算的效率和計算的可靠性,具有很好的實用意義。
橢球,抵償坐標系,投影
我們通常所使用的坐標為平面高斯坐標,而測繪工作所使用的解算基準面為參考橢球面,將我們外業觀測的方向和距離觀測值首先歸算到參考橢球面上,然后再進行高斯投影及坐標換算,就得到通常我們所使用的高斯平面坐標。
由于投影存在著投影變形,當變形達到一定數值時,必須采取措施限制投影變形,工程測量規范中規定,當投影變形達到2.5 cm/km時則必須對投影變形進行處理,通常采用的方法是選取抵償面對坐標進行抵償變換,下面介紹常用的抵償變換方法。
我們知道距離由較高的高程面化算到較低的橢球面時,長度總是減小的;而將橢球面上的距離化算到高斯平面時,長度總是增加的。因此上述兩個投影過程對變形具有抵償的性質,通過選取合適的橢球半徑,使距離化算到橢球面上減少的數值,恰好等于由這個橢球面化算到高斯面所增加的數值,那么在高斯平面上的距離就和實地的距離一致了。這個選取的適當的橢球面就為抵償高程面[1,2]。
通常我們選擇測區平均高程面作為投影面,如果在此基礎上變形還不能滿足要求,高斯投影變形太大,就可以通過采用任意帶投影,而不采用國家標準的3度分帶或6度分帶投影,通過選取測區中心的子午線作為中央子午線,這樣就可以使得測區范圍內的長度綜合變形為最小。
這種采用既換投影面又換投影帶的方法不夠簡便、不易施行,與國家統一坐標系之間的聯系不密切,通常為了方便計算,還對計算過程進行了簡化,不夠嚴密,意義也不明確。
為了克服上述方法的缺陷,我們可以采用建立抵償橢球,然后采取不同的方法獲取坐標轉換參數,通過橢球轉換來建立抵償橢球,然后根據需要在抵償橢球的基礎上選取合適的高斯投影中央子午線,將長度變形減到最小,這種方法的意義明確直接,便于理解,計算過程也嚴密可靠,通過編制轉換程序,可以實現轉換的自動化處理,計算結果也十分精密。
通常我們采用的抵償橢球變換方法有以下幾種。
1.1 橢球平移法[3-5]
橢球平移法的基本原則是抵償橢球采用與原橢球相同的橢球參數,即保持橢球扁率和長半軸不變,原橢球沿基準點法線方向平移Δh后原橢球面與區域抵償面相切,即只改變了橢球的定位參數。
抵償橢球參數為:
αd=α0。
ad=a0。
采用橢球平移法進行抵償坐標變換的布爾沙七參數為:
DX=ΔhcosB0cosL0。
DY=ΔhcosB0sinL0。
DZ=ΔhsinB0。
εX=0,εY=0,εZ=0。
Δk=0。
1.2 橢球膨脹法[3-5]
橢球膨脹法的基本原則是保持橢球中心在膨脹前后不變,橢球扁率也保持不變,改變橢球長半軸,使得縮放之后的參考橢球面與區域抵償面相切,形成抵償橢球,然后進行三維坐標變換。
采用橢球膨脹法時,首先需要確定區域抵償面中心基準點,然后根據基準點的大地高計算抵償橢球相對于原橢球的長半軸變化量。計算公式如下:
αd=α0。

采用橢球膨脹法進行抵償坐標變換的布爾沙七參數為:
DX=0,DY=0,DZ=0。
εX=0,εY=0,εZ=0。
Δk=0。
1.3 橢球變形法[3-5]
橢球變形法的基本原則是原橢球沿基準點法線方向膨脹至區域抵償橢球面,橢球中心保持不變,再調整橢球扁率,使基準點處區域抵償橢球面法線與原橢球法線重合。此方法既改變了橢球的長半軸,同時也改變了橢球扁率。
由于通常我們主要采用橢球平移法和橢球膨脹法,參考文獻~對橢球變形法都有詳盡的介紹,在此不做進一步的敘述。
待橢球變換參數給定后,就可以采用三維坐標變換模型進行坐標換算,通常我們使用的坐標變換模型有布爾沙模型及莫洛金斯基模型,兩種模型的坐標轉換結果是相同的,只是側重點及適用范圍有些不同,布爾沙模型適用范圍廣且模型簡單,各個參數意義明了,易于程序實現。在此不對上述兩種坐標變換模型進行介紹,具體可查閱相關文獻。
抵償橢球變換完成后,如果需要用國家統一的3度或者6度分帶投影后,長度的變形仍然不能滿足要求,則可以通過選取任意帶投影,例如選取測區中心的子午線為投影中央子午線來進行高斯投影。
本抵償坐標換算程序采用的開發環境為Visual C++ 6.0,它是一個功能強大的可視化編程工具,具有很強的調試功能,是目前功能最為強大的程序開發平臺之一[6-7],使用其開發的程序比起.NET平臺來說,運行速度更快,程序的封裝少,有助于開發人員理解程序的結構及運行原理等優點,因此,選擇其作為本軟件的開發平臺。在此之前,由于工作需要,已經采用Visual C++ 6.0開發了一款通用坐標轉換軟件(如圖1所示),相當于已經實現了抵償橢球的變換功能以及高斯投影的功能,因此,只需要在此基礎上添加抵償橢球參數以及抵償坐標變換的布爾沙七參數就能實現抵償坐標的換算。

在已開發的通用坐標轉換軟件的基礎上,開發相應的抵償參數計算功能,然后通過計算的參數采用三維空間坐標轉換功能,實現抵償坐標的換算。抵償轉換參數計算界面如圖2所示。
由于抵償坐標的換算過程中包括抵償參數的計算,橢球變換以及高斯投影等過程,計算過程相當繁瑣,開發此款抵償坐標轉換程序,從而提高了抵償坐標換算的效率和計算的可靠性,具有很好的實用意義。
[1]張鳳舉,張華海,趙長勝,等.控制測量學.北京:煤炭工業出版社,1999.
[2]孔祥元,梅是義.控制測量學.武漢:武漢大學出版社,2002.
[3]鄧興升,湯仲安,花向紅,等.橢球變換后的高斯投影正反算算法.大地測量與地球動力學,2010,30(2):49-52.
[4]海 清.通過橢球變換建立區域獨立坐標系的方法.海洋測繪,2007,27(5):31-34.
[5]李世安,劉經南,施 闖.應用GPS建立區域獨立坐標系中橢球變換的研究.武漢大學學報(信息科學版),2005,30(10):888-891.
[6]陳建春.Visual C++開發GIS系統.北京:電子工業出版社,2000.
[7]黃維通.Visual C++面向對象與可視化程序設計.北京:清華大學出版社,2003.
Design and implementation of the compensation coordinate conversion program
Jiang Wei
(WuhanDesign&ResearchInstituteCo.,LtdofChinaCoalTechnology&EngineeringGroup,Wuhan430064,China)
Because of the projection deformation, we needed to reduce the projection deformation when it reached to a certain value. Usually we took the method of converting the coordinates on the compensation plane, but using the method of compensation ellipsoid transformation to establish compensation coordinate system made us easy understand, so developed the compensation coordinate conversion program using the method of compensation ellipsoid transformation by the platform Visual C++, so as to improve the work efficiency and calculation reliability, it got very good practical significance.
ellipsoid, compensation coordinate system, projection
1009-6825(2015)18-0211-03
2015-04-18
姜 偉(1981- ),男,碩士,工程師
TU198
A