亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Civil 3D 的水深點轉(zhuǎn)換技術(shù)

        2023-12-08 11:03:30
        科技創(chuàng)新與應(yīng)用 2023年35期
        關(guān)鍵詞:邊線水深圖層

        肖 怡

        (四川省交通勘察設(shè)計研究院有限公司,四川成都 610017)

        在航道整治項目中,設(shè)計水深是設(shè)計人員經(jīng)常需要用到的數(shù)據(jù),這就要求測量人員根據(jù)設(shè)計水位將水下地形點換算成設(shè)計水深點[1]。由于江河等流域是存在上下游比降的,所以在處理水深點轉(zhuǎn)換時不能用單一水面高減去水下高程點來計算水深。目前,很多測量人員都是根據(jù)水位比降[2]分段做水深改正,在航道長度長,水位比降大時,數(shù)據(jù)處理工作極其枯燥繁瑣且耗時。

        AutoCAD Civil 3D 是由Autodesk 公司推出的一款的建筑信息模型(BIM)設(shè)計軟件。為用戶提供強大的測量、設(shè)計、分析與文檔處理解決方案。作為一款強大的平臺軟件,其提供的地形曲面數(shù)據(jù)處理功能對于一線測繪人員十分有用。對于有一定編程經(jīng)驗的測繪人員來說,可以通過Civil 3D 提供的API,用C# 語言對其進(jìn)行二次開發(fā)。本文就介紹了Civil 3D 是如何用C# 二次開發(fā)解決設(shè)計水深點轉(zhuǎn)換工作。

        1 程序設(shè)計思路

        Civil 3D 曲面是由三角網(wǎng)構(gòu)成的,可以用于表達(dá)地形、道路、河流等地形特征。Civil 3D 能真實計算出挖填方的工程量,而且還可以進(jìn)行挖填平衡的自動調(diào)整[3]。在Civil 3D 中,曲面的創(chuàng)建有多種方法,其中最常用的是根據(jù)等高線和圖形對象創(chuàng)建。創(chuàng)建好的曲面對象提供了曲面編輯、查詢及分析功能。其中,編輯功能允許用戶對曲面三角網(wǎng)或者點進(jìn)行添加、刪除、移動等操作;查詢功能支持用戶查詢曲面上的數(shù)據(jù),如高點程、距離、面積等;分析功能支持對曲面進(jìn)行分析,如計算曲面面積、體積等。

        在本程序中,主要是對曲面創(chuàng)建和任意高程點查詢的應(yīng)用。通過用調(diào)整后的設(shè)計水邊線創(chuàng)建水面曲面,然后對水下高程點進(jìn)行水面高程查詢,最后,利用水面高程與水底高程求差計算出真實水深。

        1.1 水邊線高程點數(shù)據(jù)

        水邊線高程點是指在根據(jù)水尺記錄數(shù)據(jù)和設(shè)計水位對水邊線進(jìn)行修正后,在水邊線上根據(jù)水位變化合理地插值出高程點[4],并用Cass 展繪到水邊線地形圖上。成圖效果如圖1 所示。

        圖1 按設(shè)計水位修正后水邊線及水邊高程點

        1.2 水下高程點或地形點數(shù)據(jù)

        在測量內(nèi)業(yè)成圖階段,所有高程點的高程都是水準(zhǔn)高。通常,等深線的繪制是在等高線圖完成之后,用于繪制等深線的原始數(shù)據(jù)如圖2 所示。

        圖2中,河道中的高程點不能直接用于繪制等深線,需要根據(jù)水邊線高程做水深計算。

        為了方便計算,需要把河道中的高程點用Cass 的“高程點生成數(shù)據(jù)文件功能”導(dǎo)出為*.dat 文件,也可以把所有地形點全導(dǎo)出,后續(xù)在程序中做水下點篩選。

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

        程序設(shè)計思路為:首先使用“SSJS(水深計算)”命令啟動程序,交互選擇水邊高程點,程序會自動讀取高程點并構(gòu)建水面曲面;其次讀取水下高程點數(shù)據(jù),程序自動用曲面內(nèi)插計算出高程點對應(yīng)水面高;最后通過內(nèi)部設(shè)定的水深閾值,去掉地面高程點,即得到純凈的水深點,然后將水深點輸出成.dat 文件。

        程序運行流程如圖3 所示。

        圖3 程序運行流程圖

        成果文件為.dat 格式,測繪人員可直接用Cass 加載并進(jìn)行等深線的繪制。

        2 關(guān)鍵技術(shù)研究與實現(xiàn)

        2.1 水邊線高程點編輯

        水邊線高程點內(nèi)插加密需要基于測量時的水尺水位高、實測水邊線和設(shè)計水位線,最后形成圖1 中的水邊高程點,水邊高程點需要均勻分布以確保后續(xù)構(gòu)建的水面曲面足夠精確。

        2.2 程序開發(fā)基礎(chǔ)

        2.2.1 軟件基礎(chǔ)

        Civil 3D 提供了3 種API,分別是.NET API、COM API 和C++[5],其中.NET 語言中的C#語言開發(fā)難度是相對較小的,而且有良好的開發(fā)支持。

        2.2.2 開發(fā)環(huán)境配置

        啟動Visual Studio 2019,選擇“創(chuàng)建新項目”,選擇“類庫(.NET Framework)”,然后框架選擇“.NET Framework4.6”;添加accoremgd.dll、acdbmgd.dll、acmgd.dll、AecBaseMgd.dll 和AeccDbMgd.dll 程序集的引用,并將程序集的“復(fù)制本地”屬性改為“false”(圖4)。

        圖4 引用程序集

        2.3 曲面創(chuàng)建

        為了便于數(shù)據(jù)管理,在新建水面曲面時應(yīng)該為其新建圖層,然后選擇高程點對象添加到曲面中。

        2.3.1 新建圖層

        1)獲取當(dāng)前文檔和數(shù)據(jù)庫,并創(chuàng)建事務(wù)。

        2)獲取圖層表,判斷是否存在“0-Terrain”圖層,如果不存在,則新建“0-Terrain”圖層,并將其設(shè)置為當(dāng)前圖層,如果存在,則將“0-Terrain”圖層設(shè)置為當(dāng)前圖層。

        2.3.2 創(chuàng)建空曲面

        創(chuàng)建曲面是利用Autodesk.Civil.DatabaseServices中的TinSurface 類,首先用TinSurface 的Create 方法創(chuàng)建一個空曲面ID,然后強制轉(zhuǎn)換為三角網(wǎng)曲面對象。

        2.3.3 拾取水邊高程點

        水邊線高程點應(yīng)為Cass 軟件生成的高程點塊,提取高程點前需要定義一個過濾條件用于篩選高程點。

        然后用Editor 類提供的方法提取高程點對象,創(chuàng)建對象ID 集合。

        2.3.4 添加高程點到曲面

        接用TinSurface 的DrawingObjectsDefinition 屬性的AddFromBlocks 方法將高程點添加到空曲面中。

        2.4 水面高程提取

        利用TinSurface 對象的FindElevationAtXY 方法可以查找指定坐標(biāo)處的高程值。

        2.5 水深計算

        2.5.1 讀取高程點文件

        讀取高程點調(diào)用了系統(tǒng)File 類中的ReadAllLines方法,將讀取的行數(shù)據(jù)分別拆分存到指定變量。

        2.5.2 計算點位設(shè)計水深

        水深=水面高程-水下高程點水準(zhǔn)高程。

        利用該計算關(guān)系,循環(huán)遍歷計算所有水下高程點對應(yīng)的設(shè)計水深。

        2.5.3 導(dǎo)出水深點文件

        調(diào)用系統(tǒng)提供的StreamWriter 方法即可完成水深文本文件輸出。

        3 程序應(yīng)用實例——某項目A 河道水深圖

        某項目平面圖如圖5 所示,項目全長約14.5 km,水邊高程點685 個,共有5 754 個地形點(含水下高程點),高程點的格式為點名、編碼、東坐標(biāo)、北坐標(biāo)(圖6),經(jīng)測試轉(zhuǎn)換生成全部水下高程點用時約3.2 s(圖7)。

        圖6 項目A 原始數(shù)據(jù)和成果數(shù)據(jù)示例

        圖7 項目B 程序計算花費時間

        4 結(jié)束語

        水下高程點轉(zhuǎn)設(shè)計水深是一項十分簡單的工作,但是如果不掌握科學(xué)的數(shù)據(jù)處理方法,簡單工作將會變成一項任務(wù)繁重的體力活。Civil 3D 是一款強大的土木設(shè)計類軟件,擁有完善的開發(fā)環(huán)境。C#是一門相對容易上手的編程語言,得益于編程軟件Visual Studio 的強大提示功能,可以幫助初級編程人員補全大量代碼。兩者的結(jié)合則催生出了各種功能強大的插件,基于這些插件,可以將廣大一線生產(chǎn)人員從大量重復(fù)繁瑣的工作中解放出來。

        在使用過程中做過的最長的某項目長度超過78 km,總地形點超過10 萬個點,在水邊高程點圖形文件和所有地形點文本文件準(zhǔn)備好的情況下,只用了不到10 s 的時間即可完成水深點文本文件的生成。如果用人工手動分段計算的話,項目上下游高差54 m,即使按每20 cm 分段需要分250 段,假如每段高程點提取轉(zhuǎn)換需要2 min,則一個人所需花費的時間預(yù)計超過8 h,而實際上,一個人手動做這些數(shù)據(jù)轉(zhuǎn)換可能得花費2~3 d 時間。

        所以,基于Civil 3D 的開發(fā)的確能帶來巨大的生產(chǎn)效率的提升,從上述論述也可以看到,Civil 3D 的初級開發(fā)不難,如果能善用二次開發(fā),一定能為工作生產(chǎn)帶來巨大的經(jīng)濟(jì)效益。

        猜你喜歡
        邊線水深圖層
        書法靜水深流
        河北水利(2022年10期)2022-12-29 11:48:12
        基于水深分段選擇因子的多光譜影像反演水深
        海洋通報(2022年4期)2022-10-10 07:40:32
        海岸水邊線提取方法在GF-2衛(wèi)星影像中的適應(yīng)性研究
        海洋通報(2022年3期)2022-09-27 02:46:20
        巧用混合圖層 制作抽象動感森林
        認(rèn)識足球(六)
        突破矩形上邊線買入法(1)
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        GPS RTK技術(shù)在水深測量中的應(yīng)用
        淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
        河南科技(2014年6期)2014-04-04 08:00:42
        浸入式水深監(jiān)測儀器的設(shè)計
        亚洲一区二区三区少妇| 国产在线不卡AV观看| 真实国产乱子伦精品视频| 日韩欧美中文字幕公布| 全免费a敌肛交毛片免费| 女人被弄到高潮的免费视频| 久久人人爽人人爽人人片av麻烦| 依依成人精品视频在线观看| 一区二区韩国福利网站| 国产人成在线免费视频| 亚洲24小时免费视频| 欧美日韩在线视频| 中文字幕欧美人妻精品一区| 亚洲综合欧美在线一区在线播放| 国产美女在线精品免费观看网址 | 国产一区二区黄色录像| 久久婷婷人人澡人人喊人人爽| 欧美成人看片黄a免费看| 人妻在线中文字幕| 久久精品国产亚洲av成人擦边| 国产亚洲av夜间福利在线观看| 四虎永久在线精品免费一区二区 | 久久偷拍国内亚洲青青草| 久久人妻精品免费二区| 亚洲国产国语在线对白观看| 久久不见久久见免费影院国语| 3d动漫精品啪啪一区二区下载| 五月天婷婷一区二区三区久久| 国产一区二区三区护士| 风韵人妻丰满熟妇老熟| 亚洲综合网站久久久| 色视频www在线播放国产人成 | 久久人人做人人妻人人玩精| 国产成人精品一区二区日出白浆| 中文字幕亚洲综合久久综合| 色综合av综合无码综合网站| 又爆又大又粗又硬又黄的a片| 成人自拍视频国产一区| 久久亚洲春色中文字幕久久| 亚洲av综合av一区| 亚洲av无码精品蜜桃|