本程序以高斯四節(jié)點(diǎn)法為計(jì)算內(nèi)核,多條線(xiàn)路正反算,中樁,邊樁高程計(jì)算,超高計(jì)算,超高緩和計(jì)算,加寬計(jì)算,加寬緩和計(jì)算,邊坡開(kāi)口線(xiàn)計(jì)算,擋土墻坡腳線(xiàn)計(jì)算,考慮了中間綠化帶的影響,適用與國(guó)家高速公路至鄉(xiāng)村四級(jí)公路計(jì)算和放樣,路基路面工程可以直接得出中邊樁的設(shè)計(jì)三維坐標(biāo),去掉加寬和超高影響的計(jì)算困難,邊坡和坡腳線(xiàn)計(jì)算可直接在邊坡上提取坐標(biāo)帶入程序,經(jīng)過(guò)所有設(shè)計(jì)因素的綜合,得出更改邊距并顯示修改偏差后的坐標(biāo).反算速度明顯提高,只需要3秒.程序無(wú)錯(cuò),可放心輸入,另本程序可以增加隧道超欠挖計(jì)算子程序,非常方便,因?yàn)槊總(gè)隧道的斷面數(shù)據(jù)不一樣,所以在此沒(méi)有明確寫(xiě)出.

 

計(jì)算器主程序:ZHU-CHENG-XU
Lbi0:“1,ZS=FS,2ZS,3FS,4XY=>SG,5。。。。。。。”?U:
U=1=>Prog”ZS-FS”: 進(jìn)入公路三維程序
U=2=>Porg”ZS”: 進(jìn)入坐標(biāo)正算程序
U=3=>Porg”FS”: 進(jìn)入坐標(biāo)反算程序
U=4=>Porg”XY =>SG”: 進(jìn)入大地坐標(biāo)轉(zhuǎn)施工坐標(biāo)程序
…………Goto0:

說(shuō)明:計(jì)算器總的主程序,進(jìn)入選擇各種分支計(jì)算程序。1為公路三維計(jì)算,2為普通正算,3為普通反算,4為大地坐標(biāo)轉(zhuǎn)施工坐標(biāo)。。。。。。。。選擇錯(cuò)誤重新選擇。此程序可以不用輸入,只為給大家一個(gè)思路,可以把計(jì)算器所有程序集中到一個(gè)主程序內(nèi)管理.


公路三維部分

正反算選擇程序:ZS-FS
Deg: //設(shè)置角度模式
20→DimZ: //擴(kuò)展變量
“1LZ=>XY,2XY=>LZ,3BIANPO-FY”?U: //正反算選擇,正算選1,反算選2,坡口坡腳選3
If U=1: ThenProg”ZS-XH”:IfEnd: //進(jìn)入正算循環(huán)主程序
IfU=2:Then Prog”FS-XH”:IfEnd: //進(jìn)入反算循環(huán)主程序
IfU=3:ThenProg”BIANPO-XH”:IfEnd: //進(jìn)入邊坡開(kāi)挖主程序
正算循環(huán)主體程序ZS-XH
“1PT-2SJ”?W: //普通計(jì)算和設(shè)計(jì)邊距計(jì)算選擇
“XL-XZ“?U: //選擇線(xiàn)路 1~N
If W=1: Then //運(yùn)行普通計(jì)算模式 邊踞自由輸入
Lbi0:”L=”?L:”Z=”?Z: //輸入樁號(hào)和邊距
Porg”ZS-XH-1“:Goto0:IfEnd:運(yùn)行正算循環(huán)子程序
If W=2:Then //運(yùn)行設(shè)計(jì)計(jì)算模式 邊距按設(shè)計(jì)輸入
Lbi1:”L=”? L: //輸入樁號(hào)
Porg”0。5LUKUAN”: //錄入公路加寬后,左右側(cè)設(shè)計(jì)邊距
Porg”ZS-XH-1“:Goto1:IfEnd: //運(yùn)行正算循環(huán)子程序



