易 衡 鄭茂儀
(湖南建筑高級技工學校,湖南 長沙 410015)
隨著GPS,測量機器人等測量儀器的不斷更新,工程建設中也越來越多的出現(xiàn)不同復雜情況,這就使坐標轉換的問題凸顯出來。例如,北京54 和西安80 坐標換算是工程建設中經(jīng)常遇見的問題,可使不同坐標系統(tǒng)下的測繪成果得到充分利用,因此快速準確地進行坐標轉換是非常重要的。再如,在GPS 測量中,很多實測的點可能是大地坐標的形式輸出,那么要將大地坐標轉換為空間直角坐標也是要非常快速和重要的。Excel 作為常用的辦公軟件,幾乎在每臺微機上都有配備,所以使用Excel 做相應的數(shù)據(jù)轉換是非常方便且容易獲取的。
在數(shù)字化測圖時,應當是先進行控制測量,后進行地形圖測量。但是有許多時候,例如當要求在短期內(nèi)要完成測圖,而當?shù)貒易鴺擞植荒懿榈剑瑸榱粟s時間,只得先采取假定坐標系進行控制和測圖,最后采用坐標轉換的方法轉換成國家標準坐標系地形圖。在種情況下,可以采用“坐標換算”、“圖上轉換”等方法解決此類問題。借助Excel 中的VBA編程,就能方便的批量轉換坐標,使得工作變得更加方便和快捷。
1.1.1 相似變換四參數(shù)模型
其中,(x2,y2)原坐標系下的坐標,(x1,y1)為目的坐標系下的坐標,(△x0,△y0)表示平移參數(shù),a 表示旋轉參數(shù),S 表示尺度參數(shù)。
1.1.2 仿射變換六參數(shù)模型
其中a 和e 分別確定點(x2,y2)在輸出坐標中x1方面和y1方向上的縮放尺度。而b 和d 確定旋轉角度,c 和f 分別確定在x1方向和y1方向上的水平平移尺寸。
1.1.3 正形變換六參數(shù)模型
對于n 個已知點對,公式(1)的相似變換模型可以建立的誤差方程為
對于n 個已知點對,公式(2)的仿射變換模型可以建立的誤差方程為
對于n 個已知點對,公式(2)的正形變換模型可以建立的誤差方程為
因為在運算中要進行矩陣的計算,所以要建立一個新的模塊,這個模塊有一系列的函數(shù)可以調(diào)用,從而實現(xiàn)矩陣求逆、轉置、相乘等相關矩陣運算。
這是相關函數(shù)的自定義:
Public Sub jzzz(a() As Double,at() As Double) ' 矩陣轉置
Public Sub jzxc(a()As Double,b()As Double,c()As Double)'矩陣相乘
Private Function h(a() As Double) As Integer ' 計算矩陣行數(shù)
Private Function l(a() As Double) As Integer ' 計算矩陣列數(shù)
Public Function jzqn(mtxAR() As Double) As Boolean ' 矩陣求逆
在Excel 表格中設置已知的參考坐標系下的已知坐標和兩個坐標系的同點坐標對,并固定至少三個同點坐標對如圖1 所示:
運行宏命令,在宏編輯器中設計操作界面如圖2 所示Z
在計算按鈕雙擊事件中添加運算代碼,
Private Sub CommandButton1_Click()
。。。。。。
jzzz a(),at() ‘矩陣轉置
云母占礦物總量的37.1%,與石英共同組成了銣礦石主要構架。礦石中的云母類礦物主要為白云母(>85%),另外偶見有絹云母、鋰云母以及銅鈾云母等其他云母類礦物。現(xiàn)主要對白云母的嵌布特征描述如下:
jzxc at(),a(),c() ‘矩陣相乘
jzqn c() ‘矩陣求逆
jzxc c(),at(),d()‘矩陣求逆
jzxc d(),l(),cs()‘矩陣求逆
。。。。。。
以上代碼能夠自動讀取Excel 表格中已知的同點坐標點和已知點數(shù)據(jù),并進行矩陣間接平差計算,利用仿射變換六參數(shù)解算,最終得到轉換后的計算結果如圖3:
設計好的Excel 宏,在使用的時候,只要點擊Excel 菜單欄上的工具>>宏(M)>>運行宏或者直接使用快捷操作Alt+F8 就能啟動宏。此宏命令在平面坐標轉換中如北京54 平面坐標轉西安80 平面坐標可以相當快捷方便的使用,為工程計算帶來便利。
為了計算方便,改寫高斯正算公式如公式(7)
將公式輸入Excel 表中X=B9+D10*F9*(0.5*POWER(D9,2)+(1/24)*(5-POWER(F9,2)+9*B10+4*POWER(B10,2))*POWER(D9,4)+(1/720)*(61-58*POWER(F9,2)+POWER(F9,4))*POWER(D9,6))
Y=D10*(D9+(1/6)*(1-POWER(F9,2)+B10)*POWER(D9,3)+(1/120)*(5-18*POWER (F9,2)+POWER (F9,4)+14*B10-58*B10*POWER(F9,2))*POWER(D9,5))
Excel 計算流程,1>輸入已知點的大地經(jīng)緯度坐標B、L、L0 及橢球參數(shù)2>計算參數(shù)X、m、t、l、η2、N、L3>計算待求數(shù)據(jù)項X,Y。
計算結果如圖4。
本實例設計目的在于將投影平面坐標反算到大地坐標。
為了計算方便,改寫高斯反算公式如下:
將公式(8)輸入Excel 表格中
L=F6+F10
B=B9-((1+B10)/PI ())*F9* (90*D9*D9-7.5* (5+3*F9*F9+B10-9*B10*F9*F9)*POWER(D9,4)+0.25*(61+90*F9*F9+45*POWER(F9,4))*POWER(D9,6))
Excel 計算流程,1>輸入已知點的空間直角坐標X,Y,L0 及橢球參數(shù)2>計算參數(shù)計算待求數(shù)據(jù)項B,L。
計算結果如圖4。
高斯投影雖然保證了角度沒有變形這一優(yōu)點,但其長度變形較為嚴重。為了限制高斯投影的長度變形,必須依中央子午線進行分帶,把投影范圍限制在中央子午線東、西兩側一定的狹長帶內(nèi)分別進行。但這又使得統(tǒng)一的坐標系分割成各帶的獨立坐標系。于是,因分帶的結果產(chǎn)生了新的矛盾,即在生產(chǎn)建設中提出各相鄰帶的相互聯(lián)系問題。這個問題是通過由一個帶的平面坐標換算到相鄰帶的平面坐標。
利用高斯投影的正反算公式,亦可進行不同投影帶坐標的換帶計算。其計算步驟如下:
(1)根據(jù)高斯投影坐標x,y,反算得緯度B 和經(jīng)度差l;
(2)由中央子午線的經(jīng)度L0,求得經(jīng)度L=L0+l;
(3)根據(jù)換帶后新的中央子午線經(jīng)度L0',計算相應的經(jīng)差;
(4)由高斯投影正算,求得新的高斯投影坐標x',y'。
Excel 計算流程,1>輸入已知點的原坐標、原坐標帶L0、擬轉坐標帶L0’及橢球參數(shù)2>計算參數(shù)項t、N3>計算待求數(shù)據(jù)項X,Y。計算結果如圖4。
將Excel 方便的宏VBA 和公式計算功能應用于測量快速計算中,不僅有良好的界面,而且加快了數(shù)據(jù)處理的進程,為工程提供可視化計算和表格處理,讓非專業(yè)的測量人員也可以方便使用。
本文僅在不同參考平面坐標系下的相互轉換和高斯投影的相關坐標轉換中做了簡要的方法和理論講述,在實際運用中,可以根據(jù)不同的工程項目特點設計Excel 計算命令程序,使得工程計算中大大提高坐標轉換的計算效率。
[1]武漢大學測繪學院測量平差學科組.誤差理論與測量平差基礎[M].武漢大學出出版社.
[2]孔祥元,郭際明,劉宗泉.大地測量學基礎[M].武漢大學出出版社.
[3]李慶揚,等,編.數(shù)值分析[M].施普林格出版社.
[4]徐振明,等,編.Visual Basic.Net 程序設計與應用[M].中國水利水電出版社.
[5]趙丹.基于vc++的常用大地坐標轉換程序實現(xiàn)[J].鐵道勘測與設計,2009.
[6]嚴蔚敏,等,編.數(shù)據(jù)結構[M].清華大學出版社.
[7]李寶玉,等,編.大比例尺數(shù)字化測圖技術[M].西南交通大學出版社.
[8]同濟大學數(shù)學系編著.線性代數(shù)[M].高等教育出版社.
[9]同濟大學應用數(shù)學系主編.高等數(shù)學[M].高等教育出版社.
[10]潘正風,等,編.數(shù)字測圖原理與方法[M].武漢大學出版社.
[11]楊曉明,等,編.數(shù)字測繪基礎[M].測繪出版社.