3DTiles 1.0 数据规范详解[4.5] 尚未正式发布的矢量瓦片规范 vctr
此部分尚未纳入正式 3dTiles 规范,但是在 Cesium 中确实有实现源码。
除了 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 | / | / | 点坐标数据长度 |
② 猜测
要素表、批量表应该与之前的三种具体瓦片类似。
由于还未正式发布,暂缓此瓦片文件格式的详细解析。