超圖三維數據格式解析


之前有講過Cesium的三維數據格式:3dtiles。。。https://www.cnblogs.com/2008nmj/p/14395128.html

超圖的三維數據格式和它有什么不同呢?它比3dtiles好在哪里?

 

https://github.com/SuperMap/s3m-spec/tree/master/S3M_SDK/S3M_Parser_JS

空間三維模型數據格式規定了三維地理空間數據格式的邏輯結構及存儲格式要求。

該標准適用於網絡環境和離線環境下海量、多源三維地理空間數據的數據傳輸、交換和高性能可視化,以及滿足不同終端(移動設備、瀏覽器、桌面電腦)上的三維地理信息系統相關應用。

該標准定義的S3M數據格式具備以下技術特點和優勢:

1、支持表達多源地理空間數據:傾斜攝影模型、BIM、人工建模、激光點雲、矢量、地下管線等多源數據。
2、具備海量數據高效繪制的能力:支持LOD、批次繪制、實例化等,提升渲染性能。
3、具備單體化選擇和查詢能力:支持高效選擇、支持批量修改對象顏色、批量修改對象可見性。
4、簡潔易讀:格式簡潔,易解析,適用於WebGL等輕量級客戶端。
5、高效傳輸:數據緊湊,以二進制形式保存,占用空間小,傳輸性能高。
6、快速載入顯卡:數據結構盡可能跟OpenGL接口保持一致,減少加載時間,高性能,低消耗。
7、跨終端:獨立於任何終端,適用於PC端、Web端、移動端,具有較好的兼容性。
8、擴展性好:支持擴展,允許增加一些多用途擴展或特定廠商的擴展。
9、完善的工具支撐:提供開源免費的S3M數據解析和轉換工具,支持3D-Tiles、OSGB等格式與S3M格式相互轉換。(開源地址:https://github.com/SuperMap/s3m-spec。)
10、完善的配套設施:完整的解決方案,成熟的可行性,強大的實用性。基於S3M形成了完整的B/S及C/S架構的三維GIS應用解決方案,從數據生成、服務器端發布到多種客戶端加載應用等多個環節解決用戶實際問題。

目錄

前言 Ⅲ …………………………………………………………………………………………………………

引言 Ⅳ …………………………………………………………………………………………………………

1 范圍 1 ………………………………………………………………………………………………………

2 規范性引用文件 1 …………………………………………………………………………………………

3 術語和定義 1 ………………………………………………………………………………………………

4 符號和縮略語 2 ……………………………………………………………………………………………

4.1 縮略語 2 ………………………………………………………………………………………………

4.2 UML圖示符號 2 ………………………………………………………………………………………

4.3 UML多樣性描述 3 ……………………………………………………………………………………

5 基本規定 3 …………………………………………………………………………………………………

5.1 基本數據類型 3 ………………………………………………………………………………………

5.2 字符串類型 4 …………………………………………………………………………………………

5.3 json格式存儲 4 ………………………………………………………………………………………

6 組織結構 4 …………………………………………………………………………………………………

6.1 文件組織 4 ……………………………………………………………………………………………

6.2 樹形結構描述 5 ………………………………………………………………………………………

7 存儲格式 5 …………………………………………………………………………………………………

7.1 描述文件 5 ……………………………………………………………………………………………

7.2 數據文件 8 ……………………………………………………………………………………………

7.3 索引樹文件 21 …………………………………………………………………………………………

7.4 屬性文件 22 ……………………………………………………………………………………………

附錄 A (資料性附錄) 數據示例 25 …………………………………………………………………………

參考文獻 32 ……………………………………………………………………………………………………

前言
我們現在還需要多一種三維數據格式嗎?似乎數據格式已經夠多了夠用了。但是很多的數據格式是不公開的,保密的,只能導入不能導出。而且多源三維數據格式無法統一。
近年來,傾斜攝影建模、激光掃描等數據采集技術的發展,有效降低了三維空間數據的獲取成本和 時間周期,提高了數據精度。伴隨大規模三維空間數據的不斷積累,三維空間數據的高效發布、數據共享和數據交換,成為三維GIS研究重要內容。
本標准定義了一種開放式可擴展的空間三維模型數據格式———Spatial 3D Model(S3M),適用於空間三維模型數據的傳輸、交換與共享,有助於解決多源空間三維模型數據在不同終端(移動設備、瀏覽器、桌面電腦)地理信息平台中的存儲、高效可視化、共享與互操作等難題,對於推動我國三維地理空間 數據的共享及深入應用具有重要作用。
目前,S3M 涵蓋的數據類型包括:
a) 傳統模型:人工建模三維模型數據;
b) 實景三維:包括傾斜攝影建模數據和點雲數據;
c) 建築信息模型(Building Information Modeling,BIM)數據:采用BIM設計軟件制作的三維模型數據;
d) 矢量數據:包括二維點/線/面數據、三維點/線/面數據、三維管線數據。
 
