千家信息网

Cesium开发中模型的CZML文件有什么用

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要介绍了Cesium开发中模型的CZML文件有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。CZML是一种用来描述动态
千家信息网最后更新 2024年11月18日Cesium开发中模型的CZML文件有什么用

这篇文章主要介绍了Cesium开发中模型的CZML文件有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

CZML是一种用来描述动态场景的JSON架构的语言,主要用于Cesium在浏览器中的展示。通过制作CZML文件,在Cesium进行数据的批量加载,省去单独循环一个一个加载对象的方式。
下边是一个简单的模型CZML文件的配置:

CZML是数组形式的JSON文件,首先有一个根节点,里边是id、name和version,修改的时候,只需要设置名称就行。

下边每个对象是一个模型的参数配置:

id必须是唯一的,name可以有相同的,properties里边可以加一些自定义的属性数据,position是模型的位置信息, orientation是模型的转角信息(heading、pitch、roll),model是模型的路径,比例等参数配置。
其中 orientation需要根据模型坐标和转角进行计算,算出来一个4个元素的数组,代码如下:

let position = Cesium.Cartesian3.fromDegrees(evdata.x, evdata.y, evdata.height);

let heading = Cesium.Math.toRadians(evdata.heading);

let pitch = evdata.pitch;

let roll = 0;

let hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);

let orentation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);


//模型的czml样式文件

[

{

"id": "document",

"name": "name",

"version": "1.0"

},

{

"id": "uid1",

"name": "uid",

"properties": {

"status": "use"

},

"position": {

"cartographicDegrees": [

116.119,

39.1112,

1.01

]

},

"orientation": {

"unitQuaternion": [0,0,0,0]

},

"model": {

"gltf": "模型路径",

"scale": 1.0,

"minimumPixelSize": 16

}

}]

感谢你能够认真阅读完这篇文章,希望小编分享的"Cesium开发中模型的CZML文件有什么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0