精模匹配地形

2021-07-15 13:35:01 字數 1891 閱讀 8798

關鍵字:精模、osgb快取、地形匹配

#一、 引言

地形模型匹配(地形匹配)是為了解決場景中模型和地形不能完全匹配的問題。當模型疊加地形資料在同一場景中顯示的時候,由於地形的起伏,不可避免會出現乙個問題:模型底部往往都是平整的,位於同一高度,而真實的地形可能是起伏不平的,導致模型和地形不能嚴格貼合,出現部分模型被地形掩埋或者浮於地形之上的情況。如下圖:

本文會提供解決這種問題的思路和實現過程,通過將模型覆蓋的地形區域修整為乙個平面,從而實現模型底部與地面的完美貼合。

#二、 處理思路

(1)處理柵格資料。通過**,提取模型底面;根據提取出來的底面,用桌面進行柵格區域統計,計算區域柵格的平均值;用統計後的柵格資料,更新地形資料,從而得到修正後的地形資料。

(2)將存放模型的cad資料集和地形同時新增到場景中,將圖層風格高度模式設定為貼地,然後對整個場景生成快取,模型選擇osgb格式快取。

#三、案例應用

##1、步驟(1):提取模型底面

如下圖工具,開啟模型資料,點「提取面」按鈕即可提取模型底面。

得到向量面資料集「resultregion」,效果如下圖:

該工具在超圖技術資源中心(搜尋關鍵字「模型底面」,然後點超圖**,就看見源**了。

關鍵介面:

georegion.converttoregion(prjcoordsystype prjcoordsystype);

需要注意的是設定的投影座標系要保證跟模型資料集的投影座標系一致。

##2、步驟(2):柵格區域統計

在桌面開啟地形資料和步驟(1)中得到的模型資料的底面向量面資料,進行柵格區域統計。筆者使用的是8csp2版本。

「分析」ribbon選項卡→「柵格分析」組中的「柵格統計」,點開這個按鈕的下拉列表,選擇「區域統計」,彈出區域統計對話方塊。如下圖:

分析結束後,得到乙個柵格資料集「zonalraster」和純屬性表「zonaltabular」。(如果分析失敗,請檢查地形資料和向量面資料的投影資訊是否一致。)

##3、步驟(3):更新地形資料

用步驟(2)得到的柵格資料集「zonalraster」更新地形資料,操作如下:

「資料」ribbon選項卡的「資料處理」組中「資料更新」工具,彈出柵格資料集更新對話方塊,如下圖:

如果更新失敗,原因可能是兩個柵格資料集的畫素格式不一致,解決辦法是把其中乙個匯出為dem(*.grd)格式的檔案,再匯入進來就一致了。更新後的地形加到地圖視窗,發現如下圖所示「斑塊」,說明更新成功:

##4、步驟(4):生成場景快取

將修改過物件高度的場景生成osgb模型的場景快取,得到工作空間a,用桌面開啟工作空間a,再開啟場景。對比效果如下圖:

此圖是修改之前的某建築圖,明顯發現離地面有一定距離。

此圖是修改之後的相同建築圖,可發現房子已經貼地了。

歷屆試題 對局匹配(模運算 動態規劃)

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述小明發現 的自動對局系統在匹配對手時,只會將積分差恰好是k的兩名使用者匹配在一起。如果兩人分差小於或大於k,系統都不會將他們匹配。現在小明知道這個 總共有n名使用者,以及他們的積分分別是a1,a2,an。第一行包含兩個個整數n和k。第...

sqlite 模糊匹配日期 SQLite3模糊查詢

如果你還沒有安裝或者使用過 sqlite,可以借助 sqlite3 安裝 基本操作 入門。1.建立資料庫 test.db cd sqlite3 test.db 這 如果你還沒有安裝或者使用過 sqlite,可以借助 sqlite3 安裝 基本操作 入門。1.建立資料庫 test.db cd sqli...

AC自動機 多模匹配演算法

寫了個模板題,加強版借鑑大佬的 前置技能kmp 感覺沒啥用主要是思想 字典樹。p3808 模板 ac自動機 簡單版 include include include include include include include include using namespace std typedef ...