正算循環(huán)子程序ZS-XH-1
Prog”PM-XL-XZ”: //進(jìn)入平面線(xiàn)路選擇程序?qū)(xiàn)路線(xiàn)元進(jìn)行選擇
Prog”CHAOXIAN-CL”: //里程超限處理
Prog”GL-ZS”: //進(jìn)入坐標(biāo)正算程序
Prog”GL-BZ-ZS”: //進(jìn)入公路邊樁正算程序
Prog”GC-XL-XZ”: //進(jìn)入高程線(xiàn)路選擇程序?qū)(xiàn)路線(xiàn)元進(jìn)行選擇
Prog”GC”: //進(jìn)入高程部分提取中樁高程
Prog"CG-XL-XZ": //進(jìn)入超高數(shù)據(jù)庫(kù)提取超高數(shù)據(jù)
If W=1:ThenProg”B-H”: //普通計(jì)算時(shí)進(jìn)入邊樁高程部分提取邊樁高程
ElseZ[3] →Z: Porg“B-H”://按設(shè)計(jì)計(jì)算時(shí)候代入減去半邊綠化帶后的路基邊距,提取邊樁高程
Ifend:Prog”ZS-XS”: //進(jìn)入正算顯示程序,提取正算三維結(jié)果

反算循環(huán)主體程序FS-XH
0→Z:“XL-XZ”?U: //選擇線(xiàn)路 1~N
Lbi0:
“L”?L:“X=”?T:“Y=”?S: //輸入起算假定樁號(hào),實(shí)測(cè)X Y
Prog”GL-FS”: /進(jìn)入公路反算程序
Prog”FS-XS”: //進(jìn)入反算顯示程序
Goto0:
坐標(biāo)正算程序GL-ZS
.1739274226→I:.3260725774→J:
.0694318442→K:.3300094782→E : //四節(jié)點(diǎn)法計(jì)算系數(shù)錄入
1-E→F:1-K→M:
Q+KrO(C+KD) →K: //數(shù)據(jù)庫(kù)要用X、Y、Q作為起點(diǎn)坐標(biāo)方位角
Q+ErO(C+ED) →E: //r是弧度,輸入方法FUNCTION 選5
Q+FrO(C+FD) →F:
Q+MrO(C+MD) →M:
X+O(ICos(K)+JCos(E)+JCos(F)+ICos(M)) →X: //計(jì)算出X坐標(biāo)
Y+O(ISin(K)+JSin(E)+JSin(F)+ISin(M)) →Y: //計(jì)算出Y坐標(biāo)
Q+Or(C+D) →Q: //計(jì)算出算點(diǎn)方位角,O是字母,r是弧度:
邊樁坐標(biāo)計(jì)算程序GL-BZ-ZS:
X+Zcos(Q+90) →G: //計(jì)算出邊樁X坐標(biāo)
Y+ZSin(Q+90) →M: //計(jì)算出邊樁Y坐標(biāo)

公路反算程序GL-FS
20→V: //V值設(shè)置為20,為第一次反算控制
Do:Porg”PM-XL-XZ”: //進(jìn)入平面線(xiàn)路選擇程序
Porg”CHAOXIAN-CL”: //里程超限處理程序
If V>10: // V越小反算速度可能越慢,但是半徑過(guò)小有可能算不出來(lái),10為建議值
Then Porg”GL-JY-ZS”: //進(jìn)入公路簡(jiǎn)易正算二節(jié)點(diǎn)程序
Else Porg”GL-ZS”: //進(jìn)入公路正算4節(jié)點(diǎn)程序
IfEnd:T-X→I:S-Y→J: //試算點(diǎn)與測(cè)點(diǎn)X,Y距離差
Pol(I,J):J-Q→J: //方位角轉(zhuǎn)換為接近試算點(diǎn)到測(cè)點(diǎn)的值:
Rec(I,J): //計(jì)算出X差和Y差(X里程,J邊)
I/(1-CJ-2DJ) →V: //計(jì)算出里程大致差距(此公式為加速反算)
L+V→L: //修改后的里程
Abs(V) →V: //修改值的絕對(duì)值
LpWhile V>0.001: //小于一毫米通過(guò),大于一毫米循環(huán)計(jì)算

中樁高程計(jì)算程序GC
If I-A<0:Then1→H:IfEnd: //開(kāi)口向上部分賦值
IfI-A=0:ThenGoto1: IfEnd: //無(wú)豎曲線(xiàn)部分賦值
IfI-A>0:Then-1→H:IfEnd: //開(kāi)口向下時(shí)賦值
(L-C)I+K+(L-C)^2/(2E)H→I: //計(jì)算得出豎曲線(xiàn)部分中樁高程
Goto2:Lbi1:
K+(L-C)I→I: //計(jì)算得出無(wú)豎曲線(xiàn)部分中樁高程
Lbi2:

