郭慶坤,王忠,來彥明,魏輝,朱君
(濟(jì)南市勘察測繪研究院,山東 濟(jì)南 250101)
當(dāng)前,計算機技術(shù)飛速發(fā)展,為測量工作和數(shù)據(jù)計算帶來了極大的便利,通過計算機編程,把測量工作方法或數(shù)據(jù)處理方法程序化,使計算機按照測量人員的思路進(jìn)行工作,大大提高了測量數(shù)據(jù)計算的效率,降低了人工計算的出錯概率[1]。陀螺定向測量方位角的計算通常采用人工計算,計算過程煩瑣、困難,效率較低,且容易出現(xiàn)計算錯誤,利用Visual Basic程序語言設(shè)計編寫的算法,可有效解決上述弊端,快速準(zhǔn)確地計算出子午線收斂角、儀器常數(shù)、坐標(biāo)方位角等待求量。
經(jīng)過地面任意一點均存在坐標(biāo)北方向、真北方向、陀螺北方向三個基本方向,坐標(biāo)北方向為坐標(biāo)系X軸所指的方向,真北方向為過地球表面某點的真子午線的切線方向,陀螺北方向為陀螺儀敏感地球角動量而實際測得的北方向[2]。由真北方向起算的方位角為真方位角,用A表示,由坐標(biāo)北方向起算的方位角為坐標(biāo)方位角,用α表示[3],由陀螺北方向起算的方位角為陀螺方位角。坐標(biāo)北方向與真北方向之間的夾角為子午線收斂角,用γ表示[4],陀螺北方向與真北方向之間的夾角為陀螺儀的儀器常數(shù),用△表示[5]。陀螺定向測量原理關(guān)系圖如圖1所示。
圖1 陀螺定向測量原理關(guān)系圖
在高斯投影下的坐標(biāo)系中,任一方向的真北方位角與坐標(biāo)方位角存在以下關(guān)系:
A=α+γ=△+αT
(1)
在地上已知點C架設(shè)儀器,根據(jù)地上已知測站點坐標(biāo)方位角α0、子午線收斂角γ0和測得的地上已知邊陀螺方位角αT,利用式(1),求得儀器常數(shù):
△=α0+γ0-αT
(2)
(3)
根據(jù)地下定向邊陀螺方位角測量“地面已知邊-地下待定邊-地面已知邊”的測量程序[6],地上已知邊和地下待定邊分別有多次測量成果,相同測線的多次測量成果在原始記錄手簿中即可計算出互差和平均值,為使用戶界面輸入盡量少的數(shù)據(jù),故界面中只設(shè)計了地上陀螺方位角平均值和地下陀螺方位角平均值的輸入文本框。
本著用戶界面設(shè)計簡潔清晰,無須多媒體效果的原則,根據(jù)地下待定邊坐標(biāo)方位角計算所需要的數(shù)據(jù),用戶界面主要包含了地上數(shù)據(jù)輸入、地下數(shù)據(jù)輸入、數(shù)據(jù)計算成果三個部分,整個界面使用了VB 6.0的Frame控件、Label控件、Text控件、Command控件和Statusbar控件進(jìn)行設(shè)計,可以直觀明了地顯示輸入數(shù)據(jù)和計算成果數(shù)據(jù),同時可以看到數(shù)據(jù)計算的實時時間。數(shù)據(jù)輸入完成,點擊“計算”按鈕即可進(jìn)行數(shù)據(jù)計算,點擊“退出”按鈕即可退出程序。用戶界面如圖2所示。
圖2 用戶界面
代碼的設(shè)計應(yīng)簡捷有效,并能保證有效運行,經(jīng)反復(fù)調(diào)試的代碼應(yīng)盡量簡化,增加代碼的可維護(hù)性和可讀性。程序流程如圖3所示。
圖3 程序流程圖
根據(jù)計算的程序流程,首先判斷輸入數(shù)據(jù)是否為空或有非數(shù)值型數(shù)據(jù),滿足要求后,通過定義的Function[7]過程,把輸入的度分秒轉(zhuǎn)化為小數(shù)度,然后計算地上、地下設(shè)站點子午線收斂角、地上坐標(biāo)方位角,最后計算儀器常數(shù)和地下待定邊坐標(biāo)方位角。
(1)判斷輸入數(shù)據(jù)是否為空或有非數(shù)值型數(shù)據(jù)
為防止輸入數(shù)據(jù)有遺漏或輸入數(shù)據(jù)中有非數(shù)值型數(shù)據(jù),特設(shè)計此判斷過程,在判斷輸入數(shù)據(jù)是否有遺漏時,利用if text1.text=””語句進(jìn)行判斷,利用msgbox函數(shù)進(jìn)行信息提示;判斷是否有非數(shù)值型數(shù)據(jù)時,利用isnumeric函數(shù)進(jìn)行判斷,利用msgbox函數(shù)進(jìn)行信息提示,具體代碼此處不再展示。
(2)度分秒轉(zhuǎn)化為小數(shù)度
因輸入的陀螺方位角為度分秒模式,如83.35083表示83°35′08.3″,為方便計算,需要將度分秒轉(zhuǎn)化為小數(shù)度,故定義了度分秒轉(zhuǎn)化小數(shù)度的Function過程,主要代碼如下:
Private Function xsd(jd As Single) As Single ′度分秒轉(zhuǎn)換成小數(shù)度
Dim d As Integer,f As Single,m As Single
d=Int(jd)
f=Int((jd-d) * 100) / 60
m=(jd * 100-Int(jd * 100)) * 100 / 3600
xsd=d+f+m
End Function
此過程將輸入的度分秒轉(zhuǎn)化為便于計算的小數(shù)度,如89.35083表示的89°35′8.3″,轉(zhuǎn)化為89.58564度。
(3)計算地上坐標(biāo)方位角
根據(jù)地上已知點的平面坐標(biāo),計算已知邊坐標(biāo)方位角,定義了計算坐標(biāo)方位角的Function過程,主要代碼如下:
Private Function zbfwj(x1 As Double,y1 As Double,x2 As Double,y2 As Double) As Double ′根據(jù)坐標(biāo)計算坐標(biāo)方位角
Dim dx As Single,dy As Double,a As Single
Const PI As Single=3.14159265357
dx=x2-x1:dy=y2-y1
a=Atn(Abs(dy) / Abs(dx)) * 180 / PI
If dy>0 And dx>0 Then
zbfwj=a
ElseIfdy>0 And dx<0 Then
zbfwj=180-a
ElseIfdy<0 And dx>0 Then
zbfwj=360-a
ElseIfdy<0 And dx<0 Then
zbfwj=180+a
End If
End Function
(4)計算子午線收斂角
子午線收斂角的計算有兩種方法,一種是通過經(jīng)緯度計算,計算公式為:
γ=sinB*△L[8]
式中B為設(shè)站點緯度,△L為設(shè)站點經(jīng)度與中央子午線經(jīng)度之差。
另一種是通過子午線收斂角系數(shù)k值表計算,計算公式為:
γ=ky[9]
式中,k為系數(shù),根據(jù)設(shè)站點縱坐標(biāo)X由表查出,y是該點的橫坐標(biāo),γ的單位為分。
本設(shè)計采用的是k值表計算法,定義了子午線收斂角計算的Function過程,此過程代碼較長,此處只體現(xiàn)部分代碼如下:
Private Function zwxslj(ByVal x1 As Double,ByVal y1 As Double) As Double ′根據(jù)K值法計算子午線收斂角
Dim K As Double,x2 As Double,x3 As Double,y2 As Double
x2=Int(Left(x1,4) / 100) * 100
x3=(x1-(x2 * 1000)) / 1000
y2=y1 / 1000
Select Case x2
Case 100
K=0.0085+0.0085 * x3 / 100
Case 200
K=0.017+0.0085 * x3 / 100
……
Case 6000
K=0.7437+0.0248 * x3 / 100
End Select
zwxslj=(K * (y2-500)) / 60
End Function
通過以上幾步過程,可以求得地上已知邊的坐標(biāo)方位角、地上設(shè)站點的子午線收斂角、地下設(shè)站點的子午線收斂角,從而求得儀器常數(shù),最終求得地下待定邊的坐標(biāo)方位角,并在用戶界面中顯示。
本文以濟(jì)南市軌道交通R2線一期工程和R3線一期工程共7條定向邊的陀螺定向測量數(shù)據(jù)為例進(jìn)行程序的分析驗證。濟(jì)南市軌道交通R2線全長 36.4 km,其中地下線 34.8 km、高架線 1.6 km,共設(shè)置19座車站,其中地下站18座、高架站1座,大致呈東西走向;濟(jì)南市軌道交通R3線全長 21.57 km,共設(shè)置車站13座,全部為地下站,大致呈南北走向。在R2線選取了4個區(qū)間的4條定向邊,在R3線選取了3個區(qū)間的3條定向邊,共7條定向邊的陀螺定向測量數(shù)據(jù),通過人工Excel計算和程序計算結(jié)果的對比,對程序的可行性和準(zhǔn)確性進(jìn)行驗證,人工Excel計算過程中,子午線收斂角的計算采用經(jīng)緯度的方法,利用公式γ=sinB*△L計算。程序計算與Excel計算成果對比如表1所示。
程序計算與Excel計算成果差值表 表1
通過表1中Excel計算與程序計算成果的對比分析,得用程序計算的地下待定邊的坐標(biāo)方位角與人工用Excel計算的坐標(biāo)方位角之差均在±0.5″以內(nèi)。經(jīng)過分析,程序計算與Excel計算成果的差值,為用經(jīng)緯度計算子午線收斂角和用k值表計算子午線收斂角兩種不同計算方法所致,這也驗證了程序中所定義的子午線收斂角計算Function過程的正確性??烧J(rèn)為程序計算的地下待定邊的坐標(biāo)方位角與Excel計算的坐標(biāo)方位角是一致的,所計算的成果是可靠的,可用于對隧道內(nèi)導(dǎo)線邊方位角進(jìn)行校核,以提高貫通精度。
本文根據(jù)陀螺定向測量方位角計算的方法,使用Visual Basic語言對陀螺定向測量方位角計算程序進(jìn)行了設(shè)計與實現(xiàn),并通過濟(jì)南市軌道交通R2線和R3線共7個區(qū)間的7條陀螺定向邊實際測量數(shù)據(jù),驗證了程序的計算成果可靠。通過程序的應(yīng)用,可以有效地提高陀螺定向測量方位角計算的效率,降低人工計算的出錯概率,可為地下隧道測量相關(guān)從業(yè)者提供借鑒和參考。