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

三維模型glTF 格式到SLPK 格式的轉換方法探索及其應用

2023-10-21 01:17:22張偉ZHANGWei
價值工程 2023年28期
關鍵詞:鐵路信息模型

張偉ZHANG Wei

(中鐵第四勘察設計院集團有限公司,武漢 430063)

0 引言

隨著“鐵路數字化”概念的提出和發展,三維BIM 模型在鐵路工程中也得到了廣泛的應用。其不僅可以向用戶進行直觀的模型展示還可以協助完成鐵路線路的規劃和設計,極大地推動了鐵路行業的數字化進程。為了更好將三維BIM 模型融合到GIS 行業中,ESRI 公司提出了I3S規范,并基于該規范定義了新的三維數據格式SLPK(scene layer package)。SLPK 格式優化了BIM 模型的數據存儲和樹形結構,相較于其它三維數據格式,其在Arcgis客戶端進行加載時更加高效。目前鐵路行業應用較廣的Blender、3DMax、Revit 等三維設計軟件無法直接導出SLPK格式的模型供Arcgis 使用,但可以支持glTF 格式的導出[1]。本文通過研究glTF 格式數據組織結構,并基于SharpGLTF和i3s 等開源庫進行二次開發,實現了三維模型從glTF 格式到SLPK 格式的轉換。同時為了更方便地在Arcgis 中使用三維模型,在轉換過程中可以支持將模型導出為Web 墨卡托坐標或經緯度坐標。其轉換流程如圖1 所示。

圖1 模型轉換流程

1 glTF 格式數據組織結構分析

glTF(GL Transmission Format)是一種基于JSON 的三維模型文件格式,具有通用性強和數據解析簡單的特點,目前絕大多數主流三維設計軟件都支持對該格式的加載和導出。glTF 文件有兩種后綴格式可以選擇,.gltf 和.glb,其中.glb 是glTF 格式的二進制表示形式。

glTF 的數據組織結構主要包括JSON 文件和關聯外部數據文件,具體來說外部數據文件包括圖像文件、GLSL文件和bin 文件[2]。如圖2 所示。

圖2 glTF 數據組織結構

JSON 文件是glTF 數據的核心部分,文件中記述了模型相關的場景信息及數據的索引信息。JSON 文件由一系列的元素節點構成,其中scenes 和nodes 元素描述了模型場景的基本結構和層次信息,meshes、textures、materials 和images 等元素描述了場景中三維模型的幾何和材質紋理信息,buffers、bufferviews 和accessors 等元素描述了模型的數據類信息。各元素之間的引用關系如圖3 所示[3]。

圖3 元素引用關系

2 glTF 模型屬性提取

要實現三維模型從glTF 格式到SLPK 格式的轉換,首先需要將三維模型的相關屬性信息從glTF 模型中提取出來[4]。這些屬性包括三角面片信息、頂點位置信息、頂點紋理坐標、紋理貼圖信息、模型材質信息、法向量信息等。為了方便存儲以上屬性信息,在程序中定義了一個數據存儲類ModelData,其中MeshData 類用來存儲模型的三角面片信息,VertexData 類用來存儲模型的頂點信息,Point3D 和Point2D 類分別用來存儲三維點和二維點信息,其類圖如圖4 所示。

圖4 ModelData 類圖

程序中對glTF 文件的加載和屬性提取可以借助于現有的一些比較成熟的開源庫進行。SharpGLTF 是一款輕量級的glTF 模型處理開源庫,支持對glTF 模型的讀寫,可以滿足提取模型屬性的需求。在使用SharpGLTF 對glTF 模型進行屬性提取時需要注意以下幾點:①在加載glTF 模型后應調用SharpGLTF 部分原生接口直接獲取模型的三角網列表信息,這樣可以方便模型屬性的提取;②從glTF模型中獲取的顏色值需要乘255 以獲取其真實的RGBA信息;③獲取到模型的頂點Position 信息后,可以根據需要將其處理為Web 墨卡托坐標或經緯度坐標,這樣在導出為SLPK 模型后,模型就可以適配相應坐標系。

3 輸出SLPK 模型

SLPK 模型文件屬于一種數據壓縮包文件,解壓后可以看到其有一系列的JSON 文件和二進制文件組成,JSON文件和二進制文件均使用gzip 壓縮。其中3DSceneLayer.json 描述的是整個模型場景的信息,如模型的圖層類型、參考坐標系和材質及紋理定義信息等。nodes 目錄存放“節點”信息,每個文件夾代表一個模型節點。nodePages 目錄存放“節點頁”信息[5]。

完成glTF 模型屬性提取,基于獲取的ModelData 對象和i3s 開源庫就可以導出生成SLPK 三維模型了。

3.1 創建Layer_write 并寫入Layer_meta 信息

創建Layer_write 部分代碼如下所示:

上述代碼中配置的Layer_meta 信息最終會寫入的SLPK 數據文件中的3DSceneLayer.json 文件中。代碼中wkid 表示要生成的模型的坐標系類型,我們可以通過配置wkid 的值來使模型使用不同的坐標系。其中wkid=3857 表示當前模型使用的坐標是Web 墨卡托坐標,wkid=4326 表示當前模型使用的坐標是經緯度坐標。

3.2 創建模型mesh 節點

