之前有講過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 ……………………………………………………………………………………………………

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圖

圖2 描述文件的UML圖
7.1.2 描述文件標簽信息
描述文件各標簽含義見表5。
表5 描述文件各標簽含義
表6Rect對象各標簽含義
表7 Range對象各標簽含義
表8 WDescript對象各標簽含義
表9 Position對象各標簽含義
表10 Point3D對象各標簽含義
表11 TileTreeInfo對象各標簽含義
表12 BoundingboxInfo對象各標簽含義