邊樁高程計(jì)算程序B-H
(L-C)/(D-C)→P: //計(jì)算點(diǎn)占本線(xiàn)元長(zhǎng)比例
3P^(2^(S))-2P^(3^(S)) →P: //計(jì)算得線(xiàn)性和高次拋物線(xiàn)系數(shù)
F+P(T-F)→E: //初步計(jì)算計(jì)算點(diǎn)橫坡
If V=1:Then If N= -1:Then //直線(xiàn)和直緩,緩直,曲線(xiàn)左偏時(shí)
If Z<0:ThenIfE>Z[4]:ThenZ[4]→E: IfEnd : //計(jì)算左側(cè)時(shí),橫坡大于一般橫坡取一般橫坡
I+Abs(Z)E→O: IfEnd : //左側(cè)高程
IfZ>0:Then I+ZF→O:IfEnd: Ifend: //右側(cè)高程得數(shù)
If N=1:Then IfZ<0:Then I+Abs(Z)E→O:IfEnd: //曲線(xiàn)右偏時(shí),左側(cè)高程得得
IfZ>0:Then If E>Z[4]:Then Z[4]→E:IfEnd //右側(cè)高程橫坡大于一般橫坡,取一般橫坡
I+ZE→O:IfEnd: IfEnd: IfEnd: //右側(cè)高程得數(shù)
IfV=2:ThenIf Z>0:Then I+ZE→O:IfEnd://圓曲線(xiàn)全超高和S曲線(xiàn)超高漸變部分右側(cè)高程得數(shù)
IfZ<0:ThenI-Abs(Z)E→O:IfEnd:IfEnd: // 圓曲線(xiàn)全超高和S曲線(xiàn)超高漸變部分左側(cè)高程得數(shù)
備注:如果有更多的坡級(jí),大家可以使用增加變量.完全滿(mǎn)足大家邊坡放樣需求
設(shè)計(jì)標(biāo)準(zhǔn)路面寬度子程序 CHANGSHU
12→Z[1]: //錄入12米為路面半寬度,根據(jù)設(shè)計(jì)修改
1.5→Z[2]: //錄入1.5米為綠化帶半寬,根據(jù)設(shè)計(jì)修改,無(wú)綠化帶輸入0
-0.02 →Z[4]: //錄入-0。02為公路一般橫坡,根據(jù)設(shè)計(jì)修改
注:在以中軸線(xiàn)旋轉(zhuǎn)的超高不考慮綠化帶影響的,在常數(shù)程序中,綠化帶修改為0
路面寬度子程序 0。5LUKUAN
”Z-1,Y+1”?V: //左右邊樁選擇
Porg”CHANG-SHU”: //設(shè)置標(biāo)準(zhǔn)路面半寬
If V=1:Then Porg”GL-JK” //右側(cè)時(shí),進(jìn)入加寬子程序
Z[1]+Z→Z: //計(jì)算右冊(cè)正確公路半寬,
Z-Z[2] →Z[3]:IfEnd://計(jì)算右側(cè)減去半邊綠化帶時(shí)計(jì)算邊樁高程時(shí)用的邊距
IfV=-1: :Then Porg”GL-JK” //左側(cè)時(shí),進(jìn)入加寬子程序
-Z[1]-Z→Z: //計(jì)算左冊(cè)正確公路半寬
Z+[2] → Z[3]:IfEnd: //計(jì)算左側(cè)減去半邊綠化帶時(shí)計(jì)算邊樁高程時(shí)用的邊距
公路加寬子程序GL-JK
前點(diǎn)加寬里程A,加寬止點(diǎn)里程B,“加寬緩和段全長(zhǎng)C,止點(diǎn)加寬寬度D
本加寬程序欠缺S緩和曲線(xiàn)加寬程序,因?yàn)闆](méi)有遇到過(guò),所以暫時(shí)空缺
Porg“JK-XL-XZ”: //進(jìn)入加寬數(shù)據(jù)庫(kù)線(xiàn)路選擇程序
If D=1:Then(4((L-A)/(B-A))^3-3*((L-A)/(B-A))^4)*C→Z:IfEnd:
// 從小大到加寬
If D=2:Then (4(((B-A)-(L-A))/(B-A))^3-3*(((B-A)-(L-A))/(B-A))^4)*C→Z:IfEnd:
//從大到小加寬,以上兩式為參考公式,可根據(jù)圖紙更改公式
IfD=3:ThenZ=Z:IfEnd: //圓曲線(xiàn)加寬直一樣時(shí)
IfZ≠0:then”JK=”:Z◢:IfEnd: //存在加寬值時(shí)顯示加寬值