遍歷ModelData 中的MeshList,實例化i3slib::i3s::Simple_raw_mesh raw_mesh 對象,并將前面獲取的MeshData 中的頂點坐標、法向量、紋理坐標,紋理貼圖和顏色依次賦值給raw_mesh.abs_xyz、raw_mesh.normals、raw_mesh.uv、raw_mesh.img 和raw_mesh.colors。之后再依次調用i3sLayerWriter 對象的create_mesh_from_raw ()和create_node()函數創建mesh 節點。對于SLPK 格式,每個模型節點下都有一個node_depth 屬性,其值表示節點的層級。mesh 節點的node_depth 設置為1。

3.3 創建模型root 節點

調用i3sLayerWriter 對象的create_node () 函數創建root 節點。root 節點的node_depth 設置為0,并將上一步創建的mesh 節點掛載在root 節點下。

3.4 輸出SLPK 模型文件

調用i3sLayerWriter 對象的save()函數輸出SLPK 文件。由于SLPK 是一種數據壓縮包文件,一般情況下同一個三維模型,其SLPK 文件的存儲大小要小于其glTF 文件,這從而也提高了SLPK 模型在程序中的加載效率。如圖5 所示。圖6、圖7 分別是轉換前glTF 格式的三維模型和轉換后SLPK 格式的三維模型。

圖5 glTF 文件與SLPK 文件對比

圖6 原始glTF 格式三維模型

圖7 轉換后SLPK 格式三維模型

4 鐵路選線軟件中的應用

在基于Arcgis 平臺三維可視化選線系統中,為了更直觀的顯示線路設計效果,需要沿鐵路線加載路基、隧道、站場和橋梁等三維BIM 模型。但目前已有BIM 模型都為glTF 格式,當加載模型過多時會出現場景卡頓等現象,而Argis 對SLPK 模型的的加載調動機制較好,故可以將glTF 模型統一轉換為SLPK 格式進行加載以解決大場景加載問題。同時由于在glTF 格式向SLPK 格式轉換過程中,我們已經將模型的相對坐標轉換為了Web 墨卡托坐標或經緯度坐標,在加載模型時不需要再對模型進行定位擺放,可以進一步可以優化模型加載效率,并且加載后的模型位置定位準確且與地形的貼合度也較好。圖8 為轉換后的SLPK 模型在基于Arcgis 的鐵路選線系統中的展示效果。

圖8 站場模型展示效果

5 結語

通過探索和研究,本文創新性通過對SharpGLTF 和i3s 等開源庫進行二次開發,解決了三維BIM 模型由glTF格式到SLPK 格式的轉換問題。在鐵路行業廣泛的存在著大量輔助設計的glTF 格式的三維模型,利用本文方法既可以單獨提取模型信息進行輔助設計,也可以進行模型格式的轉換,拓展模型的應用范圍,提升大場景模型加載效率。故該項技術在鐵路行業也有著廣泛的應用前景[6]。

猜你喜歡
鐵路信息模型
一半模型
沿著中老鐵路一路向南
云南畫報(2021年12期)2021-03-08 00:50:54
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
鐵路通信線路維護體制改革探索與實踐
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
3D打印中的模型分割與打包
無人機在鐵路工程建設中的應用與思考
GSM-R在鐵路通信中的應用
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 国产不卡网| 成人午夜免费视频| 99久久精品美女高潮喷水| 日本三级精品| 高潮毛片免费观看| 亚洲AV无码久久天堂| 中文纯内无码H| 国产一级毛片高清完整视频版| 国产理论精品| 视频一区视频二区中文精品| 五月激情综合网| 国产精品99久久久| 国产欧美一区二区三区视频在线观看| 沈阳少妇高潮在线| 亚洲日韩国产精品综合在线观看| 尤物在线观看乱码| 在线亚洲小视频| 免费无码AV片在线观看中文| 欧美色图第一页| 亚洲综合亚洲国产尤物| 久久精品中文字幕免费| 8090午夜无码专区| 久久96热在精品国产高清| 免费看黄片一区二区三区| 亚洲AV无码乱码在线观看裸奔| 精品免费在线视频| 婷婷色狠狠干| 亚洲成网站| 这里只有精品免费视频| 色婷婷亚洲十月十月色天| 亚洲品质国产精品无码| 无码'专区第一页| 中文一级毛片| 久久无码免费束人妻| 性做久久久久久久免费看| 国产无码制服丝袜| 国产在线视频导航| 精品国产三级在线观看| 青青热久免费精品视频6| 国产第一页亚洲| 蜜桃视频一区二区三区| 日韩精品无码免费一区二区三区| 亚洲欧美日韩精品专区| 91久久青青草原精品国产| 日本高清在线看免费观看| 国产嫩草在线观看| 欧美一级视频免费| 青青国产成人免费精品视频| 日本免费精品| 国模私拍一区二区| 日韩乱码免费一区二区三区| 制服丝袜一区二区三区在线| 91丨九色丨首页在线播放| 91网红精品在线观看| 91av国产在线| av性天堂网| 91精品小视频| 99久久精品国产精品亚洲| 成人在线亚洲| 日韩无码黄色网站| 综合社区亚洲熟妇p| 在线色综合| 亚洲色婷婷一区二区| 91视频99| 美女无遮挡免费视频网站| 国产真实乱了在线播放| 国产中文一区a级毛片视频| 亚洲美女一区二区三区| 无码免费的亚洲视频| 亚洲第一综合天堂另类专| 國產尤物AV尤物在線觀看| 九九热这里只有国产精品| 91丝袜在线观看| P尤物久久99国产综合精品| 亚洲精品手机在线| 色婷婷在线影院| 欧美国产综合色视频| 98精品全国免费观看视频| 成人va亚洲va欧美天堂| 一区二区三区国产精品视频| 国产乱人伦偷精品视频AAA| 亚洲伊人天堂|