999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于AutoCAD 的地形模擬與區域土方量算的研究

2024-01-16 12:40:06羅勝飛童俊維李志勇
科學技術創新 2024年1期
關鍵詞:設置

羅勝飛,童俊維,李志勇

(郴州市北湖區自然資源事務中心,湖南 郴州)

引言

三維地形模擬作為地形信息的重要組成部分,它逼真地展示了地形的立體形態,并模擬了地表的灰度變化,讓用戶可以直觀地觀察和感受[2]。用戶可以使用不同的需求來對同一個地形形態進行多種三維立體顯示。三維地形模擬成為地理要素空間特征分析的重要工具,可以幫助用戶全面了解研究對象的空間變化特征。許多商業軟件擁有強大的三維立體渲染圖繪制功能,但它們通常只能在特定的軟件環境中使用。用戶開發的很多應用程序需要使用三維立體渲染圖繪制功能,因此如何在專業軟件開發中將該功能二次開發,并成功地集成到客戶應用程序中,成為一個難題。無論是展示三維地形模擬,還是進行準確計算土方量,都離不開一系列核心技術的支持。這些關鍵技術包括三維地形建模、地形簡化、插值、投影變換、紋理映射、光照處理以及DEM計算土方量等技術。這些技術在實現高精度三維地形模擬和土方量計算中發揮著至關重要的作用。現在通過對常用的軟件對三維地形瀏覽、動態顯示和土方量計算的實現情況和效果的比較,本著先進性、實用性、標準化和可擴充性原則,決定用南方CASS對柵格圖形進行矢量化,獲得地形的原始數據,以AutoCAD 為平臺通過VBA 調用Surfer 軟件對地形進行三維地形模擬和三維土方量算。

1 功能設計

本系統以AutoCAD 為平臺,運用VBA 調用Surfer軟件實現三維地形模擬和土方量計算[5]。我們首要任務是熟悉Surfer 軟件的土方量計算功能,并掌握Surfer 軟件的Automation 技術,以便通過VBA更好地控制它。必須具備實際的測繪工程經驗,并全面掌握三維地形模擬和土方量計算需求。在使用Surfer 軟件時,可以采用一種高效的方法——“白化”技術,來確定不規則的區域和線路區域。利用“*.bln”文件可以定義一個區域,然后輕松地從已知的DEM數據中提取該區域的DEM數據。利用Surfer 軟件進行土方量計算時,其過程實際上是通過計算不同高度位置上相同區域內DEM的體積差來完成的。在實際工程領域,對于上方的DEM,所需的形狀主要分為曲面DEM、傾斜平面DEM和水平平面DEM,而下方的DEM也具有相同的三種情況。問題可分解為求解不同情況下體積差的和,每種情況都需計算土方量。當上表面為曲面DEM時,下表面可以是曲面DEM、傾斜平面DEM和水平平面DEM。因此,共有9 種不同的土方量計算情況[1]。Surfer 軟件在生成曲面DEM時,會根據測量得到的高程散點進行插值,從而生成具有規則格網的DEM。傾斜平面地形高程模型可以通過格網函數計算得到,而水平平面地形高程模型是一個固定值。需要注意的是,當Surfer 軟件生成曲面DEM時,它使用的數據是有結構的,并且默認格式是“Surfer Worksheet”格式。從網格文件開始,創建直接渲染三維圖像。在Surfer 的后臺程序中進行繪制過程,最終在客戶應用程序界面上顯示繪制結果(參見圖1)。

圖1 挖方前地形

值得注意的是VBA 不能直接調用Surfer 生成的圖形,而是把生成的三維立體渲染圖保存為.bmp 圖,再用圖像框調用.bmp 圖顯示圖形, 圖像框可以顯示的圖形類型有位圖文件、圖標文件等。調用LoadPicture 函數來加載圖形, 圖像框默認會自動調整大小以適應圖形的大小[4]。

該系統主要由三大模塊組成:數據處理與三維建模、三維顯示與控制以及土方計算。

(1) 數據處理與三維建模模塊:此模塊功能在于它能將存儲在數據庫或文件中的三維點數據轉換為DEM,同時也能將等高線數據轉換為DEM。(2) 三維顯示與控制模塊:該模塊用于展示三維數據,并能夠疊加圖層以及實現一系列基本的三維操作,如放大、縮小、平移、拉框放大、拉框縮小、水平旋轉場景、升降場景等[3]。(3) 土方計算模塊:此模塊提供多種填挖方量計算方式,包括規劃好的土方量計算、土方均衡計算和展示填挖方后的三維地形。

2 關鍵代碼

’以下生成曲面DEM

srf.GridData DataFile:=comDlg.FileName, xCol:=3, yCol:=4, zCol:=5, Algorithm:=srfKriging, ShowReport:=False,SearchEnable:=True, KrigStdDevGrid:=GetCurrentDvbFil ePath () & ″臨時數據″ & Date & ″.grd″, OutGrid:=comDlg1.FileName, OutFmt:=srfGridFmtS7

’以下生成傾斜平面DEM