正算顯示ZS-XS
“FWJ”:Q◢ //顯示計(jì)算里程方位角
“ZHONG-X”:X◢ //顯示中線(xiàn)X坐標(biāo)
“ZHONG-Y”: Y◢ //顯示中線(xiàn)Y坐標(biāo)
“ZHONG-GC”:I◢ //顯示中樁高程
“B-X”:G◢ //顯示邊樁X坐標(biāo)
“B-Y”: M◢ //顯示邊樁Y坐標(biāo)
“B-GC”:O◢ //顯示邊樁高程

反算顯示FS-XS
“L”:L◢ //顯示計(jì)算里程
“Z”:J◢ //顯示計(jì)算邊距

里程超限CHAOXIAN-CL
If L<A:Then “L-<<<”;Stop:IfEnd: //小于本路線(xiàn)最小里程提示,退出程序
If L>B: Then”L+>>>”:Stop:IfEnd: //大于本路線(xiàn)最大里程提示,退出程序
公路簡(jiǎn)易正算程序GL-JY-ZS
0.7886751346→E:
1-E→F:
Q+ErO(C+ED) →E:
Q+ErO(C+FD) →F:
X+O(Cos(E)+Cos(F))/2→X:
Y+O(Sin(E)+Sin(F))/2→Y:
Q+Or(C+D) →Q: //Or,O為字母,r為弧度符號(hào)
邊坡放樣程序BP-FY
“XL-XZ“?U: //線(xiàn)路選擇
”S-L”?L:”X=”?T:”Y=”?S: //輸入試算樁號(hào)和測(cè)點(diǎn)X,Y.
T→Z[10]:S→Z[11]:
Porg”PM-XL-XZ”: //對(duì)平面線(xiàn)路進(jìn)行選擇
Porg”GL-FS“: //進(jìn)入反算程序,反算測(cè)點(diǎn)里程偏距。
If J>0:Then”-----YOU----“◢ //顯示計(jì)算邊坡為公路右側(cè)
Else”-----ZUO----“◢Ifend: //顯示計(jì)算邊坡為公路左側(cè)
Porg”0.5lukuan”: //進(jìn)入設(shè)計(jì)邊距程序
Porg”GC-XL-XZ”: //高程線(xiàn)路選擇
Porg”GC”: //對(duì)中樁高程進(jìn)行計(jì)算
Porg"CG-XL-XZ" //進(jìn)入超高數(shù)據(jù)庫(kù)提取超高數(shù)據(jù)
Z[3] →Z: //錄入減去半個(gè)隔離帶加上加寬值后的邊距
Porg”B-H”: //計(jì)算該里程邊樁高程
Abs(Z)+Z[2] →Z: //錄入設(shè)計(jì)綠化帶
Z[10]→X:Z[11]→Y: //坐標(biāo)變量轉(zhuǎn)換,拋棄中線(xiàn)點(diǎn)XY坐標(biāo),以第一測(cè)點(diǎn)XY為后步起算數(shù)據(jù)
Porg”BP-XL-XZ”: //進(jìn)入邊坡數(shù)據(jù)庫(kù),提取要素.
“1,2,3,4-BP”T //選擇所計(jì)算的邊坡坡段
Porg”BP-FY-1”: //進(jìn)入邊坡計(jì)算子程序1程序
邊坡計(jì)算子程序1 BP–FY-1
O+CB+EF→A: //計(jì)算出邊坡底線(xiàn)高程
Abs(Z)+B+D+E→W: //計(jì)算中線(xiàn)點(diǎn)距離邊坡底線(xiàn)距離
Abs(J)-W→D : //試測(cè)點(diǎn)到起坡點(diǎn)平距
VH→C: //馬道高差
0→B: //設(shè)置邊坡底線(xiàn)平距為0
If T=1: //計(jì)算第一段邊坡
Then Porg”BP-FY-2”:IfEnd: //進(jìn)入計(jì)算子程序2
A+G+C→A: //第二段邊坡底線(xiàn)高程
H+GK→B: //第二段邊坡底距離第一段起線(xiàn)平距
IfT=2:Then //進(jìn)入計(jì)算第二段邊坡
M→G:N→K: //第二段邊坡數(shù)據(jù)變成子程序計(jì)算的第一邊坡數(shù)據(jù)
Porg”BP-FY-2“:IfEnd: //進(jìn)入計(jì)算子程序2
A+M+C→A: //第三段邊坡底線(xiàn)高程
B+H+MN→B //第三段邊坡底距離第一段起線(xiàn)平距
IfT=3:Then //進(jìn)入計(jì)算第三段邊坡
I→G:P→K: //第三段邊坡數(shù)據(jù)變成子程序計(jì)算的第一邊坡數(shù)據(jù)
Porg”BP-FY-2”:IfEnd: //進(jìn)入計(jì)算子程序2
A+I+C→A: //第四段邊坡底線(xiàn)高程
B+H+IP→B: //第四段邊坡底距離第一段起線(xiàn)平距
IfT=4:Then //進(jìn)入計(jì)算第四段邊坡
R→G:S→K: //第四段邊坡數(shù)據(jù)變成子程序計(jì)算的第一邊坡數(shù)據(jù)
Porg”BP-FY-2”:IfEnd: //進(jìn)入計(jì)算子程序2

