• 
    

    
    

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

      ?

      基于AutoCAD VBA的測(cè)量數(shù)據(jù)比對(duì)軟件開發(fā)

      2022-04-13 06:12:32
      現(xiàn)代測(cè)繪 2022年1期
      關(guān)鍵詞:三角網(wǎng)點(diǎn)位差值

      袁 鵬

      (長(zhǎng)江宜昌航道局,湖北 宜昌 443000)

      0 引 言

      在水下測(cè)量過程中,往往需要對(duì)同一區(qū)域不同時(shí)間段或者不同測(cè)量隊(duì)伍之間的測(cè)量數(shù)據(jù)進(jìn)行對(duì)比。引起兩期數(shù)據(jù)差異的原因有很多,如沖淤、施工、測(cè)量誤差及錯(cuò)誤等等。因此,合理地分析這些差異,進(jìn)而對(duì)測(cè)量結(jié)果進(jìn)行評(píng)定分析尤為重要。同時(shí)由于水下測(cè)量隱蔽等特性,兩期測(cè)量數(shù)據(jù)在平面位置上往往并不重合,這就導(dǎo)致兩者在對(duì)比過程中存在很大的不確定性,此時(shí)如何準(zhǔn)確確定兩者之間的差異并加以量化,對(duì)評(píng)定測(cè)量質(zhì)量、分析水下地形的變化有著重要的現(xiàn)實(shí)意義。諸如arcgis、surfer等軟件也有相應(yīng)的數(shù)據(jù)疊加分析的功能,但是對(duì)于普通測(cè)量員工,該操作過程略顯煩瑣,同時(shí)其并不能以準(zhǔn)確數(shù)值顯示每個(gè)點(diǎn)位的變化情況。因此,基于測(cè)量行業(yè)需求與VBA語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單可視化的測(cè)量數(shù)據(jù)對(duì)比軟件的開發(fā),以期提高水下測(cè)量數(shù)據(jù)的比對(duì)效率和質(zhì)量。

      1 程序設(shè)計(jì)

      1.1 程序目標(biāo)

      實(shí)現(xiàn)兩期數(shù)據(jù)的對(duì)比分析,核心的問題就是如何快速準(zhǔn)確的計(jì)算出同一位置兩期測(cè)量數(shù)據(jù)的差值。基于水下測(cè)量的實(shí)際需求,計(jì)算出同一點(diǎn)位前后兩期的高程差值,并根據(jù)高程差值所在的不同區(qū)間對(duì)測(cè)量點(diǎn)數(shù)加以統(tǒng)計(jì)。測(cè)量行業(yè)多采用CAD進(jìn)行繪圖展點(diǎn),基于AutoCAD VBA的編程原理進(jìn)行程序開發(fā),更有利于測(cè)量人員操作。因此選擇基于VBA進(jìn)行程序開發(fā)及窗體設(shè)計(jì),以期為用戶提供一個(gè)既快速準(zhǔn)確又具有良好人機(jī)交互界面的數(shù)據(jù)對(duì)比軟件。

      1.2 對(duì)比算法確定

      如何實(shí)現(xiàn)同一位置兩期數(shù)據(jù)的對(duì)比,根據(jù)實(shí)際操作過程主要有以下3種方法:① 采用距離相近法,對(duì)距離相近的兩個(gè)點(diǎn)間進(jìn)行比較計(jì)算(類似于傳統(tǒng)方法進(jìn)行兩期數(shù)據(jù)的對(duì)比);② 采用網(wǎng)格法,計(jì)算前后兩期網(wǎng)格點(diǎn)的數(shù)據(jù)然后進(jìn)行比較計(jì)算(類似于surfer軟件的計(jì)算原理);③ 采用三角網(wǎng)插值法,按本次測(cè)量點(diǎn)位對(duì)原數(shù)據(jù)進(jìn)行內(nèi)插計(jì)算[3],本次測(cè)量點(diǎn)位內(nèi)插值與實(shí)測(cè)值進(jìn)行比較計(jì)算。考慮到方法①中如何界定距離相近存在人為性,同時(shí)在水下地形復(fù)雜的地方,較小的位置偏差水深就會(huì)有較大的變化,因此比較的嚴(yán)謹(jǐn)性不足,而且同一位置相近的點(diǎn)也許會(huì)有很多,容易出現(xiàn)死循環(huán);方法②中網(wǎng)格的大小確定存在一定問題,生成的網(wǎng)格區(qū)域一般都是規(guī)則的矩形[4],需經(jīng)過處理,才能直觀反映測(cè)區(qū)情況,同時(shí)檢查結(jié)果展點(diǎn)后呈現(xiàn)規(guī)則的網(wǎng)格狀,為判斷其在測(cè)區(qū)的位置關(guān)系,還需進(jìn)行測(cè)量邊界的白化處理;方法③對(duì)比的位置與實(shí)測(cè)位置一致,同時(shí)檢查的密度也與實(shí)測(cè)的比例尺一致,檢查結(jié)果根據(jù)實(shí)測(cè)的點(diǎn)密度和斷面設(shè)計(jì)情況輸出呈現(xiàn)。綜上所述,確定采用三角網(wǎng)內(nèi)插計(jì)算的方法進(jìn)行數(shù)據(jù)的對(duì)比分析。

      1.3 內(nèi)插算法的確定

      內(nèi)插法計(jì)算差值主要分為4步(圖1):

      圖1 內(nèi)插算法示意圖

      第一步,根據(jù)原始數(shù)據(jù)生成三角網(wǎng)點(diǎn)表。

      第二步,判斷本次測(cè)量的各點(diǎn)(內(nèi)插點(diǎn)),采用角度法判斷點(diǎn)在那個(gè)三角形角網(wǎng)內(nèi),或者三角形邊上。

      第三步,用雙線性內(nèi)插計(jì)算內(nèi)插點(diǎn)的高程[5-6]。

      雙線性內(nèi)插的計(jì)算方法如下。根據(jù)已知3個(gè)點(diǎn)A、B、C,內(nèi)插計(jì)算P的高程:

      Zl=ZA+(ZB-ZA)×(Xl-XA)/(XB-XA)

      Zy=ZA+(ZC-ZA)×(Xr-XA)/(Xc-XA)

      Zp=Zl+(Zr-Zl)×(Xp-Xl)/(Xr-Xl)

      Yp=Yl=Yr,點(diǎn)l、r分別位于直線AB和AC上。

      第四步,本次測(cè)量的高程值與內(nèi)插所得高程值進(jìn)行差值計(jì)算,所得值即為該點(diǎn)前后兩次測(cè)量的不符值。

      1.4 程序架構(gòu)圖

      根據(jù)程序設(shè)計(jì)的流程及軟件的操作過程,繪制程序架構(gòu)[7],如圖2所示。首先把兩期的測(cè)量數(shù)據(jù)轉(zhuǎn)換為常用的CASS格式(點(diǎn)號(hào),,Y,X,Z)。在軟件開始界面輸入兩期數(shù)據(jù),并輸入互查閥值,即確定差值所在區(qū)間進(jìn)行統(tǒng)計(jì)和展點(diǎn)顯示。點(diǎn)擊確定,基于后臺(tái)程序的計(jì)算把每個(gè)點(diǎn)位的差值和統(tǒng)計(jì)結(jié)果分別顯示在CAD界面和軟件界面上。

      圖2 程序架構(gòu)圖

      2 程序?qū)崿F(xiàn)

      2.1 主程序編寫

      (1)利用原始數(shù)據(jù)生成三角網(wǎng)

      Private Function Create_Triangle(l As Long, x#(), y#(), h#(), Sjw_L As Long, X1#(), Y1#(), H1#(), X2#(), Y2#(), H2#(), x3#(), y3#(), h3#())As Boolean

      ….

      X1(Sjw_L)= x(a),X2(Sjw_L)= x(b),x3(Sjw_L)= x(c)

      Y1(Sjw_L)= y(a),Y2(Sjw_L)= y(b),y3(Sjw_L)= y(c)

      H1(Sjw_L)= h(a),H2(Sjw_L)= h(b),h3(Sjw_L)= h(c)

      (2)本次測(cè)量數(shù)據(jù)內(nèi)插并求取差值

      Public Function Triangle_Ins(l As Long, x#(), y#(), h#(), X1#(), Y1#(), H1#(), X2#(), Y2#(), H2#(), x3#(), y3#(), h3#(), Point_x#, Point_y#)As Double

      ….

      OutPoint_xyh(2)= bc_h(ds)-go.Triangle_Ins(l, x, y, h, X1, Y1, H1, X2, Y2, H2, x3, y3, h3, OutPoint_xyh(0), OutPoint_xyh(1))

      ….

      (3)把計(jì)算差值結(jié)果與設(shè)置臨界值的關(guān)系按實(shí)際點(diǎn)位位置以文字的形式標(biāo)出

      Call ThisDrawing.ModelSpace.AddText(Format(OutPoint_xyh(2), "0.0"), OutPoint_xyh, TextHeight)

      2.2 調(diào)試及運(yùn)行

      以某水域前后兩期測(cè)量數(shù)據(jù)為例。手動(dòng)設(shè)置數(shù)據(jù)檢查的各臨界值,通過閥界值的設(shè)定,程序會(huì)自動(dòng)對(duì)兩次測(cè)量數(shù)據(jù)的差值進(jìn)行分區(qū),以不同的層、不同顏色進(jìn)行展點(diǎn)顯示。輸入與輸出界面如圖3-圖5所示。

      圖3 程序開始界面

      圖4 程序計(jì)算結(jié)果界面

      圖5 對(duì)比顯示結(jié)果界面

      各區(qū)間占比數(shù)字的字體顏色與相對(duì)應(yīng)區(qū)間展點(diǎn)的字體顏色一致。

      關(guān)閉顯示界面,返回CAD界面,此時(shí)各區(qū)間差值點(diǎn)都已經(jīng)展繪在CAD界面上。

      3 結(jié) 語(yǔ)

      通過構(gòu)建三角網(wǎng),內(nèi)插對(duì)比的方法能夠大幅度的提高檢查對(duì)比的效率,且更加準(zhǔn)確,同時(shí)鑒于差值不同的顯示效果,可以快速確定地形變化區(qū)域;在對(duì)比過程中對(duì)對(duì)比結(jié)果的統(tǒng)計(jì),能夠?qū)Ρ敬螠y(cè)量結(jié)果進(jìn)行準(zhǔn)確評(píng)價(jià);根據(jù)實(shí)際需要可對(duì)差值區(qū)間進(jìn)一步細(xì)化,或變換差值顯示效果,提高對(duì)比的辨識(shí)效果。

      猜你喜歡
      三角網(wǎng)點(diǎn)位差值
      1年期國(guó)債收益率跌至1%
      銀行家(2025年1期)2025-02-08 00:00:00
      機(jī)器人快速示教方法及示教點(diǎn)位姿變換的研究
      差值法巧求剛體轉(zhuǎn)動(dòng)慣量
      枳殼及其炮制品色差值與化學(xué)成分的相關(guān)性
      中成藥(2017年6期)2017-06-13 07:30:35
      針對(duì)路面建模的Delaunay三角網(wǎng)格分治算法
      垂直面內(nèi)建立基線的特殊點(diǎn)位高程測(cè)量法
      清華山維在地形圖等高線自動(dòng)生成中的應(yīng)用
      基于區(qū)域最大值與平均值差值的動(dòng)態(tài)背光調(diào)整
      用平均差值法制作鄉(xiāng)鎮(zhèn)精細(xì)化溫度預(yù)報(bào)
      河南科技(2014年14期)2014-02-27 14:12:06
      2013年全國(guó)將建成440余個(gè)國(guó)家空氣監(jiān)測(cè)點(diǎn)位
      洪湖市| 云龙县| 高清| 赣州市| 集贤县| 迁西县| 婺源县| 岳阳市| 榆林市| 建平县| 泸定县| 喀喇| 琼海市| 萨嘎县| 荃湾区| 遵化市| 习水县| 新竹市| 西平县| 汕头市| 浦北县| 湘潭县| 宜春市| 梅河口市| 奈曼旗| 邢台市| 武山县| 九寨沟县| 襄樊市| 宁德市| 陈巴尔虎旗| 灵璧县| 吕梁市| 拉孜县| 郯城县| 乌兰浩特市| 合作市| 社旗县| 旬阳县| 长岛县| 名山县|