T/CAGIS 1-2019 空间三维模型数据格式.pdf
- 文档部分内容预览:
.1.2描述文件标签信息
描述文件各标签含义见表5。
管道标准图2描述文件的UML图
表5描述文件各标签含义
表6Rect对象各标签含义
表7Range对象各标签含义
Descript对象各标签含义
表9Position对象各标签含义
表10Point3D对象各标签含义
表11TileTreelnfo对象各标签含义
表12BoundingBox对象标签含义
7.2.1s3mb文件逻辑结构
7.2.1.1主要结构
图3s3mb文件存储对象UML图
表13s3mb文件各对象的含义
表14Patch对象各属性含义
表15BoundingSphere对象各属性含义
表16Geode对象各属性含义
表17Matrix4D对象各属性含义
表18ModelEntity对象各属性含义
7.2.1.2骨架对象
骨架(Skeleton)对象由一个顶点数据包(VertexDataPackage)和一个或多个顶点索引包(IndexPa )组成。顶点数据包是对各顶点的描述,包括坐标、法线、颜色、纹理坐标、模型对象ID、实例化信 页点索引包是对骨架结构构造的描述,每个顶点索引包有一个或多个PaSS,用来标识该组顶点的
图4骨架对象UML图
表19Skeleton对象各属性含义
表20VertexDataPackage对象各属性含义
表21TextureCoord对象各属性含义
stancelnfo对象各属性含
表23IndexPackage对象各属性含义
表24VertexIndexType对象各枚举值含义
表25OperationType对象各枚举值含义
7.2.1.3材质对象
材质(Material)对象由Pass构成,Pass中记录了材质采用的纹理对象名称,采用json格式表 质相关对象的UML图见图5,各属性含义见表26
图5材质对象UML图
表26Material对象各属性含义
表27Pass对象各属性含义
表28ColorValue对象各属性含义
表29TextureUnitState对象各属性含义
30TextureAddressingMode对象各枚举值含义
表31FilterOptions对象各枚举值含义
7.2.1.4纹理对象
纹理(Texture)对象UML图见图6 纹理(Texture)对象各标签含义见表32
图6纹理对象UML图
表32Texture对象各属性含义
表33TextureData对象各属性含义
表34TextureCompressType各枚举值含义
表35PixelFormat各枚举值含义
7.2.2s3mb文件的二进制流描述
7.2.2.1s3mb文件的主要组成部分
zippedPackage解压缩后,包含Reserved、Shell和ModelEntities三个部分,见图7。Res 留的四个字节;Shell存储PatchLOD、Patch、Geode对象;ModelEntities即实体数据,包括骨 ton)、材质(Material)、纹理(Texture)
7.2.2.2Shell 的二进制流描述
图7s3mb文件二进制数据包
Matrix4DK double values[16]:
Matrix4DK double values[16]:
7.2.2.3ModelEntities的二进制流描述
ModelEntities及相关对象的二进制流结构符合如下规定: ModelEntitiest uint32skeletonStreamSize; //骨架数据流的二进制长度,以byte为单位 int32skeletonCount; Skeleton skeletons[skeletonCount]; uint32textureStreamSize; int32textureCount; //纹理数据流的二进制长度,以byte为单位 Texture textures[textureCount]; String materials; //材质字符串(josn格式) ; Skeletoni String name; VertexDataPackage dataPack; int32 indexpackCount; IndexPacakge indexPacks[indexpackCount]; ; VertexDataPackaget byte reserved[4]; //预留 uint32vertexCount; //顶点 uintl6vertexDimension; uintl6vertexStride; float vertexData[vertexCount *vertexDimension]; uint32 normalCount; //法线 uintl6 normalDimension; uintl6 normalStride; float normalDatanormalCount*normalDimension]; int32vertexcolorCount; //顶点颜色 uintl6vertexColorStride; byte reserved[2]; uint32vertexColorData[vertexcolorCount];//颜色采用uint32存储,byte[o]~byte[4]分别 R、G、B、A的值 int32vertexAttributeCount; //顶点属性 uintl6vertexAttributeStride; byte reserved[2] ; uint32vertexAttributeDatavertexAttributeCount]; uintl6 texturecoordCount; //纹理坐标 byte reserved[2l;
索引树文件采用ison文件存储,扩展名为.json。各标签含义见表36
表36索引树文件各标签含义
表37Tilelnfo对象各标签含义
表38Status对象各标签含义
属性文件包括属性描述文件和属性数据文件。属性描述文件名规定为attribute.ison,与描述文 p)处于同级目录;属性数据文件名与TileTree的根节点文件名相同,扩展名为.s3md(Spatial lelDescription);一个根节点对应一个属性数据.s3md文件,与数据文件(.s3mb)处于同级目录。
表39属性描述文件各标签含义
表40LaverInfo对象各标签含义
表41IDRange对象各标签含义
表42FieldInfo对象各标签含义
属性值,采用1SOn义件存储,开采用 zip压缩见图8。
二进制流结构如下 AttributeData uint32 nZippedSize; byte * zippedPackagei
图8属性数据文件二进制流结构
污水处理标准规范范本/zippedpackage的字节数 /压缩后的属性数据
表43属性数据文件各标签含义
表44Layerlnfo对象各标签含义
表45Record对象各标签含义
表46Value对象各标签含义
以“鸟巢.scp”为例数据标准,包含了两个 0000,具体内容如下: "asset":"SuperMap", "version":l.O, "dataType":"BIM", "pyramidSplitType":"QuadTree", //四叉树剖分 "lodType":"Replace", //LOD为替换模式 "position": //插入点,单位为度 "x":116.36, "y".39.99, "z":0.0, "units":"Degree" , "geoBounds": //地理空间范围 "left":116.3635, "top":40.0018, "right":116.3755, "bottom":39.9932 , "heightRange": //高度范围 "min":9.4875, "max":119.9612 , "wDescript": //W位描述信息 "category"."", "range": "min":0.0, "max":0.0
/各TileTree对应的根节点文件路径及包围盒(局部坐标系)
....- 数据标准
- 相关专题: 三维模型