何名燈
(福州市勘測(cè)院,福建 福州 350108)
線路測(cè)量含各級(jí)公路、市政道路、河道、橋梁、軌道交通等線形工程在勘測(cè)、設(shè)計(jì)、施工、運(yùn)營階段所進(jìn)行的測(cè)量工作的總稱。線路測(cè)量短則幾百米,長(zhǎng)則幾十上百千米,在日常的測(cè)量放樣過程中,要經(jīng)常對(duì)線路的中樁、邊樁、結(jié)構(gòu)物坐標(biāo)以及標(biāo)高進(jìn)行實(shí)地放樣,內(nèi)業(yè)計(jì)算的數(shù)據(jù)多,對(duì)于現(xiàn)場(chǎng)具體的樁號(hào)會(huì)因內(nèi)業(yè)計(jì)算不齊全而造成無法放樣。通過CASIO fx-5800P計(jì)算器編程,實(shí)現(xiàn)線路任意點(diǎn)三維坐標(biāo)的計(jì)算,給測(cè)量放樣工作帶來了極的便利。
CASIO計(jì)算器采用類結(jié)構(gòu)化BASIC語言,編寫的程序易于閱讀;內(nèi)置128個(gè)常用的數(shù)學(xué)、物理、測(cè)量等公式,且有28500多個(gè)字節(jié)閃存,有足夠的函數(shù)、容量編寫相關(guān)的計(jì)算程序。對(duì)于須錄入多個(gè)起算參數(shù)的程序,可利用串列存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)的功能,便于輸入與編輯統(tǒng)計(jì)數(shù)據(jù)。該型號(hào)計(jì)算器無須備用電池保存機(jī)器內(nèi)的數(shù)據(jù),只采用一節(jié)7號(hào)電池,即使取出電池也不會(huì)丟失內(nèi)存中的程序與數(shù)據(jù)。
線路中線的組成形式有多種多樣,有基本型、S型、凸型、卵型、復(fù)合型等樣式;從圖1~圖5可知線路中線不論何種樣式,均只有三種基本線型組成,即:直線、圓曲線以及緩和曲線。
圖1 S型
圖2 復(fù)合型
圖4 凸型
圖5 卵型
常見的線路中樁坐標(biāo)的算法有偏角法、切線支距法等;對(duì)于不同的線型所運(yùn)用的數(shù)學(xué)模型也不一樣,計(jì)算器程序編寫較為煩瑣。本文用運(yùn)復(fù)化辛普森公式進(jìn)行線路坐標(biāo)計(jì)算;該公式不論是直線段、圓曲線段、緩和曲線段還是非完整緩和曲線段其計(jì)算公式均一致,比較適合于計(jì)算器的編程,該公式被稱為曲線的萬能計(jì)算法。其中線坐標(biāo)算法如下:
圖6 計(jì)算流程圖
*******Prog DL***********
Lb1 8
"0→ZXY,1→ZH,2→BH"?W:(0→中樁坐標(biāo)及高程,1→中樁高程,2→邊樁高程)
If W=1:Then "ZH"?Z:Goto 1:IfEnd
If W=2:Then Goto 3:IfEnd
If W=0:Then Goto 0:Else Stop:IfEnd
Lb1 0:
"ZH"?Z:(ZH,表示輸入要計(jì)算的中樁樁號(hào))
For 1→I TO 12 Step 3(設(shè)置要素存儲(chǔ)位置,可根據(jù)需要自行調(diào)整)
If Z≥List X[I] And Z< List Y[I] Then
List X[I] →A:List Y[I] →B:
List Freq[I] →C:List X[I+1] →D:
List Y[I+1] →E:List Freq[I+1] →K:
List X[I+2] →G:List Y[I+2] →T:
If D>0:Then 1/D*K→D:IfEnd
If E>0:Then 1/E*K→E:IfEnd
Prog “DL.XY” (調(diào)用DL.XY子程序)
"P.X":X⊿(顯示中樁X、Y坐標(biāo))
"P.Y":Y⊿
IfEnd:Next(顯示中樁X、Y坐標(biāo))
"0→DL,1→B.XY"?W:(0→主程序,1→計(jì)算邊樁)
If W=O:Then Goto 8:IfEnd
If W=1:Then Goto 2:IfEnd
Lb1 1
Prog "DL.H":
"Z.H":G⊿(顯示中樁高程)
Goto 8:
Lb1 2:
"PJ"?A:A→Z:"JL"?B:Rec(B,A+R):(輸入偏角、距離)
"P1.X":X+I⊿"P1.Y":Y+J⊿(顯示邊樁X、Y坐標(biāo))
"0→DL,1→B.XY"?W:(0→主程序,1→計(jì)算邊樁)
If W=O:Then Goto 8:Else Goto 2:IfEnd
Lb1 3
"ZH"?Z:"JL"?X:"PJ"?Y:"HP"?O:(輸入樁號(hào)、距離、偏角、橫坡)
Z→M:Z+X*cos(Y)→Z:
Prog "DL.H":(調(diào)用子程序)
"P1.H":G-X*Sin(Y)*O/100⊿(顯示邊樁高程)
"0→DL,1→B.H"?W:(0→主程序,1→計(jì)算邊樁高程)
If W=1:Then Goto 3:Else Goto 8:IfEnd:
*******Prog DL.H***********(子程序:高程計(jì)算)
For 20→I TO 31 Step 2:(設(shè)置要素存儲(chǔ)位置,可根據(jù)需要自行調(diào)整)
List Freq[I] →V:
If V=0:Then List X[I]+Abs(List Y[I+1] /100- List X[I+1]/100)* List Freq[I+1]/2 →List Freq[I] :IfEnd:
D-C→N:Abs(N)*E/2→T:
If N<0:Then (-1)→K:Else 1→K:Ifend:
Lb1 5:
If Z>V:Then 999.99→G:IfEnd:
**************Prog DL.XY**************(子程序:坐標(biāo)計(jì)算)
0→N:0→P:0→O:0→Q:0→S:
Lb1 2:
N+1→N:
(Z-A)/4→H:N*H/2+A→F:
C+(D+(E-D)/2/(B-A)*(F-A))*(F-A)*180/3.15926→R:
If (N/2)=Int(N/2):Then O+cos(R)→O:P+sin(R)→P:Else Q+cos(R)→Q:S+sin(R)→S:IfEnd:
If N≠8:Then Goto 2:IfEnd
Lb1 3:
G+H/6*(cos(C)+4*Q+2*O-cos(R))→X:
T+H/6*(sin(C)+4*S+2*P-sin(R))→Y:Return
**************Prog FREQ**************(數(shù)據(jù)庫完善計(jì)算)
For 1→I TO 12 Step 3(設(shè)置要素存儲(chǔ)位置,可根據(jù)需要自行調(diào)整)
If Z≥List X[I] And Z< List Y[I] Then
List X[I] →A:List Y[I] →B:
List Freq[I] →C:List X[I+1] →D:
List Y[I+1] →E:List Freq[I+1] →K:
List X[I+2] →G:List Y[I+2] →T:
If D>0:Then 1/D*K→D:IfEnd
If E>0:Then 1/E*K→E:IfEnd
List Y[I] →Z:
Prog “DL.XY” (調(diào)用DL.XY子程序)
List Y[I] →List X[I+3]:
R°→List Freq[I+3]:
X→List X[I+5]:
Y→List Y[I+5]:
“Finish”:i⊿
Next:
復(fù)化辛普森公式與偏角法、切線支距法在數(shù)學(xué)模型的不同,其線型的要素也是不一致的。不論是直線、圓曲線、還是緩和曲線,均須錄入起、終點(diǎn)半徑、起點(diǎn)方位角、起點(diǎn)坐標(biāo)、以及偏向。本文運(yùn)用CASIO fx-5800P中的串列存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)功能存儲(chǔ)線路各條線型的要素。串列存儲(chǔ)中每行有3列可供數(shù)據(jù)錄入,每個(gè)線型須錄入8個(gè)要素,需用3行錄入一個(gè)線型所需的要素。由于每段的起點(diǎn)里程、坐標(biāo)、方位角為上一段的終點(diǎn)里程、坐標(biāo)、終點(diǎn)方位角,所以第一段的曲線要素要錄入齊全,從第二段開始,可不錄入起點(diǎn)里程、方位角及X、Y坐標(biāo),這些未錄入的數(shù)據(jù)可調(diào)用“FREQ”程序進(jìn)行計(jì)算,并錄至串列存儲(chǔ)數(shù)據(jù)庫中。數(shù)據(jù)庫所需的各個(gè)要素可從道路直曲表中獲得也可從電子線位圖中獲??;其中偏向輸入-1或1,當(dāng)曲線右轉(zhuǎn)時(shí)偏向?yàn)?,反這為-1。
豎曲線計(jì)算所必需的要素有5個(gè),分別為交點(diǎn)樁號(hào)、交點(diǎn)高程、縱坡一、縱坡二以及曲線半徑;在串列存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)庫中每?jī)尚袖浫胍粋€(gè)豎曲線信息。
串列數(shù)據(jù)存儲(chǔ)結(jié)構(gòu) 表1
福州市軌道交通2號(hào)線全長(zhǎng) 38.55 km,全線共設(shè)60多個(gè)平曲線交點(diǎn),全本提取其中的一部分進(jìn)行驗(yàn)算,驗(yàn)算里程范圍內(nèi)含直線、緩和曲線及圓曲線。利用本程序計(jì)算出來的結(jié)果與設(shè)計(jì)院提供的坐標(biāo)進(jìn)行對(duì)比,通過分析坐標(biāo)計(jì)算較差表,可知兩套三維坐標(biāo)較差均在 ±0.5 mm以內(nèi),所計(jì)算的成果可滿足各類工程施工放樣的需求。
坐標(biāo)計(jì)算較差表 表2
利用CASIO fx-5800P計(jì)算器以復(fù)化辛普森公式為數(shù)學(xué)模型并配合串列存儲(chǔ)數(shù)據(jù)可精確的計(jì)算線路全線的任意里程樁、邊樁的坐標(biāo)計(jì)算,計(jì)算結(jié)果可靠。本程序不僅適用于各種類型的平曲線,也適用于因設(shè)計(jì)變更引的線路斷鏈。當(dāng)有多條線路要進(jìn)行放樣時(shí),須記住線段要素存儲(chǔ)的地址,在主程序中進(jìn)行簡(jiǎn)單的修改就可進(jìn)行其他線路的坐標(biāo)計(jì)算。CASIO fx-5800P型計(jì)算器可通過SB-62數(shù)據(jù)線實(shí)現(xiàn)同型號(hào)計(jì)算器之間的數(shù)據(jù)庫、程序的傳輸,方便數(shù)據(jù)的交流與共享。
[1] 張正祿等. 工程測(cè)量學(xué)[M]. 武漢:武漢大學(xué)出版社,2005.
[2] 覃輝,段長(zhǎng)虹. Casio fx-5800P編程計(jì)算器公路與鐵路施工測(cè)量程序[M]. 上海:同濟(jì)大學(xué)出版社,2009.
[3] 艾揚(yáng)權(quán),雷海峰. 基于Visual Basic的緩和曲線程序設(shè)計(jì)[J]. 北京測(cè)繪,2012(4):60~63.
[4] 何憑宗. 由任意一點(diǎn)的坐標(biāo)計(jì)算相應(yīng)的中樁坐標(biāo)的算法[J]. 礦山測(cè)量,2001(2):19~21.
[5] 王中偉. 道路施工放樣程序雙層面數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn)[J]. 交通科技與經(jīng)濟(jì),2012(1):10~12.
[6] 杜寧,王莉. 線路中邊樁坐標(biāo)計(jì)算的通用數(shù)學(xué)模型[J]. 礦山測(cè)量,2006(2):23~25.
[7] 王國棟,馬俊海. 鐵路三次拋物線緩和曲線的計(jì)算[J]. 交通科技與經(jīng)濟(jì),2011,13(1):13~16.
[8] 李全信. 線路中邊樁坐標(biāo)計(jì)算的通用Gauss-Legendre公式[J]. 工程勘察,2002(3):61~64,71.
[9] 張雨化. 道路勘測(cè)設(shè)計(jì)[M]. 北京:人民交通出版社,2001.
[10] 張延楷. 高速公路線形設(shè)計(jì)[M]. 上海:同濟(jì)大學(xué)出版社,1997.