• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于VSTO.NET Excel道路平面線形計(jì)算程序開發(fā)與實(shí)現(xiàn)

      2018-07-25 11:38:48馬天馳江智云
      交通科技與經(jīng)濟(jì) 2018年4期
      關(guān)鍵詞:中樁檢核轉(zhuǎn)角

      曹 明,馬天馳,宋 偉,江智云,郭 軍

      (1.浙江省交通規(guī)劃設(shè)計(jì)研究院有限公司,浙江 杭州 310006;2.黑龍江工程學(xué)院 測繪工程學(xué)院,黑龍江 哈爾濱 150050;3.廣州海洋地質(zhì)調(diào)查局,廣東 廣州 510760)

      道路設(shè)計(jì)成果一般分為圖形文件、表格文件以及資料文檔等,其中各種表格文件最為精確,是勘測各階段的數(shù)學(xué)基礎(chǔ),怎樣高效合理地使用這些表格是外業(yè)路線測設(shè)和內(nèi)業(yè)數(shù)據(jù)處理的關(guān)鍵。為提高道路各勘測設(shè)計(jì)及施工階段內(nèi)外業(yè)數(shù)據(jù)處理的效率和準(zhǔn)確性,針對過程中需要提取的重要數(shù)據(jù)進(jìn)行批量和精確計(jì)算,進(jìn)而進(jìn)行進(jìn)一步高精度測量放樣工作,獲取路線野外三維地面數(shù)據(jù)。因此,本文提出基于VSTO和.NET Framework技術(shù)開發(fā)出嵌入式程序用于道路相關(guān)各要素和坐標(biāo)計(jì)算等工作。

      1 .NET和.NET Framework

      .NET是微軟用來實(shí)現(xiàn)XML,Web Services,SOA(面向服務(wù)體系結(jié)構(gòu)Service-Oriented Architecture)與敏捷性的新技術(shù),是微軟的新一代技術(shù)平臺,是基于標(biāo)準(zhǔn)的、聯(lián)通的、適應(yīng)變化的、穩(wěn)定的和高性能的一種技術(shù)。一個.NET應(yīng)用是一個使用.NET Framework類庫來編寫,并運(yùn)行于公共語言運(yùn)行之上的應(yīng)用程序[1]。

      .NET Framework的出現(xiàn),使得原來需要通過編程語言來實(shí)現(xiàn)的工作轉(zhuǎn)由.NET Framework來完成。操作系統(tǒng)也可以通過提供一些.NET Framework不支持的功能,降低程序間通信的復(fù)雜性與局限性。這些程序可以是相同語言編寫的,也可以是不同語言編寫的[2]。

      2 VSTO

      VSTO(Visual Studio Tools for Office)是.NET平臺下最新的Office開發(fā)技術(shù)。相對傳統(tǒng)的VBA技術(shù),VSTO為中高級開發(fā)人員提供了強(qiáng)大的開發(fā)平臺和語言,并解決傳統(tǒng)Office開發(fā)中的諸多問題,開發(fā)人員也可以使用熟悉的技術(shù)來構(gòu)建更加靈活、強(qiáng)大、跨平臺的企業(yè)級解決方案[3-4]。對于Office解決方案開發(fā),VSTO是簡單而強(qiáng)大的框架。這個框架為每個Office開發(fā)者帶來了許多令人驚嘆的好處:窗體空間、類、安全性、服務(wù)器可測量性、面向?qū)ο筇卣?、完整性、易發(fā)布等[5-6]。

      3 道路設(shè)計(jì)線位中邊樁坐標(biāo)計(jì)算

      根據(jù)不同等級道路設(shè)計(jì)要求,道路設(shè)計(jì)中的平面線型包含不同線型要素,但都是由直線、緩和曲線、圓曲線3種基本單元構(gòu)成,如圖1所示;道路平面曲線的基本組合有:基本型(直線—入緩和曲線—圓曲線—出緩和曲線—直線)、卵型曲線、S型曲線、復(fù)合曲線、回頭曲線等[7-8]。

      不同類型的線型各要素算法不同,需對不同線型單獨(dú)計(jì)算,然后按樁號首尾相接,為保證計(jì)算精度,本文保留數(shù)學(xué)模型中的高次項(xiàng),各曲線類型數(shù)學(xué)模型[9-11]如下:

      圖1 道路線路設(shè)計(jì)示意圖

      3.1 直線上點(diǎn)P處中樁坐標(biāo)及方位角

      如圖1所示,P點(diǎn)方位角即為JDi-1與JDi連線方位角αJDi-1JDi如式(1)所示[12-13]:

      (1)

      根據(jù)P點(diǎn)樁號和JDi-1樁號及直線方位角即可求出P點(diǎn)坐標(biāo),故P點(diǎn)坐標(biāo)如式(2)所示:

      (2)

      式中,LP和LJDi-1分別為P點(diǎn)和JDi-1點(diǎn)的樁號,即l為P點(diǎn)與JDi-1的直線長度。

      3.2 圓曲線上任一點(diǎn)中樁坐標(biāo)

      圓曲線上任一點(diǎn)中樁坐標(biāo)(如圖1中K點(diǎn))。

      (3)

      為保證上述數(shù)學(xué)模型中高次項(xiàng)能夠滿足計(jì)算精度要求,對高次項(xiàng)進(jìn)行單獨(dú)計(jì)算,如式(4)所示:

      (4)

      dXK和dYK分別為高次項(xiàng)影響值,本文特選取杭州繞城高速直曲轉(zhuǎn)角表中半徑較小的數(shù)據(jù)進(jìn)行驗(yàn)證,特取ls1=220,R=1 800,αJDi-1JDi=45°。由式(4)可以得出dXM=-0.000 06 m,dYM=0.003 mm。

      3.3 第一緩和曲線任一點(diǎn)的中樁坐標(biāo)

      第一緩和曲線任一點(diǎn)的中樁坐標(biāo)(如圖1中U點(diǎn))

      (5)

      式中,w為路線轉(zhuǎn)角方向識別號,右偏時:w=1,左偏時:w=-1;當(dāng)U點(diǎn)位于第一緩和曲線上時,

      為保證上述數(shù)學(xué)模型中高次項(xiàng)能夠滿足計(jì)算精度要求,對高次項(xiàng)進(jìn)行單獨(dú)計(jì)算,如式(6)所示:

      (6)

      dXU和dYU分別為高次項(xiàng)計(jì)算值,為驗(yàn)證高次項(xiàng)對計(jì)算結(jié)果的影響,本文特選取杭州繞城高速直曲轉(zhuǎn)角表中半徑較小的數(shù)據(jù)進(jìn)行驗(yàn)證,特取l=ls1=220,實(shí)際計(jì)算中l(wèi)

      3.4 第二緩和曲線上任一點(diǎn)中樁坐標(biāo)

      M點(diǎn)處中樁坐標(biāo)計(jì)算式如式(7)[14-15](見圖1):

      (7)

      由于第一緩和曲線與第二緩和曲線數(shù)學(xué)模型一致,因此可以得出該數(shù)學(xué)模型中高次項(xiàng)能夠滿足計(jì)算精度要求,在此不再贅述。

      3.5 邊樁坐標(biāo)計(jì)算

      邊樁坐標(biāo)是在對應(yīng)中樁坐標(biāo)和方位角的基礎(chǔ)上得出,如式(8)、式(9)所示。

      路線左側(cè)邊樁坐標(biāo)計(jì)算式[16]:

      (8)

      路線右側(cè)邊樁坐標(biāo)計(jì)算式[16]:

      (9)

      4 道路上任一點(diǎn)坐標(biāo)計(jì)算程序設(shè)計(jì)

      4.1 程序結(jié)構(gòu)設(shè)計(jì)

      合理的程序結(jié)構(gòu)設(shè)計(jì)是保證計(jì)算準(zhǔn)確性的基礎(chǔ),也為后續(xù)開發(fā)各項(xiàng)功能提供接口,同時通過自檢能更加準(zhǔn)確地檢核內(nèi)部數(shù)據(jù)計(jì)算的準(zhǔn)確性。

      程序具體設(shè)計(jì)框架如圖2所示。

      圖2 程序結(jié)構(gòu)設(shè)計(jì)流程圖

      4.2 程序功能設(shè)計(jì)

      本程序有兩種資料錄入方法。

      方法一:輸入路線起點(diǎn)樁號、交點(diǎn)坐標(biāo)以及入緩和曲線和出緩和曲線長度,并生成對應(yīng)的直曲轉(zhuǎn)角表;

      方法二:直接讀取設(shè)計(jì)直曲轉(zhuǎn)角表。根據(jù)計(jì)算和設(shè)計(jì)提供的直曲轉(zhuǎn)角表對設(shè)計(jì)線路進(jìn)行一致性檢核,檢測設(shè)計(jì)線路是否完整。

      后臺保存線位各段主點(diǎn)要素,然后根據(jù)待計(jì)算樁號所處曲線段和坐標(biāo)計(jì)算模型計(jì)算對應(yīng)坐標(biāo);該坐標(biāo)與設(shè)計(jì)坐標(biāo)進(jìn)行逐樁做標(biāo)記性對比檢核,判斷計(jì)算準(zhǔn)確性和精度。

      此外根據(jù)式(6)和(7)計(jì)算橫斷面成果坐標(biāo)。

      4.3 程序具體實(shí)現(xiàn)

      4.3.1 程序界面設(shè)計(jì)

      本文程序是Excel二次開發(fā)的嵌入式程序,程序界面如圖3所示。

      4.3.2 程序代碼編寫

      C#是面向?qū)ο笤O(shè)計(jì)的程序語言,為更好地維護(hù)和拓展程序,本程序?qū)iT設(shè)計(jì)道路數(shù)據(jù)處理的類HintRoadClass和不同曲線類型的數(shù)據(jù)結(jié)構(gòu),如表1所示定義變量及函數(shù),程序中的主要功能函數(shù)代碼如下。

      1)建立基本應(yīng)用工作表

      for(intiNumsht=sheetName.Length - 1; iNumsht >= 0;

      iNumsht--){_wb.Sheets.Add();

      _wb.ActiveSheet.name=sheetName[iNumsht];}

      2)根據(jù)設(shè)計(jì)參數(shù)生成直曲轉(zhuǎn)角表

      q1 = pm[2,4]/2-ath.Pow(pm[2,4],3)/

      (240 * Math.Pow(pm[2,3],2)) + Math.Pow(pm[2,4],5) / (34560 * Math.Pow(pm[2,3],4));

      表1 程序結(jié)構(gòu)

      圖3 程序操作界面

      q2 = pm[2,5]/2-ath.Pow(pm[2,5],3)/(240*Math.Pow(pm[2,3],2))+Math.Pow(pm[2,5],5)/(34560 * Math.Pow(pm[2,3],4));

      p1 = Math.Pow(pm[2,4],2)/(24 * pm[2,3])-Math.Pow(pm[2,4],4) / (2688 * Math.Pow(pm[2,3],3)) + Math.Pow(pm[2,4],6)/(506880 * Math.Pow(pm[2,3],5));

      p2 = Math.Pow(pm[2,5],2)/(24 * pm[2,3])-ath.Pow(pm[2,5],4)/(2688*Math.Pow(pm[2,3],3))+Math.Pow(pm[2,5],6)/(506880 * Math.Pow(pm[2,3],5));

      t1 = q1 + (pm[2,3] + p2-m[2,3]+p1)*Math.Cos(pj))/Math.Sin(pj);

      t2 = q2 + (pm[2,3] + p1-m[2,3]+p2)*Math.Cos(pj))/Math.Sin(pj);

      ly = pm[2,3] * pj - (pm[2,4] + pm[2,5]) / 2;

      其中q1、q2、p1、p2、t1、t2、ly分別為曲線要素。

      3)中樁坐標(biāo)計(jì)算

      中樁坐標(biāo)計(jì)算分多種情況,需采用不同的數(shù)學(xué)模型,此處只列舉代碼片段,如下:

      l = lxzh - kzh;

      tp = (2 * l - ls1) / 2 / R;

      xp = R * Math.Sin(tp) + q1;

      yp = R * (1 - Math.Cos(tp)) + p1;

      x = x1 + xp * Math.Cos(a0) - zy * yp * Math.Sin(a0);

      y = y1 + xp * Math.Sin(a0) + zy * yp * Math.Cos(a0);

      5 程序測試與工程實(shí)踐

      本文以浙江省某高速公路項(xiàng)目為測試對象,選取其中一段設(shè)計(jì)數(shù)據(jù)進(jìn)行測試,同時闡述程序操作流程,并對計(jì)算結(jié)果進(jìn)行精度統(tǒng)計(jì)。

      啟動Excel軟件后,點(diǎn)擊“路線表格準(zhǔn)備”按鈕,即生成所需工作表,如圖4所示。

      圖4 程序生成工作表

      將設(shè)計(jì)參數(shù)錄入“平面資料”表中,執(zhí)行“生成直曲轉(zhuǎn)表”,即在“直曲線表”中計(jì)算載入數(shù)據(jù),同時讀取設(shè)計(jì)直曲轉(zhuǎn)角表并與該表進(jìn)行詳細(xì)檢核比對,如圖5所示。

      圖5 直曲轉(zhuǎn)角精度及計(jì)算結(jié)果

      將待計(jì)算樁號和橫斷面數(shù)據(jù)錄入相應(yīng)表格即可計(jì)算出相應(yīng)坐標(biāo)等,如圖6所示。限于篇幅有限,在此不一一列舉。

      圖6 道路中樁坐標(biāo)計(jì)算結(jié)果

      此外程序自動將計(jì)算成果與設(shè)計(jì)坐標(biāo)逐個進(jìn)行對比,生成精度檢核報(bào)表,如表2所示。

      表2 計(jì)算結(jié)果精度統(tǒng)計(jì)表

      因篇幅所限,省略了程序運(yùn)行中的部分界面及計(jì)算成果表。

      6 結(jié)束語

      本文研究了道路設(shè)計(jì)參數(shù)數(shù)學(xué)模型,編寫了基于VSTO、Excel和.NET開發(fā)平臺的道路數(shù)據(jù)處理程序,實(shí)現(xiàn)了直線段、入緩和曲線、圓曲線、出緩和曲線段主點(diǎn)坐標(biāo)以及任一點(diǎn)坐標(biāo)和方位角的計(jì)算,通過保留更高迭代項(xiàng)以提高計(jì)算模型的精度,并對各階段成果進(jìn)行檢核,同時對計(jì)算結(jié)果統(tǒng)計(jì)分析形成報(bào)表。程序能在可靠性、效率、精度以及適應(yīng)性等方面滿足道路測設(shè)放樣要求。同時,對程序結(jié)構(gòu)和功能的優(yōu)化設(shè)計(jì),為今后開發(fā)更多功能提供相應(yīng)接口,有利于程序進(jìn)一步的拓展,以便更高效、更準(zhǔn)確完成今后道路測設(shè)工作。

      本文僅對完整線路進(jìn)行研究和開發(fā),而對于卵型曲線等非完整線位尚有待進(jìn)一步研究和探討。

      猜你喜歡
      中樁檢核轉(zhuǎn)角
      從“檢核”到“鷹架”
      玩轉(zhuǎn)角的平分線
      垂直荷載木結(jié)構(gòu)大跨屋頂設(shè)計(jì)
      三次“轉(zhuǎn)角”遇到愛
      解放軍健康(2017年5期)2017-08-01 06:27:42
      土建工程中樁基礎(chǔ)的施工要點(diǎn)分析
      永春堂贏在轉(zhuǎn)角
      建筑工程土建施工中樁基礎(chǔ)施工要點(diǎn)探討
      檢核目錄法的研究與應(yīng)用—以書架設(shè)計(jì)為例
      福建省廈門第一中學(xué)黃建通老師:中學(xué)生創(chuàng)新思維課程引入“奧斯本檢核表技法”
      新校長(2016年8期)2016-01-10 06:43:49
      關(guān)于公路測量中定線恢復(fù)若干問題的探討
      潍坊市| 平阴县| 怀仁县| 绥棱县| 武宣县| 五指山市| 改则县| 潮安县| 弥勒县| 平利县| 视频| 哈巴河县| 毕节市| 雷波县| 汉源县| 永福县| 阳新县| 汉川市| 南丰县| 绥芬河市| 舟曲县| 成都市| 许昌市| 荥经县| 红桥区| 莱西市| 淅川县| 常德市| 罗山县| 北安市| 舞钢市| 临汾市| 仪征市| 定边县| 香格里拉县| 堆龙德庆县| 宝山区| 手机| 乌兰县| 时尚| 抚宁县|