1 范圍
本標准規定了一種空間三維模型數據格式的文件組織結構及存儲格式要求。 本標准適用於網絡環境和離線環境下三維空間數據的傳輸、交換與共享,也適用於三維空間數據在 不同終端(移動設備、瀏覽器、桌面電腦)上的三維地理信息系統相關應用。
2 規范性引用文件
下列文件對於本文件的應用是必不可少的。凡是注日期的引用文件,僅注日期的版本適用於本文 件。凡是不注日期的引用文件,其最新版本(包括所有的修改單)適用於本文件。
GB/T7408—2005 數據元和交換格式 信息交換 日期和時間表示法
GB/T16831—2013 基於坐標的地理點位置標准表示法
GB/T30320—2013 地理空間數據庫訪問接口
GB/T33187.1—2016 地理信息 簡單要素訪問 第1部分:通用架構
3 術語和定義
下列術語和定義適用於本文件。
3.1 瓦片 tile 對應一個二維矩形或三維長方體空間,鄰接瓦片之間空間范圍可重疊。
3.2 根節點 root node Tile Tree的根節點。 注:一個Tile Tree只有一個根節點,其空間范圍是所有子節點的並集。
3.3 瓦片樹 tile tree 由唯一的根節點自上而下逐級划分的、多細節層次的樹形空間數據結構,樹形結構的每個節點表示 一個Tile。 注:父節點Tile的空間范圍是所有子節點Tile的並集。
3.4 瓦片樹集合 tiletreeset 由一個或多個tiletree構成的集合。
3.5 LOD分片 patchLOD 表示TileTree中指定LOD層的一個數據分片。 注:一個LOD可包含一個或多個PatchLOD。
3.6 數據片 patch PatchLOD的一個數據分片。 注:一個PatchLOD可包含一個或多個Patch,每個Patch有零個或一個父Patch,有零個或多個子Patch;父Patch 的空間范圍是各子Patch空間范圍的並集;Patch的父子關系構成樹狀結構。
3.7 數據包 geode 表示一個Patch對應的數據包。 注:每個Patch可包含零個或多個Geode。Geode包含了骨架、材質、紋理三種實體對象。
3.8 實體對象 model entity Geode的基本數據構成,包含骨架、材質、紋理三種實體類型。
3.9 骨架 skeleton 幾何數據信息,包括頂點、頂點索引、紋理坐標、紋理坐標索引等。 注:骨架附帶材質信息。
3.10 材質 material 模型對象表面各可視化屬性的集合,包括模型對象表面的色彩、紋理、光滑度、透明度、反射率、折射 率、發光度等。
3.11 紋理 texture 紋理貼圖信息,包含寬、高、壓縮方式及紋理二進制數據等。
4 符號和縮略語
4.1 縮略語
下列縮略語適用於本文件。
EPSG:歐洲石油測繪組織(The European Petroleum Survey Group)
LOD:細節層次(Level of Detail)
UML:統一建模語言(Unified Modelling Language)
WKT:常用文本表示(Well Known Text Reperesentation)
4.2 UML圖示符號
本標准出現的圖用 UML靜態結構表示。
所有數據模型 UML圖示中符號表示的規定見表1。
表1 UML圖符號對照表

4.3 UML多樣性描述

本標准涉及的 UML圖中多樣性描述含義見表2。

表2 UML圖多樣性描述

 

5 基本規定

5.1 基本數據類型

本標准涉及的基本數據類型規定見表3。

表3 數值數據類型規定

 

5.2 字符串類型

本標准涉及的字符串數據類型用String對象描述,采用 Unicode編碼,字符集規定為 UTF8。

String{
 int32 length; //字節數 
 byte str[length];//數據內容
}

5.3 json格式存儲

本標准涉及的json格式存儲,規定 UTF8編碼,不帶BOM 頭。

6 組織結構

6.1 文件組織

本標准規定的數據的組成文件主要包括:描述文件、數據文件、索引樹文件、屬性文件。

描述文件和數據文件是基礎組成部分。描述文件中包含一個或多個 TileTree的根節點路徑;數據 文件通過TileTree組織,TileTree中每個Tile對應一個.s3mb文件;索引樹文件是對 Tiletree中各 Tile的描述,可以在不加載實際數據的情況下,獲取LOD層的各Tile的包圍盒、LOD切換信息、掛接 的子節點文件路徑等,主要作用是加速 Tile文件檢索的效率;屬性文件包括屬性描述文件和屬性數據 文件。各類文件的組織形式見表4。

表4 文件組織形式

 

6.2 樹形結構描述

樹形結構相關對象的UML圖見圖1。

 

           圖1 樹形結構UML圖

7存儲格式
7.1 描述文件
7.1.1 描述文件概述
描述文件(TileTreeSetInfo對象),用於描述數據的基本信息,關聯對象的 UML圖見圖2。

 

                              圖2 描述文件的UML圖

7.1.2 描述文件標簽信息

描述文件各標簽含義見表5。

表5 描述文件各標簽含義

 

 表6Rect對象各標簽含義

表7 Range對象各標簽含義

 

表8 WDescript對象各標簽含義

 

 表9 Position對象各標簽含義

 表10 Point3D對象各標簽含義

 

 表11 TileTreeInfo對象各標簽含義

 

 表12 BoundingboxInfo對象各標簽含義

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM