国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

袁 鵬

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

0 引 言

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

1 程序設計

1.1 程序目標

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

1.2 對比算法確定

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

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

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

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

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

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

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

雙線性內(nèi)插的計算方法如下。根據(jù)已知3個點A、B、C,內(nèi)插計算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,點l、r分別位于直線AB和AC上。

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

1.4 程序架構(gòu)圖

根據(jù)程序設計的流程及軟件的操作過程,繪制程序架構(gòu)[7],如圖2所示。首先把兩期的測量數(shù)據(jù)轉(zhuǎn)換為常用的CASS格式(點號,,Y,X,Z)。在軟件開始界面輸入兩期數(shù)據(jù),并輸入互查閥值,即確定差值所在區(qū)間進行統(tǒng)計和展點顯示。點擊確定,基于后臺程序的計算把每個點位的差值和統(tǒng)計結(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)本次測量數(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)把計算差值結(jié)果與設置臨界值的關(guān)系按實際點位位置以文字的形式標出

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

2.2 調(diào)試及運行

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

圖3 程序開始界面

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

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

各區(qū)間占比數(shù)字的字體顏色與相對應區(qū)間展點的字體顏色一致。

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

3 結(jié) 語

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

猜你喜歡
三角網(wǎng)點位差值
機器人快速示教方法及示教點位姿變換的研究
差值法巧求剛體轉(zhuǎn)動慣量
機器人點位控制速度規(guī)劃算法選擇策略
枳殼及其炮制品色差值與化學成分的相關(guān)性
中成藥(2017年6期)2017-06-13 07:30:35
針對路面建模的Delaunay三角網(wǎng)格分治算法
垂直面內(nèi)建立基線的特殊點位高程測量法
清華山維在地形圖等高線自動生成中的應用
基于區(qū)域最大值與平均值差值的動態(tài)背光調(diào)整
用平均差值法制作鄉(xiāng)鎮(zhèn)精細化溫度預報
河南科技(2014年14期)2014-02-27 14:12:06
2013年全國將建成440余個國家空氣監(jiān)測點位
万盛区| 阿荣旗| 永新县| 谷城县| 固镇县| 连山| 栾川县| 临夏县| 如皋市| 奉节县| 玛纳斯县| 宣威市| 正镶白旗| 进贤县| 始兴县| 施甸县| 洛扎县| 六枝特区| 兴义市| 榆林市| 柳江县| 含山县| 西乌珠穆沁旗| 松阳县| 长治县| 水城县| 长岭县| 洛隆县| 隆回县| 扬中市| 洮南市| 增城市| 读书| 光泽县| 湟中县| 利辛县| 楚雄市| 莎车县| 泾川县| 马尔康县| 榆中县|