srf.GridFunction Function:=″z=z1-(((y2-y1)* (z3-z1)-(z2 -z1)*(y3-y1))*(x-x1)+((z2-z1)*(x3-x1)-(x2-x1)*(z3-z1))*(yy1))/((x2-x1)* (z3-z1)-(y2-y1)* (x3-x1))″,xMin:=minbjx,xMax:=maxbjx, xInc:=0.1, yMin:=minbjy, yMax:=maxbjy,yInc:=0.1, OutGrid:=GetCurrentDvbFilePath () & ″臨時數據″& Date & ″wfsj.grd″, OutFmt:=srfGridFmtS7

’以下生成水平平面DEM

srf.GridFunction Function:=″z =sjbg″, xMin:=minbjx,xMax:=maxbjx, xInc:=0.1, yMin:=minbjy, yMax:=maxbjy,yInc:=0.1, OutGrid:=GetCurrentDvbFilePath () & ″臨時數據″ & Date & ″wfsj.grd″, OutFmt:=srfGridFmtS7

’以下代碼為生成白化邊界文件

ThisDrawing.Application.ActiveDocument.Utility.GetEntity objPL, Pnt, vbCr & ″選擇白化邊界(閉合的輕量多段線):″

bjdd = GetVertexCount(objPL)

Tqzb bjddx, bjddy, objPL

’調用提取多段線坐標的函數

Set fso = CreateObject(″Scripting.FileSystemObject″)

Set MyFile = fso.CreateTextFile(GetCurrentDvbFilePath()& ″臨時數據″ & Date & ″.bln″, True)

MyFile.Close,Set fso = Nothing,Set MyFile = Nothing

Open GetCurrentDvbFilePath() & ″臨時數據″ & Date& ″.bln″ For Output As #1

Print #1, bjdd & ″,0″ & ″″″ & ″; 0#; ″ & ″″″

For i = 1 To bjdd Print #1, bjddx (i) & ″,″ &bjddy(i) & ″,″ & 0 Next i Close #1

’以下完成網格數據的″白化″

srf.GridBlank InGrid:=comDlg1.FileName, BlankFile:=GetCurrentDvbFilePath () & ″臨時數據″ & Date & ″.bln″, OutGrid:=comDlg2.FileName, OutFmt:=srfGridFmtS7’計算經過白化處理的上下位置DEM體積差,即土方量。

Dim Results() As Double

srf.GridVolume Upper:=zsmbhsj, Lower:=sjmbhsj,

presults:=Results, ShowReport:=False

’土方量計算結果的顯示

Dim simpson38rule As Double

simpson38rule = Results(srfGVSimp38Vol)

Lable1.Caption = ″土方量計算結果為:″ + simpson38rule

’顯示模擬三維地形

Dim PlotDoc As Surfer.IPlotDocument

Dim MapFrame As Surfer.IMapFrame

Dim SurfaceMap As Surfer.ISurface ’定義對象

Set PlotDoc = SurferApp.Documents.Add(1)

Set MapFrame = PlotDoc.Shapes.AddSurface (comDlg.

FileName) ’添加對象

Set SurfaceMap = MapFrame.Overlays(1) ’設置對象

SurfaceMap.ShowBase = True ’設置底部不顯示

SurfaceMap.BaseFill.color = vbYellow’設置底部顏色

SurfaceMap.ShowColorScale = True ’設置比例尺

SurfaceMap.xMeshFreq = 0 ’設置X表面線顯示的頻率

SurfaceMap.yMeshFreq = 0 ’設置Y表面線顯示的頻率’設置光照角度

MapFrame.LightAzimuth = 130 ’設置光照水平角

MapFrame.LightZenith = 45 ’設置光照垂直角

MapFrame.LightModel = srfLMSmooth ’設置光照模式

MapFrame.ViewProjection = srfPerspective ’設置視角投影

’設置觀察角度

MapFrame.ViewFOV = Val(qxjd.Text)

MapFrame.ViewRotation = Val(xzjd.Text)

MapFrame.ViewTilt = Val(syjd.Text)

’用戶可以選擇將生成的三維立體渲染圖保存為bmp 圖像,并自行指定所需輸出圖像的尺寸和儲存路徑

PlotDoc.Export FileName:=GetCurrentDvbFilePath() & ″臨時數據″ & Date & ″.bmp″, Options:=″ Defaults= 1,Widtli =600, Height =700, ColorDepth= 24″

Image1.PictureSizeMode = 1

Image1.Picture = LoadPicture (GetCurrentDvbFilePath()& ″臨時數據″ & Date & ″.bmp″)

3 應用實例

我們在浮邱山的三維地形模擬和區域土方計算中運用了此系統,無論是在三維地形模擬還是土方計算,都取得了比較好的效果,為工程的順利開展提供了很好的幫助。

在柵格地形圖光柵插入南方CASS 之前,應對區域的柵格地形圖的圖幅號進行統計,并在南方CASS 新建一個圖形文件,在圖上畫出圖幅號方格網。然后再把所有的光柵地形圖光刪插入,通過圖像糾正對光柵地形圖進行校正,再把所有的光柵地形圖進行拼接,得到整個地區的整體柵格地形圖。然后是對柵格地形圖進行矢量化,當時選擇用南方CASS進行矢量化,就考慮了南方CASS 的編輯能力是其他矢量化軟件所不能媲美的,再加上南方CASS已經有了現成的實體編碼庫,還有就是,南方CASS有很多對等高線進行處理的功能。綜合以上幾點,用南方CASS進行柵格地形圖的矢量化工作是很方便,很快捷的。