邊坡計(jì)算子程序3 BP-FY-3
If G<0:Then Return:IfEnd:
IfN<A: //如果測(cè)點(diǎn)高程小于該層邊坡底線(xiàn)高程
Then“++++,SHANG-TIAO”:A-N◢ //顯示坡度錯(cuò)誤,不在本坡段,上幾米再次測(cè)量或計(jì)算低層邊坡
Porg"BP-FY":IfEnd: //返回程序重新找點(diǎn)
If N>(A+G): //如果測(cè)點(diǎn)高程大于該段邊坡定部高程
Then”----,XIATIAO”: N-A-G◢//顯示高程錯(cuò)誤,不在本坡段,應(yīng)在上面坡段,應(yīng)忘上調(diào)整
Porg: BP-FY”: IfEnd: //返回主程序

邊坡計(jì)算子程序2 BP-FY-2
“GC=”?N: //輸入測(cè)點(diǎn)高程

Porg”BP-FY-3”: //判斷測(cè)點(diǎn)是否低于該坡段最低高程
Abs(N-A)*K+B-D→E : //計(jì)算出正確偏差
If Abs(E)≤0.05:Then //如果測(cè)點(diǎn)誤差5厘米以?xún)?nèi)表示成功
”CHENG-GONG,WUCHA=”:E◢ //成功后,顯示測(cè)點(diǎn)誤差
Prog”BP-FY”:IfEnd: //返回主程序測(cè)下個(gè)斷面
IfJ>0:ThenE→Z: //右側(cè)錄入誤差
Else -E →Z: Z→Z[10] //左側(cè)錄入誤差
IfEnd:
Porg”GL-BZ-ZS”: //計(jì)算下一點(diǎn)坐標(biāo)
“X=”:G◢“Y”:M◢ //顯示下一點(diǎn)坐標(biāo),進(jìn)行放樣
G→X:M→Y: //錄入XY坐標(biāo),進(jìn)行下次計(jì)算
“GC=”N: //輸入測(cè)點(diǎn)高程
Abs(N-A)*K+B-(D+E)→C: //計(jì)算出正確偏差
If Abs(C)≤0.05:Then //如果測(cè)點(diǎn)誤差5厘米以?xún)?nèi)表示成功
”CHENG-GONG,WUCHA=”:C◢ //成功后,顯示測(cè)點(diǎn)誤差
Prog”BP-FY”:IfEnd: //返回主程序測(cè)下個(gè)斷面
CE/(E-C) →F: //由上次兩點(diǎn)誤差推算第三點(diǎn)
IfJ>0:ThenF→Z: //右側(cè)錄入誤差
Else -F→Z: IfEnd: // 左側(cè)錄入誤差
Porg”GL-BZ-ZS”: //進(jìn)行下一點(diǎn)坐標(biāo)計(jì)算
“X=”:G◢“Y=”:M◢ //顯示下一點(diǎn)坐標(biāo),進(jìn)行放樣
G→T:M→S: //錄入XY坐標(biāo),進(jìn)行下次計(jì)算
“NONO” : //本循環(huán)未計(jì)算出正確點(diǎn)
Porg”BP-FY”: //,使用計(jì)算出的坐標(biāo),進(jìn)入下個(gè)循環(huán),程序自動(dòng)把此坐標(biāo)帶入下個(gè)循環(huán)

數(shù)據(jù)庫(kù)部分
1平曲線(xiàn)數(shù)據(jù)庫(kù)

