周命端,王 淼,張文堯,王賓賓,馬博泓
(1.北京建筑大學(xué) 測(cè)繪與城市空間信息學(xué)院,北京 102616;2.北京建筑大學(xué) 土木與交通工程學(xué)院,北京 102616;3.陜西鐵道工程勘察有限公司,陜西 西安 221116)
圓曲線是平面線形中常用的線性要素,公路或鐵路不論轉(zhuǎn)角大小均需設(shè)計(jì)圓曲線。交通載體從直線進(jìn)入圓曲線時(shí),駕駛員應(yīng)逐漸改變轉(zhuǎn)向角,從直線過(guò)渡到圓曲線。交通載體在曲線行駛的曲率可能是不斷變化的,為適應(yīng)這一曲率變化還需設(shè)置緩和曲線。另外,縱斷面設(shè)計(jì)中心線可由許多不同坡度的坡段構(gòu)成豎曲線。無(wú)論是圓曲線、緩和曲線還是豎曲線,針對(duì)單一曲線的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算較為簡(jiǎn)單。仝海飚以Visual C++6.0為開(kāi)發(fā)平臺(tái),設(shè)計(jì)開(kāi)發(fā)了道路緩和曲線坐標(biāo)法測(cè)設(shè)軟件[1];紀(jì)凱利用Excel的表格特性進(jìn)行緩和曲線中樁坐標(biāo)計(jì)算[2];張帥帥等人利用VB與Matlab設(shè)計(jì)實(shí)現(xiàn)緩和曲線坐標(biāo)計(jì)算程序[3];郭有寶利用學(xué)生函數(shù)計(jì)算器快速計(jì)算緩和曲線測(cè)設(shè)數(shù)據(jù)[4-5]。然而,在實(shí)際線路設(shè)計(jì)中往往是多種類曲線復(fù)雜組合,現(xiàn)有工具軟件難以滿足這種組合的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算。本文基于VS2010開(kāi)發(fā)平臺(tái),利用C#編程語(yǔ)言,設(shè)計(jì)開(kāi)發(fā)一種適用于多種類曲線組合的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算軟件(LPLS),并給出軟件設(shè)計(jì)與開(kāi)發(fā)的程序?qū)崿F(xiàn)流程圖,對(duì)提高線路曲線的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算工作效率具有重要的現(xiàn)實(shí)意義和實(shí)用價(jià)值。
圓曲線坐標(biāo)測(cè)設(shè)計(jì)算原理[6-8]如圖1所示。假設(shè)M是圓曲線上任意點(diǎn),其在施工坐標(biāo)系下的坐標(biāo)計(jì)算步驟為:
圖1 圓曲線坐標(biāo)測(cè)設(shè)計(jì)算原理
1)計(jì)算圓心O的坐標(biāo)。首先計(jì)算ZY點(diǎn)到Y(jié)Z點(diǎn)的坐標(biāo)方位角:
(1)
然后,計(jì)算ZY點(diǎn)到Y(jié)Z點(diǎn)劣弧所對(duì)應(yīng)的圓心角:
(2)
由式(2),可以求得β角:
(3)
根據(jù)式(1)和式(3),求得ZY點(diǎn)到O點(diǎn)的坐標(biāo)方位角:
αZY→O=αZY→YZ+β.
(4)
根據(jù)坐標(biāo)正算公式,計(jì)算圓心O的坐標(biāo):
(5)
2)計(jì)算圓心O到ZY點(diǎn)的坐標(biāo)方位角:
αO→ZY=αZY→O-180°.
(6)
3)計(jì)算圓心O到圓曲線上任意點(diǎn)M的坐標(biāo)方位角。首先計(jì)算ZY點(diǎn)到M點(diǎn)的弧長(zhǎng)lM:
lM=LM-LZY.
(7)
式中:LM為M點(diǎn)的里程;LZY為ZY點(diǎn)的里程。其次,計(jì)算ZY點(diǎn)到M點(diǎn),劣弧所對(duì)應(yīng)的圓心角:
(8)
根據(jù)式(6)和式(8),求得圓點(diǎn)O點(diǎn)到M點(diǎn)的坐標(biāo)方位角:
αO→M=αO→ZY+θM.
(9)
4)計(jì)算M點(diǎn)的樁點(diǎn)坐標(biāo)。根據(jù)式(9)以及坐標(biāo)正算公式,計(jì)算M點(diǎn)的坐標(biāo):
(10)
帶緩和曲線的圓曲線坐標(biāo)測(cè)設(shè)計(jì)算原理[6-8]如圖2所示。
圖2 帶緩和曲線的圓曲線坐標(biāo)測(cè)設(shè)計(jì)算原理
在圖2所示的獨(dú)立坐標(biāo)系下,假如K是緩和曲線段上任意點(diǎn),其在施工坐標(biāo)系下的坐標(biāo)計(jì)算步驟為:
1)計(jì)算K點(diǎn)的切線角βK和K點(diǎn)的偏角δK:
(11)
(12)
式中:LK是K點(diǎn)到ZH點(diǎn)的弧長(zhǎng),Lh是緩和曲線長(zhǎng)度,R為圓曲線半徑。
2)計(jì)算K點(diǎn)到ZH點(diǎn)的偏角:
αK=αZH→JD+δK.
(13)
3)計(jì)算K點(diǎn)到ZH點(diǎn)的弦長(zhǎng)Ck:
(14)
其中,K點(diǎn)坐標(biāo)
4)計(jì)算K點(diǎn)在施工坐標(biāo)系下的樁點(diǎn)坐標(biāo)。根據(jù)式(13)和(14)以及坐標(biāo)正算公式,計(jì)算K點(diǎn)在施工坐標(biāo)系下的坐標(biāo):
(15)
另一方面,在圖2所示的獨(dú)立坐標(biāo)系下,若Q點(diǎn)是在帶緩和曲線的圓曲線上的任意點(diǎn),其在施工坐標(biāo)系下的坐標(biāo)計(jì)算步驟為:
1)計(jì)算Q點(diǎn)的切線方位角:
(16)
2)計(jì)算緩和曲線切線增值q和圓曲線的內(nèi)移值ΔR:
(17)
(18)
3)由式(16)~(18)可得到獨(dú)立坐標(biāo)系下Q點(diǎn)的坐標(biāo):
(19)
4)根據(jù)式(19)計(jì)算Q點(diǎn)到ZH點(diǎn)的偏角和Q點(diǎn)到ZH點(diǎn)的弧長(zhǎng):
αQ=αZH→JD+δQ,
(20)
(21)
5)根據(jù)式(20)、式(21)可計(jì)算得到施工坐標(biāo)系下Q點(diǎn)的坐標(biāo):
(22)
豎曲線高程測(cè)設(shè)計(jì)算原理[6-8]如圖3所示。假設(shè)V是豎曲線上任意點(diǎn),其設(shè)計(jì)高程計(jì)算步驟為:
圖3 豎曲線高程測(cè)設(shè)計(jì)算原理
1)計(jì)算豎曲線的基本要素:曲折角α、豎曲線切線長(zhǎng)T、豎曲線長(zhǎng)度L和豎曲線外矢徑E,計(jì)算式所示:
(23)
2)計(jì)算起、終點(diǎn)的里程:
(24)
式中:MO為豎曲線起點(diǎn)里程;M變?yōu)樽兤曼c(diǎn)里程;MD是豎曲線終點(diǎn)里程。
3)計(jì)算坡度線上任意點(diǎn)的切線高程:
(25)
dV=MV-MO,
4)計(jì)算豎曲線各點(diǎn)與對(duì)應(yīng)切線各點(diǎn)的高程之差h:
(26)
5)根據(jù)式(25)、式(26)計(jì)算豎曲線任意點(diǎn)V的設(shè)計(jì)高程:
(27)
根據(jù)推導(dǎo)的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算模型,包括圓曲線坐標(biāo)測(cè)設(shè)計(jì)算、帶緩和曲線的圓曲線坐標(biāo)測(cè)設(shè)計(jì)算和豎曲線高程測(cè)設(shè)計(jì)算,本文基于VS2010開(kāi)發(fā)平臺(tái),設(shè)計(jì)開(kāi)發(fā)了線路曲線點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算軟件(LPLS)。LPLS軟件主界面設(shè)計(jì)如圖4所示。
圖4 LPLS軟件主界面設(shè)計(jì)
利用C#編程語(yǔ)言,建立主要的程序模塊,包括曲線要素計(jì)算模塊、曲線配置模塊、中樁坐標(biāo)計(jì)算模塊和中樁高程計(jì)算模塊。LPLS軟件主要程序模塊結(jié)構(gòu)如圖5所示。
圖5 LPLS軟件主要程序模塊結(jié)構(gòu)
如圖5所示,曲線要素計(jì)算模塊主要包括曲線長(zhǎng)、切線長(zhǎng)和切曲差的計(jì)算功能實(shí)現(xiàn);曲線配置模塊主要由路線起、終坐標(biāo)及里程、交點(diǎn)坐標(biāo)及里程和圓曲線半徑及緩和曲線長(zhǎng)度完成曲線配置;中樁坐標(biāo)計(jì)算模塊是根據(jù)曲線要素計(jì)算模塊和曲線配置模塊實(shí)現(xiàn)線路主點(diǎn)坐標(biāo)、線路中樁坐標(biāo)的計(jì)算功能;豎曲線高程計(jì)算模塊可以實(shí)現(xiàn)線路中樁設(shè)計(jì)高程的計(jì)算功能。其中,中樁坐標(biāo)計(jì)算程序模塊和中樁高程計(jì)算程序模塊是LPLS軟件的主要核心模塊,中樁坐標(biāo)計(jì)算程序模塊實(shí)現(xiàn)流程圖如圖6所示,中樁高程計(jì)算程序模塊實(shí)現(xiàn)流程圖如圖7所示。
圖6 中樁坐標(biāo)計(jì)算程序模塊實(shí)現(xiàn)流程
圖7 中樁高程計(jì)算程序模塊實(shí)現(xiàn)流程
為驗(yàn)證與分析點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算模型及程序功能模塊的正確性和有效性,本文選取鐵道工程的某工段里程的中樁點(diǎn)位測(cè)設(shè)數(shù)據(jù)進(jìn)行算例驗(yàn)證。
根據(jù)坐標(biāo)計(jì)算式及計(jì)算步驟,基于VS2010開(kāi)發(fā)平臺(tái),利用C#編程語(yǔ)言,建立線路曲線平面坐標(biāo)計(jì)算功能模塊(LPLS_H),基于LPLS軟件計(jì)算獲得DK6+813~DK9+430工段的每公里里程間隔的中樁平面坐標(biāo)計(jì)算結(jié)果,如圖8所示。
圖8 中樁平面坐標(biāo)計(jì)算結(jié)果
如圖8所示,為驗(yàn)證LPLS軟件計(jì)算中樁平面坐標(biāo)的正確性,本文截取包含緩和曲線、圓曲線等五段曲線段的隨機(jī)選取的里程點(diǎn)進(jìn)行手工驗(yàn)證計(jì)算,將手工驗(yàn)證計(jì)算結(jié)果與LPLS軟件計(jì)算結(jié)果進(jìn)行比較,手工計(jì)算結(jié)果減去LPLS軟件計(jì)算結(jié)果的較差統(tǒng)計(jì)表見(jiàn)表1所示。
表1 手工計(jì)算與LPLS的較差統(tǒng)計(jì)表
從表1可以看出,利用本文開(kāi)發(fā)的LPLS軟件計(jì)算所截取五段曲線上的里程點(diǎn)中樁平面坐標(biāo)結(jié)果與手工驗(yàn)證計(jì)算結(jié)果是一致的(忽略手工計(jì)算的取位誤差)。這說(shuō)明,本文建立的LPLS_H程序模塊是正確的且有效的。
根據(jù)高程計(jì)算式及計(jì)算步驟,基于VS2010開(kāi)發(fā)平臺(tái),利用C#編程語(yǔ)言,建立線路曲線高程計(jì)算功能模塊(LPLS_V),基于LPLS軟件計(jì)算獲得DK503+500~DK504+436工段的中樁高程計(jì)算結(jié)果,如圖9所示。
圖9 中樁高程計(jì)算結(jié)果
如圖9所示,為驗(yàn)證LPLS軟件計(jì)算中樁高程結(jié)果的正確性,本文截取變坡點(diǎn)1的里程DK503+750,高程為1405.530 m,半徑為50 000 m,變坡點(diǎn)2的里程DK504+450,高程為1 408.260 m,半徑為50 000 m,變坡點(diǎn)3的里程DK505+980,高程為1 408.72 m,半徑為80 000 m的已知數(shù)據(jù)進(jìn)行手工驗(yàn)證計(jì)算,任意選取7個(gè)里程點(diǎn)進(jìn)行作較差分析,手工計(jì)算結(jié)果減去LPLS軟件計(jì)算結(jié)果的較差統(tǒng)計(jì)表見(jiàn)表2所示。
表2 手工計(jì)算與LPLS的較差統(tǒng)計(jì)表 m
從表2可以看出,利用本文開(kāi)發(fā)的LPLS軟件計(jì)算豎曲線上任意選取的7個(gè)里程點(diǎn)中樁高程計(jì)算結(jié)果與手工驗(yàn)證計(jì)算結(jié)果是一致的。這說(shuō)明,本文建立的LPLS_V程序模塊是正確的且有效的。
鑒于線路設(shè)計(jì)往往是多種類曲線復(fù)雜組合,現(xiàn)有工具軟件難以滿足這種組合的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算,本文首先分別推導(dǎo)了圓曲線坐標(biāo)測(cè)設(shè)計(jì)算模型、帶緩和曲線的圓曲線坐標(biāo)測(cè)設(shè)計(jì)算模型和豎曲線高程測(cè)設(shè)計(jì)算模型,并利用C#編程語(yǔ)言建立相應(yīng)的程序模塊(LPLS_H和LPLS_V),基于VS2010開(kāi)發(fā)平臺(tái),設(shè)計(jì)并開(kāi)發(fā)一種適用于多種類曲線組合的點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算軟件(LPLS)。通過(guò)某鐵道工程實(shí)例的計(jì)算驗(yàn)證,對(duì)LPLS軟件的功能模塊的正確性做驗(yàn)證,實(shí)現(xiàn)了線路曲線坐標(biāo)及高程測(cè)設(shè)數(shù)據(jù)計(jì)算。本文所設(shè)計(jì)開(kāi)發(fā)的LPLS軟件,可用于公路、鐵路等線路工程的多種類曲線組合的中樁點(diǎn)位測(cè)設(shè)數(shù)據(jù)計(jì)算,對(duì)提高線路工程的施工放樣和縱斷面設(shè)計(jì)工作效率具有重要意義和實(shí)用價(jià)值。