cmpt,即 Component,組合模型的意思,
這是前三種的一種更靈活的組織,允許一個瓦片使用 cmpt 形式,組合多種瓦片,cmpt瓦片可以內嵌任意個、任意型別的瓦片,b3dm、i3dm、pnts均可,
所以本文僅簡單介紹檔案結構,
檔案二進制布局

虛線意味著可選,也就是說,cmpt瓦片可以是空瓦片,
① 檔案頭:16byte
| 欄位名 | 資料型別 | 描述 |
|---|---|---|
magic |
char[], 4byte |
常量"cmpt". 用來指示檔案是cmpt瓦片, |
version |
uint32, 4byte |
cmpt的版本,目前是1, |
byteLength |
uint32, 4byte |
整個瓦片檔案的體積,byte為單位, |
tilesLength |
uint32, 4byte |
cmpt中融合的瓦片數量, |
② 內嵌的瓦片
不知道讀者一路看過來有沒有發現,無論是哪一種瓦片,其檔案頭前3個屬性都是 magic、version、byteLength?
所以,這就給 cmpt 這種套娃式瓦片有了可復用性,
請注意,cmpt是可以繼續嵌套cmpt的(無限套娃),雖然我不是很建議你這么搞,
所以本篇其實僅僅介紹 cmpt 的組織結構即可,具體內嵌了什么瓦片,那得繼續讀取每一個瓦片的 magic 屬性,才能作分支判斷、決議,
讀者回看 第二篇,介紹 tileset 概念的時候,我說過,tileset其實還能參考子一級的 tileset,cmpt在瓦片級別延續了這種靈活性,
檔案擴展名和MIME
檔案擴展名:*.cmpt
MIME: application/octet-stream
擴展名不是必須的,因為magic欄位會指示瓦片是什么,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/787.html
標籤:GIS