平面線(xiàn)路選擇程序PM-XL-XZ
U=1=>Prog”HUO-DA-XIAN”: //進(jìn)入假定線(xiàn)路活大線(xiàn)。
U=2=>Prog”X2”: //進(jìn)入路線(xiàn)2
U=3=>prog”X3”: //進(jìn)入路線(xiàn)3
(P-R)/(2HPR)→D:
L-OO: //正算程序需要補(bǔ)充部分
OD→D:
1/P→C:
(數(shù)據(jù)庫(kù))活大線(xiàn)HUO-DA-XIAN
線(xiàn)路起點(diǎn)里程→A:線(xiàn)路終點(diǎn)里程→B:
If L≤第一線(xiàn)元止點(diǎn)里程:Then 起點(diǎn)X坐標(biāo)→X:起點(diǎn)Y坐標(biāo)→Y:
起點(diǎn)半徑(左-,右+)→P:止點(diǎn)半徑(左-,右+)→R:本線(xiàn)元長(zhǎng)度→H:
線(xiàn)元起點(diǎn)樁號(hào)→O:起點(diǎn)方位角→Q:Return:IfEnd:
If L≤第二線(xiàn)元止點(diǎn)里程:。。。 。。。Return:
。。。 。。。


二號(hào)線(xiàn)路X2


三號(hào)線(xiàn)路X3


2,高程數(shù)據(jù)庫(kù)部分

說(shuō)明:輸入部分:L為計(jì)算里程,C為起點(diǎn)里程,,I為縱向前坡坡度,A為縱向后坡坡度,E為半徑, K為起點(diǎn)高程,
高程線(xiàn)路選擇程序GC-XL-XZ
U=1=>Prog”GC1”: //進(jìn)入線(xiàn)路高程1
U=2=>Prog”GC2”: //進(jìn)入線(xiàn)路高程2
U=3=>Prog”GC3”: /進(jìn)入線(xiàn)路高程3


