3D Tiles复合对象(Composite)数据格式标准规范

导航


官网文档

概述

复合对象格式允许拼接的不同格式的数据变成一个区块。

3D 瓦片和复合对象瓦片为流式异构数据集提供了灵活性。例如,建筑物和树木可以存储在两个单独的“批处理 3D 模型”和“实例化 3D 模型”图块中,或者可以使用“复合”图块进行组合。

支持瓦片间(同一数据集中不同格式的不同瓦片)和瓦片内(同一复合图块中不同格式的瓦片)选项的异构数据集,使转换工具可以在多个请求之间进行权衡,优化特定类型的细分方式,以及可见/隐藏层的流式传输方式。

复合数据是小端字节序的二进制 Blob。


文件结构

复合数据的文件结构(破折号表示可选字段):


结构填充

数据 byteLength 必须以 8 个字节进行边界对齐。包含的所有数据也必须对齐 8 个字节的边界。


文件头

16 字节的文件头包含以下字段:

字段名 类型 描述
magic 4 字节 ANSI 字符串 "cmpt"
version uint32 版本。现在是1
byteLength uint32 整个复合数据的长度(包括标头和每个内部数据),以字节为单位
tilesLength uint32 复合中的图块数

内部瓦片

内部瓦片字段紧跟在文件头部分之后。以下信息描述了复合图块读取器可能利用其来查找内部图块边界的所有图块格式的一般特征:

  • 每个图块均以 4 字节 ANSI 字符串开头,该字符串 magic 可用于确定图块格式以进行进一步解析。有关可能格式的列表,请参见瓦片格式规范。复合图块可以包含复合图块。

  • 每个图块的标头包含一个 uint32 byteLength,用于定义内部图块的长度(包括其标头),以字节为单位。这可用于遍历内部瓦片。

  • 对于任何版本为 1 的图块格式,所有图块的前 12 个字节为以下字段:

字段名 类型 描述
magic 4 字节 ANSI 字符串 表示图块格式
version uint32 1
byteLength uint32 整个图块的长度(以字节为单位)

有关更多详细信息,请参考每种图块格式的规范。


文件扩展名和 MIME 类型

复合图块使用.cmpt扩展名和application/octet-streamMIME 类型。

显式文件扩展名是可选的。有效的实现可能会忽略它,并通过 magic 其标头中的字段标识内容的格式。


实现示例

本节是非规范性的



版权声明:
除非注明,本博文章均为原创,转载请以链接形式标明本文地址。



   转载规则


《3D Tiles复合对象(Composite)数据格式标准规范》 Jackie Tang(唐浩桀) 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
3D Tiles要素表(Feature Table)数据格式标准规范 3D Tiles要素表(Feature Table)数据格式标准规范
导航 引 概述 文件结构 结构填充 JSON 头 二进制体 实例 属性参考 引官网文档 概述要素表(Feature Table)是瓦片的实例二进制组件,用户描述每一个瓦片在 渲染 时的位置和外观属性。而批处理表(Batch T
下一篇 
3D Tiles点云(Point Cloud)数据格式标准规范 3D Tiles点云(Point Cloud)数据格式标准规范
导航 引 概述 文件结构 结构填充 文件头 要素表 语法定义 点语法 全局语法 点位置 坐标系 RTC_CENTER 量化位置 点颜色 点法线 八进制编码的法向向量 批处理点 例子 仅位置 位置和颜色
  目录