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