一號(hào)線(xiàn)路高程GC1
If L≤該段止點(diǎn)里程:Then(前坡 例0。01)→I:(后坡 例-0。034)→A:(豎曲線(xiàn)半徑)→E:((起點(diǎn)高程)→K:(起點(diǎn)樁號(hào))→C:止點(diǎn)樁號(hào)→D:Return:Ifend;
… …

二號(hào)線(xiàn)路高程GC2

三號(hào)線(xiàn)路高程GC3

3超高數(shù)據(jù)庫(kù)
IfU=1:ThenPorg”CG1”:IfEnd: //進(jìn)入線(xiàn)路1
IfU=2;ThenPorg”CG2”:IfEnd: //進(jìn)入線(xiàn)路2
IfU=3:ThenProg”CG3”:IfEnd: //進(jìn)入線(xiàn)路3
超高線(xiàn)路選者程序CG-XL-XZ
N為曲線(xiàn)左右偏區(qū)別符號(hào)(左-1,右+1),F(xiàn)為起點(diǎn)橫坡,T為止點(diǎn)橫坡,S為線(xiàn)性漸變和高次漸變的判斷要素,取0為線(xiàn)性,取1為高次。V為一般段超高緩和段與全超高和卵型插入緩和段判斷要素。直線(xiàn)一般超高緩和段輸入1,全超高和S超高緩和段輸入2,顯示部分:重要約定,在全超高平曲線(xiàn)和卵型曲線(xiàn)插入緩和段中,前橫坡F和后橫坡T都輸入右側(cè)橫坡。

超高數(shù)據(jù)庫(kù)1 CG1
-0.02→F:-0.02→T:        //錄入直線(xiàn)部分一般超高,數(shù)據(jù)根據(jù)設(shè)計(jì)調(diào)整
0→S:1→V:          。浫胫本(xiàn)部分計(jì)算性質(zhì),數(shù)據(jù)根據(jù)設(shè)計(jì)調(diào)整
1→N:     。→N:數(shù)據(jù)不調(diào)整,輸入以上幾段后,直線(xiàn)超高不變段可不再輸入數(shù)據(jù).
                 
If L≥該段起點(diǎn)里程 And L≤該段止點(diǎn)里程:Then(超高緩和段輸入1,單圓曲線(xiàn)全超高和S超高緩和段輸入2) →V:(平曲線(xiàn)左右偏區(qū)別符號(hào),超高緩和段才輸入 左-1,右+1)→N:(超高方式選擇,0為線(xiàn)性,取1為高次)→S:(起點(diǎn)橫坡 例-0。02,根據(jù)設(shè)計(jì)值更改)→F:(止點(diǎn)橫坡例+0.03,根據(jù)設(shè)計(jì)值更改)→T:起點(diǎn)樁號(hào)→C:止點(diǎn)樁號(hào)→D:Return:Ifend;
...。

超高數(shù)據(jù)庫(kù)2 CG2

超高數(shù)據(jù)庫(kù)3 CG3

4,加寬數(shù)據(jù)庫(kù)

加寬線(xiàn)路選擇程序 JK-XL-XZ
IfU=1:ThenPorg”JK1”:IfEnd: //進(jìn)入線(xiàn)路1
IfU=2;ThenPorg”JK2”:IfEnd: //進(jìn)入線(xiàn)路2
IfU=3:ThenProg”JK3”:IfEnd: //進(jìn)入線(xiàn)路3
:…….

加寬數(shù)據(jù)庫(kù) JK1
A為加寬前里程,B為加寬止點(diǎn)里程,C最大加寬點(diǎn)加寬寬度,D加寬趨勢(shì)(從前往后輸入1從后往前輸入2 ,全加寬輸入3) Z全加寬寬度(注明,不加寬部分不需要錄入數(shù)據(jù)庫(kù),加寬緩和段不輸入Z,全加寬不輸入C)
1號(hào)線(xiàn)路JK1
0→Z: //錄入不加寬部分加寬值為0,此句必須輸
IfV=(公路左側(cè)-1,公路右側(cè)+1): Then L≤此段起點(diǎn)And L≥此段終點(diǎn):Then 加寬前里程→A:加寬段止點(diǎn)里程→B:最大加寬點(diǎn)加寬寬度→C:加寬趨勢(shì)(由小到大1,由大到小2)→D:IfEnd: //此段為加寬緩和段的格式
IfV=(公路左側(cè)-1,公路右側(cè)+1): Then L≤此段起點(diǎn) And L≥此段終點(diǎn):Then 加寬前里程→A:加寬段止點(diǎn)里程→B:最大加寬點(diǎn)加寬寬度→C:加寬趨勢(shì)3→D:加寬寬度→ZIfEnd: //此段為全加寬段的格式

2號(hào)線(xiàn)路JK2

3號(hào)線(xiàn)路JK3

。。。 。。。

5,邊坡數(shù)據(jù)庫(kù)

邊坡線(xiàn)路選擇程序 BP-XL-XZ
IfU=1ThenPorg"BP1":IfEnd: //進(jìn)入線(xiàn)路1
IfU=2ThenPorg"BP2":IfEnd: //進(jìn)入線(xiàn)路2
IfU=3ThenProg"BP3":IfEnd: //進(jìn)入線(xiàn)路3
.........

路肩寬度B 路肩坡度C 邊溝寬度D、平臺(tái)寬度E 平臺(tái)坡度F 馬道寬H 馬道坡度 V (馬道坡度向邊坡側(cè)仰為-,向公路側(cè)仰為正)1級(jí)邊坡高度G1級(jí)別邊坡坡度K 2級(jí)邊坡高度M 2級(jí)邊坡坡度N 3級(jí)邊坡高度I 3級(jí)邊坡坡度P 4級(jí)邊坡高度R 4級(jí)邊坡坡度 S

邊坡數(shù)據(jù)庫(kù)1 BP1
If J≥(或≤區(qū)分路基左右)0:Then If L(里程)<終點(diǎn)樁號(hào) And >起點(diǎn)樁號(hào):Then
"1~N": //錄入本線(xiàn)元邊坡級(jí)數(shù),在使用時(shí)候可以看到本段邊坡級(jí)數(shù),而選擇計(jì)算邊坡層
路肩寬度→B:路肩坡度→C:邊溝寬度→D:平臺(tái)寬度→E:平臺(tái)坡度→F:馬道寬度→H:
馬道坡度→V:1級(jí)邊坡高度→G:1級(jí)別邊坡坡度→K : 2級(jí)邊坡高度→M: 2級(jí)邊坡坡度→N : 3級(jí)邊坡高度I: 3級(jí)邊坡坡度P: 4級(jí)邊坡高度R: 4級(jí)邊坡坡度:Return:IfEnd:IfEnd: //約定:所有邊坡度正負(fù)符號(hào)向中線(xiàn)內(nèi)側(cè)傾斜為+,向外側(cè)傾斜為-。有幾層邊坡就錄入多少邊坡數(shù)據(jù),只有一層邊坡時(shí)可不錄入馬道高寬數(shù)據(jù)

邊坡數(shù)據(jù)庫(kù)2 BP2

邊坡數(shù)據(jù)庫(kù)3 BP3

使用說(shuō)明:

進(jìn)入常數(shù)子程序更改設(shè)計(jì)常數(shù)
根據(jù)數(shù)據(jù)庫(kù)說(shuō)明編寫(xiě)數(shù)據(jù)庫(kù)
一,坐標(biāo)正算方法

普通計(jì)算
1,進(jìn)入主程序ZHU-CHENG-XU
2,選擇使用程序,根據(jù)大家錄入的代碼,本程序,選擇1
3,選擇坐標(biāo)1,正算,2,反算,3邊坡放樣,選擇1
4,1為普通計(jì)算或者2設(shè)計(jì)計(jì)算 選者1,選者1
5,線(xiàn)路選擇 1~N,根據(jù)計(jì)算路線(xiàn)編號(hào)進(jìn)行選者
6,輸入計(jì)算里程
7,輸入計(jì)算邊距,左-,右正
8,顯示計(jì)算點(diǎn)方位角,顯示計(jì)算點(diǎn)中樁XY,顯示中樁高程,顯示邊樁XY,顯示邊樁高程

設(shè)計(jì)計(jì)算
1,進(jìn)入主程序ZHU-CHENG-XU
2,選擇使用程序,根據(jù)大家錄入的代碼,本程序,選擇1
3,選擇坐標(biāo)1,正算,2,反算,3邊坡放樣,選擇1
4,1為普通計(jì)算或者2設(shè)計(jì)計(jì)算 選者1,選者2
5,線(xiàn)路選擇 1~N,根據(jù)計(jì)算路線(xiàn)編號(hào)進(jìn)行選者
6,輸入計(jì)算里程
7,輸入計(jì)算左邊樁或者右邊樁 左側(cè)輸入-1,右側(cè)輸入+1
8,顯示計(jì)算點(diǎn)方位角,顯示計(jì)算點(diǎn)中樁XY,顯示中樁高程,顯示邊樁XY,顯示邊樁高程

二,坐標(biāo)反算方法

1,進(jìn)入主程序ZHU-CHENG-XU
2,選擇使用程序,根據(jù)大家錄入的代碼,本程序,選擇1
3,選擇坐標(biāo)1,正算,2,反算,3邊坡放樣,選擇2
4,線(xiàn)路選擇 1~N,根據(jù)計(jì)算路線(xiàn)編號(hào)進(jìn)行選者
5,輸入試算點(diǎn)里程L 可輸入任意里程,數(shù)據(jù)庫(kù)有數(shù)據(jù)就好,離真實(shí)坐標(biāo)越近越快
6,輸入測(cè)點(diǎn)X,Y
7,顯示測(cè)點(diǎn)里程和邊距

三,邊坡開(kāi)口放樣與坡腳放樣
1,進(jìn)入主程序ZHU-CHENG-XU
2,選擇使用程序,根據(jù)大家錄入的代碼,本程序,選擇1
3,選擇坐標(biāo)1,正算,2,反算,3邊坡放樣,選擇3
4,輸入試算點(diǎn)里程
5,輸入山坡上第一測(cè)點(diǎn)X,Y,Z
6,顯示本邊坡級(jí)數(shù),選者計(jì)算坡級(jí),如測(cè)點(diǎn)高程不在本坡級(jí),程序會(huì)提示上多少米或者下多少米重新找點(diǎn)測(cè)量。
6,如測(cè)點(diǎn)平距誤差小于設(shè)定值5cm,顯示成功語(yǔ)句并自動(dòng)轉(zhuǎn)換到下個(gè)斷面從第4步開(kāi)始,如誤差過(guò)大自動(dòng)計(jì)算修改值,顯示下一點(diǎn)坐標(biāo),
7,輸入第二測(cè)點(diǎn)高程
8,如測(cè)點(diǎn)平距誤差小于設(shè)定值5cm,顯示成功語(yǔ)句并自動(dòng)轉(zhuǎn)換到下個(gè)斷面從第4步開(kāi)始,如誤差過(guò)大自動(dòng)計(jì)算修改值,顯示下一點(diǎn)坐標(biāo),
8,輸入第三測(cè)點(diǎn)高程
9,如測(cè)點(diǎn)平距誤差小于設(shè)定值5cm,顯示成功語(yǔ)句并自動(dòng)轉(zhuǎn)換到下個(gè)斷面從第4步開(kāi)始,如誤差過(guò)大自動(dòng)計(jì)算修改值,顯示下一點(diǎn)坐標(biāo),
10如果以上三點(diǎn)均未找到邊坡開(kāi)口線(xiàn),程序顯示下一點(diǎn)坐標(biāo),并顯示NONO,并返回第4部,試算點(diǎn)坐標(biāo)和XY部分不需要修改,只需要如實(shí)輸入第四測(cè)點(diǎn)高程,再次開(kāi)始循環(huán)計(jì)算