做完以上的工作后就是利用本系統進行處理,有以下步驟:

(1) 導出數據,按“導出數據”按鈕,根據提示,就可導出散點三維數據。(2) 數據處理,按“數據處理”按鈕,指定散點三維數據數據文件和指定圖形上的閉合多段線(白化邊界),就可生成Surfer 軟件可識別的網格數據了。(3) 挖方前地形模擬,地形狀態選擇“挖方前地形”,按“刷新”按鈕,即可在圖片框顯示三維圖形了,見圖1。(4) 土方計算,按“土方計算”按鈕,指定圖形上的閉合多段線(挖方邊界),即可計算出區域的填挖方和在圖形中生成施工零線,見圖2 和圖3。(5) 挖方后地形模擬,地形狀態選擇“挖方后地形”,按“刷新”按鈕,即可在圖片框顯示三維圖形了,見圖4。

圖2 土方計算

圖3 施工零線

圖4 挖方后地形

結束語

這個系統可以快速且簡便地實現三維地形模擬和土方量計算,因此大大提高了工作效率,滿足了實際工作的緊迫需求。本系統使用了VBA開發語言的ActiveX技術,并通過控制Surfer 軟件來完成計算程序。因此,要保證本系統正常運行,必須在計算機上安裝Surfer 軟件,并且用戶需要具備一定的Surfer 軟件操作基礎。本系統在以AutoCAD2006、南方CASS7.0、Surfer11.0 為平臺,順利的通過了調試測試,并在浮邱山的三維地形模擬和區域土方計算中運用了此系統。本系統在功能方面還有進一步擴充的空間,比如:提供更多的原始數據的接口、土方計算提供放坡功能、三維模擬提供更多動態的效果等等。

猜你喜歡
設置
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
船舶防火結構及設置的缺陷與整改
水上消防(2020年5期)2020-12-14 07:16:18
中外醫學專業與專科設置對比分析及啟示
特殊場景下列控等級轉換的設置方案
7招教你手動設置參數
動車段(所)股道有效長設置研究
我國中小學將設置人工智能相關課程
玩具世界(2017年9期)2017-11-24 05:17:29
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 日本国产一区在线观看| 极品国产在线| 四虎成人精品在永久免费| 午夜视频日本| 久久精品91麻豆| 高清无码不卡视频| 色欲国产一区二区日韩欧美| 米奇精品一区二区三区| 亚洲无线视频| 欧美国产在线看| 国内精品小视频福利网址| 国产麻豆福利av在线播放 | 亚洲中文无码h在线观看| 亚洲日韩国产精品无码专区| 欧美激情成人网| 国产成人精品2021欧美日韩| 国产男女XX00免费观看| 99中文字幕亚洲一区二区| 东京热高清无码精品| 国产微拍一区二区三区四区| 国产成人精品一区二区免费看京| 欧美精品1区| 囯产av无码片毛片一级| 欧美无专区| 在线无码av一区二区三区| 国产精品网拍在线| 波多野结衣无码中文字幕在线观看一区二区 | 日本在线亚洲| 老司机aⅴ在线精品导航| 99久久精品无码专区免费| 久久久无码人妻精品无码| 青青草原国产一区二区| 国产电话自拍伊人| 精品欧美日韩国产日漫一区不卡| 国产精品视频a| 久久精品最新免费国产成人| 亚洲高清免费在线观看| 亚洲AⅤ波多系列中文字幕| 九九热在线视频| 国产精欧美一区二区三区| 999国内精品视频免费| 精品人妻AV区| 国产免费a级片| 色哟哟色院91精品网站| 午夜国产精品视频黄| 亚洲人成影院午夜网站| 中国国产一级毛片| 亚洲综合色区在线播放2019| 国产日本一线在线观看免费| 日韩一级毛一欧美一国产| 婷婷激情五月网| 中文字幕在线免费看| 欲色天天综合网| 91无码人妻精品一区| 97免费在线观看视频| 国产精品香蕉在线观看不卡| 黄色网站在线观看无码| 在线不卡免费视频| 亚洲经典在线中文字幕| 69免费在线视频| 亚洲精品高清视频| 亚洲欧美一级一级a| 免费国产无遮挡又黄又爽| 试看120秒男女啪啪免费| 91国内在线观看| a在线观看免费| 香蕉视频在线观看www| 国产一区二区福利| 国产精品lululu在线观看| 免费不卡视频| 国产成人狂喷潮在线观看2345| 国产综合网站| 国产成人精品亚洲77美色| 欧美区国产区| 日韩精品无码一级毛片免费| 日韩第九页| 亚洲另类色| 成人国产精品一级毛片天堂| 久久久久无码精品国产免费| 伊人激情久久综合中文字幕| 91久久国产综合精品| 国产丝袜91|