3dTiles 数据规范详解[4.5] *一个被废弃的非正式瓦片规范

此部分尚未纳入正式 3dTiles 规范。

除了 b3dm、i3dm、pnts以及复合类型 cmpt,其实还有一种尚未纳入规范的瓦片类型:二维矢量瓦片。

实际上,矢量瓦片已经有 MapBox 的实现了,但是 Cesium 并未兼容,需要自己写 DataSource 加载。

二维矢量瓦片:Vctr

这部分已经被官方团队废止了,不过在关闭分支前,我恰好收集过这种瓦片的定义,并且在 1.66版本(至少在这个版本我找到过) Cesium 源代码中是预先设置有这种类型的加载代码的,App目录也存在这种瓦片类型的 3dtiles。

我们可以拿来短暂的学习,并与MapBox提供的 矢量瓦片 对比。

① 文件头部定义

这回头部长达11个属性:

属性名 字节长 类别 说明
magic 4byte,下同 char[4] 标识符,字符串常量 "vctr"
version / uint32,下同 版本,未指定,应该是1
byteLength / / 瓦片文件大小
featureTableJSONByteLength / / 要素表JSON二进制字符串长
featureTableBinaryByteLength / / 要素表体二进制数据大小
batchTableJSONByteLength / / 批量表JSON二进制字符串长
batchTableBinaryByteLength / / 批量表体二进制数据大小
polygonIndicesByteLength / / 复合多边形索引数据长度
polygonPositionsByteLength / / 复合多边形坐标数据长度
polylinePositionsByteLength / / 复合折线坐标数据长度
pointPositionsByteLength / / 点坐标数据长度

② 猜测

要素表、批量表应该与之前的三种具体瓦片类似,只不过现在这个 beta 规范被废弃了,所以没有什么资料能考证。

最后几个应该是对二维数据的记录了,同样,没有文档比较难猜测。

你可能感兴趣的:(3dTiles 数据规范详解[4.5] *一个被废弃的非正式瓦片规范)