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
吃紙的妖怪
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
主站蜘蛛池模板: 日韩天堂视频| 伊人久久综在合线亚洲2019| 国产亚洲欧美日韩在线一区| 精品伊人久久久大香线蕉欧美| 国产成人精品视频一区二区电影| 玖玖精品视频在线观看| 91视频国产高清| 老司机aⅴ在线精品导航| 欧美色视频日本| 制服丝袜 91视频| 99久久性生片| 欧美一区国产| 99久久99视频| 98精品全国免费观看视频| 国产日韩欧美精品区性色| 在线视频亚洲欧美| 亚洲AV无码乱码在线观看裸奔| 免费女人18毛片a级毛片视频| 久久精品亚洲热综合一区二区| 爆操波多野结衣| 国产亚洲成AⅤ人片在线观看| 亚洲成a∧人片在线观看无码| 婷婷激情五月网| 日韩精品免费一线在线观看| 国产男女免费完整版视频| 亚洲第一成年人网站| 青青极品在线| 亚洲精品色AV无码看| 美女潮喷出白浆在线观看视频| 亚洲欧美日韩精品专区| 亚洲av成人无码网站在线观看| 人妻中文久热无码丝袜| 伊人久热这里只有精品视频99| 就去色综合| 自拍欧美亚洲| 青青久视频| 日韩 欧美 国产 精品 综合| 国产91视频免费观看| 久久国产精品麻豆系列| 国产欧美另类| 福利国产微拍广场一区视频在线| 99久久国产精品无码| 手机永久AV在线播放| 91日本在线观看亚洲精品| 在线精品亚洲一区二区古装| 国产色婷婷视频在线观看| 国产一区二区三区免费观看| 韩日午夜在线资源一区二区| 国产精品99久久久久久董美香| 久久国产拍爱| 色悠久久久| 精品午夜国产福利观看| 99久久人妻精品免费二区| 欧美黄网站免费观看| P尤物久久99国产综合精品| 国产亚洲视频播放9000| 国产欧美在线| 在线看免费无码av天堂的| 亚洲最大在线观看| 精品视频在线一区| 国产剧情无码视频在线观看| 麻豆精品久久久久久久99蜜桃| yjizz视频最新网站在线| 青青久在线视频免费观看| 伊人91在线| 中文国产成人久久精品小说| 在线日本国产成人免费的| 日本在线免费网站| 啪啪啪亚洲无码| 毛片大全免费观看| 国产不卡国语在线| 波多野结衣一二三| 日本成人一区| 国产成人一二三| 欧美一级高清视频在线播放| 久久综合国产乱子免费| 91毛片网| 香蕉eeww99国产在线观看| 凹凸国产熟女精品视频| 国产成人1024精品下载| 久久婷婷色综合老司机| 精品精品国产高清A毛片|