首頁 > 易卦

資料瘦身有幾招之傾斜模型

作者:由 SuperMap技術控 發表于 易卦日期:2022-08-12

三維傾斜模型如何偏移

傾斜攝影技術是國際攝影測量領域近十幾年發展起來的一項高新技術。它不僅能夠真實地反映地物情況,高精度地獲取地物紋理資訊,還可透過先進的定位、融合、建模等技術,生成真實的三維城市模型。然而,越精細、越廣闊的傾斜模型就意味著載入和瀏覽時的壓力越大。這該腫麼辦?且看SuperMap祭出的傾斜資料瘦身三大法寶。

資料瘦身有幾招之傾斜模型

SuperMap三維提供了數種對傾斜資料的最佳化方案,其中最為常用者有三:一是從傾斜資料的資料結構著手,透過合併根節點的方式提升讀取資料的速度;二是從三維切片渲染的角度入手,壓縮紋理,以提升傾斜三維切片的渲染速度;三是減少切片檔案請求總量,直接將多個資料夾下的諸多碎瓦片檔案生成為一個傾斜攝影模型大檔案。

且先看第一種方式,

合併根節點

傾斜攝影模型資料通常採用分塊(Tile)方式儲存,即一定空間範圍的模型劃為一個塊並存儲在一個資料夾中,每個資料夾下包含了一個根節點檔案及若干子節點檔案。SuperMap透過索引檔案(*。scp)記錄的根節點相對路徑來載入模型,如下示意圖(藍色方框表示模型根節點)。

資料瘦身有幾招之傾斜模型

當模型空間範圍廣、資料量龐大,使得模型被劃分為很多個根節點,讀取這些根節點花費時間較長導致載入模型較慢,此時,需要進行合併根節點來提升載入效率。

“合併根節點”功能是將相鄰一定空間範圍的根節點合併為一個根節點,即向上抽稀生成了一層更為粗糙的LOD層級,每合併一次,模型根節點數量減少約為原始數量的1/4。合併示意如下圖(藍色方框表示合併前的模型根節點,橙色方框表示合併一次的根節點;黃色方框表示合併二次後的根節點)。

資料瘦身有幾招之傾斜模型

下圖是超圖中“合併根節點”的介面(傾斜攝影選項卡- 合併根節點)。

資料瘦身有幾招之傾斜模型

其中,金字塔層級對應著用於設定根節點合併次數,預設值為1,即模型根節點將進行一次合併處理。

與此同時,我們還可以對傾斜資料進行

紋理壓縮

紋理壓縮可以將傾斜切片的紋理壓縮成更適合特定裝置的紋理格式,從而最佳化傾斜攝影模型資料在三維場景中的渲染效能,獲得更流暢的瀏覽體驗。

下圖是超圖中“壓縮紋理”的介面(傾斜攝影選項卡– PC端或移動端標籤組- 壓縮紋理)。

資料瘦身有幾招之傾斜模型

其中,壓縮型別對應著用於顯示和設定紋理壓縮的型別。根據適用的裝置情況,分為三種壓縮型別:

DDS:DDS(DirectDrawSurface)是以定長壓縮形式儲存圖形資料,在PC機上可以直接被顯示卡支援,從而節省大量的視訊記憶體。DDS壓縮紋理格式,是PC機(個人計算機)上通用的壓縮紋理格式。

iOS系列裝置(移動端壓縮紋理):針對iOS系列裝置的壓縮紋理格式。該格式的壓縮比可高達16:1,在該比例下仍保持較好的貼圖質量。由於移動裝置資源有限,其視訊記憶體往往與記憶體公用,使用16:1的壓縮比可以在不損失貼圖質量的情況下節省大量的記憶體。

Android系列裝置(移動端壓縮紋理):針對Android系列裝置的壓縮紋理格式。該格式是目前安卓裝置上通用的主流壓縮紋理格式。在OpenGL ES 2。0 中定義,適用於所有支援OpenGL ES 2。0 的 Android平臺裝置。

最後,我們還可以用模型生成大檔案的方式加速傾斜資料的讀取與載入。

傾斜攝影模型資料分塊儲存在多個資料夾中,每個資料夾下存有很多個被劃分為不同LOD層級的。osgb模型檔案,場景需透過讀取這些碎檔案的方式實現載入瀏覽傾斜攝影模型。為了進一步提升傾斜攝影模型的載入瀏覽效率,可以將儲存在多個資料夾下的諸多碎檔案生成為一個。cf格式的傾斜攝影模型大檔案。對話方塊如下(傾斜攝影選項卡–模型生成大檔案):

資料瘦身有幾招之傾斜模型

本文就此告一段落。不得不說的一點是,不同資料有不同的處理方式。只有在效能和展示效果上取得平衡,找到最為合理的最佳化方案,才可以獲得最滿意的瀏覽效果。