宋軒彬 韓芬
摘要:文章詳細(xì)敘述了曲線的要素及計(jì)算方法,現(xiàn)階段我國采用的測設(shè)方法及計(jì)算要素,程序的設(shè)計(jì)與實(shí)現(xiàn),軟件的使用與功能。
關(guān)鍵詞:道路曲線;計(jì)算要素;VB;EXCEL;程序設(shè)計(jì)
中圖分類號(hào):P208 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-2374(2013)09-0050-02
1 概述
隨著科學(xué)技術(shù)的進(jìn)步,全站儀和RTK技術(shù)在施工測量中的應(yīng)用與普及,目前全站儀配合RTK在道路施工測量中已被廣泛采用,替代了傳統(tǒng)的曲線測設(shè)方法,此技術(shù)極大地提高了施工測量的精確度和工作效率。
2 問題的提出
曲線測設(shè)是工程建筑物放樣的組成部分之一,尤其是在公路、鐵路的放樣中,曲線的測設(shè)更為重要,也更為頻繁。在傳統(tǒng)的曲線道路中線的測設(shè)較為常用的測設(shè)方法有弦線偏角法和切線支距法。這類方法最大的缺點(diǎn)是內(nèi)外業(yè)工作量大;實(shí)地測設(shè)受現(xiàn)場地形條件影響大;測量誤差容易積累,測設(shè)精度低。近年來,隨著測量儀器設(shè)備的逐步更新,曲線測設(shè)在內(nèi)業(yè)計(jì)算和現(xiàn)場測設(shè)方面都有了較大改進(jìn)(如全站儀極坐標(biāo)法和RTK技術(shù)測設(shè)曲線),這種測量誤差不累計(jì),測設(shè)的點(diǎn)位精度高。這樣就對(duì)我們能否準(zhǔn)確快速地計(jì)算曲線上每個(gè)里程的坐標(biāo)提出了要求。
本文用Visual Basic 6.0在EXCEL中程序開發(fā)功能,基于現(xiàn)階段的各種曲線,編寫了曲線測設(shè)坐標(biāo)的計(jì)算程序,下面以帶有緩和曲線的圓曲線為例。
3 程序的設(shè)計(jì)與實(shí)現(xiàn)
3.1 程序設(shè)計(jì)原理
曲線的測設(shè)原理在工程測量學(xué)中有詳細(xì)的介紹,在此不再詳細(xì)描述,其主要步驟如下:曲線綜合要素計(jì)算→第一緩和曲線單元設(shè)計(jì)坐標(biāo)計(jì)算→帶緩和曲線的圓曲線單元設(shè)計(jì)坐標(biāo)計(jì)算→第二緩和曲線單元設(shè)計(jì)坐標(biāo)的計(jì)算。
3.2 程序的設(shè)計(jì)與部分代碼
3.2.1 本程序是基于VB在EXCEL中的程序開發(fā),在EXCEL中“工具”菜單下的“宏”命令下編寫相應(yīng)的VB程序代碼,后輸入要求的參數(shù),進(jìn)行程序執(zhí)行即可。此程序的實(shí)現(xiàn)只要輸入相應(yīng)的曲線要素ZH-JD的方位角,曲線半徑R,緩和曲線長,轉(zhuǎn)向角,曲線全長,直緩點(diǎn)里程,上一曲線緩直點(diǎn)里程,下一曲線直緩點(diǎn)里程,DJ的X、Y坐標(biāo),曲線偏向。按下設(shè)定的程序鍵,如CTRL+X鍵,EXCEL就自動(dòng)計(jì)算出相應(yīng)的計(jì)算要素;在計(jì)算里程欄下輸入任意一個(gè)里程值,按下CTRL+X即可算出此里程在曲線上的坐標(biāo)。注意的是輸入的里程應(yīng)該在上一曲線直緩點(diǎn)里程和下一曲線直緩點(diǎn)里程之內(nèi),如果輸入的里程為上一曲線直緩點(diǎn)里程和下一曲線直緩點(diǎn)里程之外的,就會(huì)提示“里程溢出”。如果計(jì)算其他的里程,在輸入已知欄的后面輸入相應(yīng)曲線段的要素,就可以計(jì)算自己需要的里程坐標(biāo)了。
3.2.2 程序部分過程和函數(shù)的原代碼如下:
ElseIf lc > ZH And lc < HY Then
li = lc - ZH
xi = li - li ^ 5 / 40 / R ^ 2 / L0 ^ 2
yi = li ^ 3 / 6 / R / L0
b = (li ^ 2) * pa / 2 / R / L0
X = X01 + xi * Cos(A03) - CC * yi * Sin(A03)
Y = Y01 + xi * Sin(A03) + CC * yi * Cos(A03)
Ai = Deg(A0) + CC * b
If Ai > 360 Then
Ai = Ai - 360
End If
ElseIf lc = HY Then
li = lc - ZH
xi = li - li ^ 5 / 40 / R ^ 2 / L0 ^ 2
yi = li ^ 3 / 6 / R / L0
b = (li ^ 2) * pa / 2 / R / L0
X = X01 + xi * Cos(A03) - CC * yi * Sin(A03)
Y = Y01 + xi * Sin(A03) + CC * yi * Cos(A03)
Ai = Deg(A0) + CC * b
If Ai > 360 Then
Ai = Ai - 360
End If
ElseIf lc > HY And lc < YH Then
li = lc - ZH
a12 = ((li - L0) * pa / R + B0) * pi / 180
xi = R * Sin(a12) + m
yi = R * (1 - Cos(a12)) + P
b = (li - 0.5 * L0) * pa / R
X = X01 + xi * Cos(A03) - CC * yi * Sin(A03)
Y = Y01 + xi * Sin(A03) + CC * yi * Cos(A03)
Ai = Deg(A0) + CC * b
If Ai > 360 Then
Ai = Ai - 360
End If
ElseIf lc = YH Then
li = lc - ZH
a12 = ((li - L0) * pa / R + B0) * pi / 180
xi = R * Sin(a12) + m
yi = R * (1 - Cos(a12)) + P
b = (li - 0.5 * L0) * pa / R
X = X01 + xi * Cos(A03) - CC * yi * Sin(A03)
Y = Y01 + xi * Sin(A03) + CC * yi * Cos(A03)
Ai = Deg(A0) + CC * b
If Ai > 360 Then
Ai = Ai - 360
End If
4 結(jié)語
近年來,隨著測量儀器設(shè)備的逐步更新,測設(shè)方法的改進(jìn)(如全站儀極坐標(biāo)法和RTK技術(shù)測設(shè)曲線)和施工過程中的各種測量要求,這樣就對(duì)我們能否準(zhǔn)確快速地計(jì)算曲線上每個(gè)里程的坐標(biāo)提出了要求。本程序很好地解決了這一問題,極大提高了工作效率,簡化了內(nèi)業(yè)的計(jì)算工作,在單位的工程實(shí)踐中得到了廣泛的運(yùn)用。
程序是基于VB在EXCEL中的程序開發(fā),操作簡單,界面友好,功能較為強(qiáng)大。由于水平有限,文中所述不一定完全正確。在此僅做拋磚引玉之作,望測繪界的同仁給予批評(píng)和斧正。
參考文獻(xiàn)
[1]張正祿.工程測量學(xué)[M].武漢:武漢大學(xué)出版社,
2007.
[2]劉鋼. 楊崇禮,等.Visual Basic 6.0程序設(shè)計(jì)實(shí)用教程
[M].北京:中國民航出版社,2000.
[3]VK工作室.EXCEL 2000 VBA入門[M].北京:科學(xué)出
版社,2001.
作者簡介:宋軒彬(1987—),男,安徽南陵人,安徽省長江河道管理局測繪院技術(shù)員,助理工程師,研究方向:地形測量和工程測量。
(責(zé)任編輯:周 瓊)