朱金秀,蓋僑僑
(安徽理工大學(xué)測(cè)繪學(xué)院,安徽 淮南 232001)
?
基于VB的圓曲線偏角法測(cè)設(shè)程序
朱金秀,蓋僑僑
(安徽理工大學(xué)測(cè)繪學(xué)院,安徽 淮南 232001)
介紹了利用VB良好的人機(jī)交互對(duì)話界面,運(yùn)用VB代碼設(shè)計(jì)出一種與傳統(tǒng)圓曲線測(cè)設(shè)一致的智能數(shù)據(jù)處理軟件程序,并驗(yàn)證了程序的易用性與可靠性。
圓曲線;偏角法;Visual Basic 6.0;放樣數(shù)據(jù)
在應(yīng)用工程測(cè)量學(xué)中經(jīng)常遇到道路曲線測(cè)設(shè)問(wèn)題,放樣數(shù)據(jù)的處理是曲線測(cè)設(shè)的基礎(chǔ),傳統(tǒng)的手工計(jì)算計(jì)算量大、煩瑣且容易出錯(cuò),直接影響線路工程的效率和質(zhì)量。
為快速有效的完成任務(wù),本文基于VB語(yǔ)言編寫(xiě)了計(jì)算圓曲線道路放樣數(shù)據(jù)的程序,通過(guò)對(duì)偏角法對(duì)應(yīng)放樣數(shù)據(jù)的計(jì)算進(jìn)行了編程實(shí)現(xiàn)。
1.1 曲線要素計(jì)算
圓曲線要素包括曲線半徑R、線路轉(zhuǎn)角α、切線長(zhǎng)T、曲線長(zhǎng)L、外矢距E和切曲差q。其中,曲線半徑R和線路轉(zhuǎn)角α在線路的勘探設(shè)計(jì)階段給出,其他四個(gè)要素的計(jì)算公式如下。
q=2T-L
圖1 圓曲線示意圖Fig.1 Schematic diagram of circular curve
里程計(jì)算:
按順序JD→ZY→QZ→YZ
ZY里程=JD里程-T
QZ里程=ZY里程+L/2
YZ里程=QZ里程+L/2
檢核:檢驗(yàn)JD里程+T-q的值是否與上式計(jì)算結(jié)果一致。
1.2 圓曲線基于偏角法的詳細(xì)測(cè)設(shè)
圓曲線基于偏角法的詳細(xì)測(cè)設(shè)計(jì)算要素主要包括偏角Δ(i),細(xì)部點(diǎn)距ZY點(diǎn)或YZ點(diǎn)曲線長(zhǎng)lh(i) ,相鄰樁點(diǎn)之間的弦長(zhǎng)cx(i)相鄰樁點(diǎn)之間的弧長(zhǎng)cn(i),里程l(i) ,計(jì)算方法如下式。
Δ(i) =Δ(1) + (i - 1) ×Δ(0)
lh(i)=2×R×sin(Δ(i))
cn(i) = cn(1) + (i - 1) ×c
l(i) = l(1) + (i - 1) × c
圖2 偏角法放樣示意圖Fig.2 Schematic diagram of laying off by deflection angle method
2.1 曲線要素及主點(diǎn)里程計(jì)算
T = Int((R * Tan(α / 2)) * 100 + 0.5) / 100
l = Int(α * R * 100 + 0.5) / 100
E = Int(R * (1 / Cos(α / 2) - 1) * 100 + 0.5) / 100
q = Int((2 * T - l) * 100 + 0.5) / 100
lzy = lc - T
lqz = lzy + l / 2
lyz = lqz + l / 22.2 求ZY點(diǎn)到QZ點(diǎn)偏角偏距(ZY點(diǎn)到QZ點(diǎn)類似)
第一,求半條曲線離首端最近一點(diǎn)的分弦cn(1),到ZY點(diǎn)的距離l(1),偏角Δ(1)。
cn(1) = Int(lczy) - Int(lczy) Mod c + c - lczy
l(1) = Int(lczy) - Int(lczy) Mod c + c
Δ(1) = (cn(1) / (2 * Form3.R)) * (180 / Form2.pi)
Δ0 = c / (2 * Form3.R) * (180 / Form2.pi)
第二,求前半段點(diǎn)的偏角偏距。
Print “計(jì)算結(jié)果:”
Print “點(diǎn)號(hào)”; Spc(2); “里程”; Spc(4); “相鄰點(diǎn)弦長(zhǎng)”; Spc(3); “相鄰點(diǎn)弧長(zhǎng)”; Spc(3); “至ZY點(diǎn)弦長(zhǎng)”; Spc(4); “偏角”
Print “ZY”; Spc(3); Format(lczy, “000.000”); Spc(10); Spc(10); Spc(17); “000°00′00″”
‘循環(huán)輸出前半段曲線各樁點(diǎn)的點(diǎn)號(hào)、里程及對(duì)應(yīng)的偏距以及相鄰點(diǎn)弦長(zhǎng)與弧長(zhǎng)和至ZY點(diǎn)的弦長(zhǎng)
Do
i = i + 1
l(i) = l(1) + (i - 1) * c ‘l(i)為各樁點(diǎn)對(duì)應(yīng)的里程
Δ(i) = Δ(1) + (i - 1) * Δ0 ‘Δ(i) 為各樁點(diǎn)對(duì)應(yīng)的偏角
cx(i) = 2 * Form3.R * Sin((Δ(i) - Δ(i - 1)) * pi / 180) ‘cx(i) 為各相鄰樁點(diǎn)之間的弦長(zhǎng)
cn(i) = cn(1) + (i - 1) * c ‘cn(i)為各樁點(diǎn)到ZY的弧長(zhǎng)
lh(i) = lh(i - 1) + cx(i) ‘lh(i)為各樁點(diǎn)到ZY的弦長(zhǎng)
x(i) = Format(Int(Δ(i)), “000”)
y(i) = Format(Int((Δ(i) - Int(Δ(i))) * 60), “00”)
z(i) = Format(Int(((Δ(i) - Int(Δ(i))) * 60 - y(i)) * 60), “00”)
‘x(I),y(i),z(i)的引用是為了將角度轉(zhuǎn)化為度秒分格式
Print i; Spc(2); Format(l(i), “000.000”); Spc(3); Format(cx(i), “000.000”); Spc(5); Format(cn(i) - cn(i - 1), “000.000”); Spc(5); Format(lh(i), “000.000”); Spc(3); x(i) & “°” & y(i) & “′” & z(i) & “″”
Loop While l(i) <= lcqz - c
‘求出曲中點(diǎn)對(duì)應(yīng)的各要素
n = (lcqz - lczy) / (2 * Form3.R) * (180 / pi)
Print “QZ”; Spc(3); Format(lcqz, “000.000”); Spc(3); Format(Form3.l / 2 - (lh(i) - lh(i - 1)), “000.000”); Spc(5); Format(lcqz - lczy - cn(i), “000.000”); Spc(5); Format(2 * Form3.R * Sin(Form3.α / 4), “000.000”); Spc(3); Format(Int(n), “000”) & “°” & Format(Int((n - Int(n)) * 60), “00”) & “′” & Format(Int(((n - Int(n)) * 60 - Int((n - Int(n)) * 60)) * 60), “00”) & “″”
第三,同理,可編出后半段點(diǎn)的偏角偏距。
程序編寫(xiě)完成后,經(jīng)多個(gè)算例驗(yàn)證測(cè)試后,結(jié)果準(zhǔn)確無(wú)誤,現(xiàn)就圓曲線偏角法計(jì)算,過(guò)程如圖。
圖3 數(shù)據(jù)輸入界面Fig.3 Data input interface
圖5 結(jié)果輸出Fig.5 Output
注意:本軟件所指的偏角僅給出角度值,實(shí)際應(yīng)用中要考慮正撥與反撥,如果曲線在切線的右側(cè),為正撥;曲線在切線的左側(cè),為反撥。
本文介紹的基于VB的圓曲線偏角法測(cè)設(shè)程序,輸入已知數(shù)據(jù),自動(dòng)進(jìn)行數(shù)據(jù)處理計(jì)算及得到最終成果表。過(guò)程和傳統(tǒng)的導(dǎo)線計(jì)算表一致,但是比較快捷、方便且準(zhǔn)確度高。利用VB語(yǔ)言編寫(xiě)計(jì)算VB強(qiáng)大的人機(jī)對(duì)話功能使得到的結(jié)果透明度高,便于檢核和修改錯(cuò)誤,提升了圓曲線測(cè)量數(shù)據(jù)處理計(jì)算的工作效率??梢?jiàn),在VB環(huán)境下編制曲線測(cè)設(shè)程序,具有多功能、快速、準(zhǔn)確、簡(jiǎn)單等特點(diǎn),滿足當(dāng)下道路施工要求。
[1] 胡振琪.應(yīng)用工程測(cè)量學(xué)[M].北京:煤炭工業(yè)出版社,2008.
[2] 薛皓然,蔡云霞,古君.基于VB曲線放樣程序設(shè)計(jì)[J].西部資源,2015,(06):101-102.
Measuring program for laying off circular curve by deflection angle method based on VB
ZHU Jin-xiu, GE Qiao-qiao
(School of Surveying and Mapping, Anhui University of Science and Technology, Huainan 232001, China)
This paper describes the way of using the VB code to design a set of intelligent data processing software with the use of VB good man-machine interface, which is consistent with the way of laying off traditional circular curve, and verify the usability and reliability of the program.
Circular curve; Deflection angle method; Visual Basic 6.0; Layout data
2017-04-02
朱金秀(1997-),女,在校本科生。
P258
A
1674-8646(2017)10-0176-02