溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Cesium開發(fā)中模型的CZML文件有什么用

發(fā)布時(shí)間:2022-01-13 16:44:32 來源:億速云 閱讀:271 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了Cesium開發(fā)中模型的CZML文件有什么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

CZML是一種用來描述動(dòng)態(tài)場(chǎng)景的JSON架構(gòu)的語言,主要用于Cesium在瀏覽器中的展示。通過制作CZML文件,在Cesium進(jìn)行數(shù)據(jù)的批量加載,省去單獨(dú)循環(huán)一個(gè)一個(gè)加載對(duì)象的方式。
下邊是一個(gè)簡(jiǎn)單的模型CZML文件的配置:

CZML是數(shù)組形式的JSON文件,首先有一個(gè)根節(jié)點(diǎn),里邊是id、name和version,修改的時(shí)候,只需要設(shè)置名稱就行。

下邊每個(gè)對(duì)象是一個(gè)模型的參數(shù)配置:

id必須是唯一的,name可以有相同的,properties里邊可以加一些自定義的屬性數(shù)據(jù),position是模型的位置信息,  orientation是模型的轉(zhuǎn)角信息(heading、pitch、roll),model是模型的路徑,比例等參數(shù)配置。
其中  orientation需要根據(jù)模型坐標(biāo)和轉(zhuǎn)角進(jìn)行計(jì)算,算出來一個(gè)4個(gè)元素的數(shù)組,代碼如下:

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

}

}]

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Cesium開發(fā)中模型的CZML文件有什么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI