文章目录
本文适合有一定cesium基础的人服用,欢迎交流
一、Cesium的介绍
Cesium是AGI公司计算机图形开发小组与2011年研发的三维地球和地图可视化开源JavaScript库,Cesium一词来源于化学元素铯,铯是制造原子钟的关键元素,研发小组通过命名强调Cesium产品精益求精,专注时间数据可视化。Cesium为三维GIS提供了一个高效的数据可视化平台。即:
(1)Cesium是一个跨平台、跨浏览器的展示三维地球和地图的JavaScript库
(2)Cesium使用WebGL来进行硬件加速图形,使用时不需要任何插件支持。
(3)Cesium是基于Apache2.0许可的开源程序,可以免费用于商业和非商业用途。
/* 由于本文主要使用CZML数据格式进行动态场景演示,故有关Cesium的介绍就不赘述了。 */
二、CZML介绍
参考:https://www.cnblogs.com/laixiangran/p/4997971.html
CZML是一种用来描述动态场景的JSON架构的语言,主要用于Cesium在浏览器中的展示。它可以用来描述点、线、布告板、模型以及其他的图元,同时定义他们是怎样随时间变化的。Cesium拥有一套富客户端API,通过CZML采用数据驱动的方式,不用写代码我就可以使用通用的Cesium viewer构建出丰富的场景。Cesium与CZML的关系就如同Google Earth和KML的关系。CZML和KML都是用来描述场景的数据格式,可以通到很多其他的程序自动生成,或者手写也可以。CZML拥有很多的特性,其中有一些区别于KML的:
- CZML 是基于JSON的。
- CZML可以准确的描述值随时间变化的属性。理由,一条在某一时间内是红色的而在另一时间内是蓝色的。同时客户端可以根据时间戳进行差值。假如有一辆车,分别定义了两个不同时间的位置,通过CZML定义的差值算法,客户端可以准确的显示在这两个时间点之间车的位置。所有属性都可以是随时间变化的。
- CZML通过增量流的方式传送到客户端。在场景显示之前,整个CZML文档需要首先被下载到客户端。在某些情况下,个别客户端可能会加入或离开正在传输的流。(这段翻译的不好)
- CZML高度优化,旨在解析时更紧凑也更容易,让人工的读写更容易。
- CZML可扩展,尽管CZML的主要作用在与虚拟地球客户端程序与场景的交流,但它可以很容易的通过扩展来满足其他一些辅助的程序对静态或动态数据的需求。例如,随时间动态变化在数据就可以用在某些2D的图表程序中。
- CZML是一个开放的格式。我们希望有更多的程序能使用CZML,同时期待有一天它也能成为OGC一样的标准。
- 可以通过czml-writer来生成CZML,这个程序维护在Github上。
笔者理解:CZML可以通过增加czmlDataSource的形式,不断接受到从后端推送的数据,并在cesium中动态显示。
三、CZML结构说明
czml是一种json格式的文件,简单的可以理解为一个数组,具体格式如下:
let czml=[
//packet1,id一定为document,否则会报错,这里定义的是整个显示场景的信息
{
"id": "document",
"clock": {
"interval": "2022-01-01T10:10:10+0800/2022-01-05T10:10:10+0800",
"currentTime": "2022-01-02T02:10:10",
"step": "SYSTEM_CLOCK_MULTIPLIER",
"range": "LOOP_STOP",
"multiplier": 5
},
"version": "1.0"
},
//packet two
{
"id":"GroundControlStation"
"position":{"cartographicDegrees":[-75.5,40.0,0.0]},
"point":{
"color":{"rgba":[0,0,255,255]},
}
},
// packet three
{
"id":"PredatorUAV",
// ...
}
]
除了第一个packet代表了cesium场景(cesium时间轴的范围,当前时刻,倍速等信息)之外,其他的packet都可以理解为描述某一时间范围内的entity的行为。一个czml文件当中至少有一个packet,也即第一个描述场景的packet,亲测 每一个id不能相同,否则只显示相同id中最后一个entity,但是对于 不同czml文件中可以使用相同id。
四、CZML属性说明
参考:https://www.cnblogs.com/laixiangran/p/4998529.html
上面的参考内容很全,需要多说一句的是czml中的时间格式,应为ISO8601格式,对于UTC时间可以表示为:
2022-01-02T02:10:10
2022-01-02T02:10:10+0000
2022-01-02T02:10:10+00:00
2022-01-02T02:10:10.010Z
对于北京时则可以表示为:
2022-01-02T10:10:10+0800
2022-01-02T10:10:10+08:00
2022-01-02T10:10:10.010+0800
2022-01-02T10:10:10.010+08:00
这两种表示方法都可以,且表示同一时间
五、CZML文件的使用
1、CZML文件加载
let czmldata = new Cesium.CzmlDataSource(id).load(czml);
//id 为 CzmlDataSource对象 id
//或者直接写做 let czmldata = Cesium.CzmlDataSource.load(czml);
let temp;
cesium.viewer.dataSources.add(czmldata).then(function (ds) {
temp = ds;
});
//或者 cesium.viewer.dataSources.add(czmldata)
可以看到最终czml文件最终成为了CzmlDataSource对象,被加载到viewer的datasources中。
ds是一个CzmlDataSource对象,通过ds.entities.getById(id),可以获取到czml文件当中定义的entity,此时可以方便的对entity进行一些操作,比如viewer.trackEntity = ds.entities.getById("GroundControlStation")
,又或者可以将CzmlDataSource对象保存下来,以便后续进行一些操作。这里笔者发现ds一定要赋值给已经定义好的对象,故先声明对象,而后进行赋值。
注意:当加载多个czml文件时,场景信息会以最后一个czml文件定义的为准。
2、CZML文件移除
也即CzmlDataSource对象的移除,写做:
cesium.viewer.dataSources.remove(temp,isDestroy)
temp也即刚才保存的CzmlDataSource对象,这样可以将刚才添加的场景信息、entity信息都移除掉,isDestroy是一个布尔对象,代表是否要销毁CzmlDataSource对象。如果只移除某一个entity的信息,可以写做:
let entity = temp.entities.getById("GroundControlStation");
if(entity){
temp.entities.remove(entity);
}
如果删除viewer中的全部dataSources对象,可以写做:
cesium.viewer.dataSources.removeAll(true)
true代表销毁对象
3、卫星的加载与轨迹显示
(1)卫星的加载
在CZML文件中想要加载模型,需要先将其他格式的模型文件转换成gltf文件,然后通过
"model": {
"show": true,
"gltf": "./111.gltf",
"minimumPixelSize": 99,
},
进行加载,minimumPixelSize表示显示的最小像素点,有了这个参数的保证,可以在缩小地球时也保证模型能够看清楚。
(2)卫星轨迹的显示
在场景中加载卫星一般情况下无法满足我们的使用要求,还需要卫星运动起来,并且显示其运行轨迹,在CZML文件中,一般可以用如下格式的文件来表示卫星和其轨迹的显示:
[
{
"id": "document",
"clock": {
"interval": "2022-03-22T16:08:00+08:00/2022-03-23T16:08:00+08:00",
"currentTime": "2022-03-22T16:08:00+08:00",
"step": "SYSTEM_CLOCK_MULTIPLIER",
"range": "LOOP_STOP",
"multiplier": 60
},
"version": "1.0"
},
{
"label": {
"outlineColor": {
"rgba": [
0,
0,
0,
255
]
},
"horizontalOrigin": "LEFT",
"text": "ppCOSMOS 2426 (717)",
"outlineWidth": 2,
"pixelOffset": {
"cartesian2": [
12,
0
]
},
"fillColor": {
"rgba": [
"213",
"255",
"0",
255
]
},
"font": "11pt Lucida Console",
"show": true
},
"id": "Satellite/ppCOSMOS 2426 (717)",
"description": "Orbit of Satellite: ppCOSMOS 2426 (717)",
"position": {
"interpolationAlgorithm": "LAGRANGE",
"referenceFrame": "INERTIAL",
"interpolationDegree": 5,
"cartesian": [
0,
10246472.183615023,
23315473.78200593,
-99942.77560130549,
300,
9768930.236227807,
23491323.358455077,
-1173388.669547688,
600,
9270175.988391416,
23616164.516070485,
-2244286.2659865934,
900,
8751294.707073832,
23689731.63668276,
-3310310.00767953,
1200,
8213415.11886694,
23711871.25480978,
-4369146.092964904,
1500,
7657707.446447394,
23682542.263031334,
-5418496.449506575,
1800,
7085380.22171004,
23601815.964318387,
-6456084.942488213,
2100,
6497678.186560639,
23469875.877043743,
-7479661.2687073285,
2400,
5895878.906736725,
23287017.16817858,
-8487007.021320676,
2700,
5281290.558006073,
23053646.062410697,
-9475939.467333464,
3000,
4655248.458022753,
22770278.70567583,
-10444317.284235738,
3300,
4019112.3371851332,
22437539.980568886,
-11390044.826719625,
3600,
3374263.586749373,
22056162.1995254,
-12311076.332933977,
3900,
2722101.6021754015,
21626983.067437366,
-13205421.256022198,
4200,
2064041.381777528,
21150944.14795932,
-14071147.59877771,
4500,
1401509.7083178172,
20629088.23385518,
-14906387.051962502,
4800,
735942.7135558074,
20062557.465189744,
-15709338.097456384,
5100,
68782.01503454943,
19452590.163324844,
-16478270.77498724,
5400,
-598527.7301359681,
18800518.62268803,
-17211529.52716537,
5700,
-1264542.6088790065,
18107765.536722012,
-17907537.46363003,
6000,
-1927822.3320973457,
17375841.009949837,
-18564799.378569126,
6300,
-2586933.102609271,
16606339.482891243,
-19181904.67050519,
6600,
-3240451.347340352,
15800935.462604176,
-19757530.912845526,
6900,
-3886966.0926457853,
14961380.61011735,
-20290445.959866837,
7200,
-4525082.710429087,
14089498.981737368,
-20779511.12614816,
7500,
-5153425.228275345,
13187183.88468908,
-21223682.968355875,
7800,
-5770639.967282386,
12256392.759718506,
-21622015.948739767,
8100,
-6375397.767952085,
11299143.835211664,
-21973663.881725457,
8400,
-6966397.410756195,
10317510.832021479,
-22277882.025296353,
8700,
-7542368.130783217,
9313618.78222049,
-22534028.372166187,
9000,
-8102072.0925732795,
8289639.808833628,
-22741564.830551237,
9300,
-8644307.546353346,
7247787.448573708,
-22900058.477811173,
9600,
-9167910.765471583,
6190312.944632509,
-23009182.14020144,
9900,
-9671759.07781584,
5119499.256476916,
-23068715.13768077,
10200,
-10154772.661819117,
4037657.263730574,
-23078543.514070615,
10500,
-10615917.346687945,
2947119.6427210765,
-23038660.22084043,
10800,
-11054206.2539922,
1850237.0137521548,
-22949165.00015367,
11100,
-11468702.2917656,
749371.8831740735,
-22810264.03252449,
11400,
-11858519.899520425,
-353105.9720600439,
-22622269.368149944,
11700,
-12222826.73855025,
-1454824.1156000285,
-22385598.255980898,
12000,
-12560845.766136583,
-2553413.5370088494,
-22100771.955835003,
12300,
-12871856.443362739,
-3646512.506000643,
-21768414.780967966,
12600,
-13155196.574233584,
-4731772.758950419,
-21389252.369018108,
12900,
-13410263.32523046,
-5806863.300590394,
-20964110.405277245,
13200,
-13636514.755479733,
-6869476.493999819,
-20493912.378545847,
13500,
-13833470.64180281,
-7917331.780633915,
-19979677.99791404,
13800,
-14000713.668958422,
-8948181.488761308,
-19422520.531697825,
14100,
-14137890.157311356,
-9959815.12834937,
-18823644.544746615,
14400,
-14244710.729176434,
-10950063.643044105,
-18184343.553750068,
14700,
-14320950.99712197,
-11916804.90954085,
-17505996.659450117,
15000,
-14366451.884282945,
-12857967.131603256,
-16790066.26560182,
15300,
-14381120.005450066,
-13771534.221488109,
-16038094.217804542,
15600,
-14364927.78192387,
-14655549.01889615,
-15251699.274619078,
15900,
-14317913.484953342,
-15508118.370911697,
-14432572.850962741,
16200,
-14240181.145101856,
-16327416.151196681,
-13582476.262431137,
16500,
-14131900.27502489,
-17111687.896409325,
-12703236.227446493,
16800,
-13993305.491853854,
-17859254.117494833,
-11796741.307122895,
17100,
-13824696.079383502,
-18568513.53959511,
-10864938.289669167,
17400,
-13626435.20304917,
-19237947.147674963,
-9909827.215251064,
17700,
-13398949.314306388,
-19866120.613213614,
-8933458.149825849,
18000,
-13142727.031963028,
-20451688.022551395,
-7937925.835881301,
18300,
-12858318.351544704,
-20993394.033151325,
-6925366.320160103,
18600,
-12546333.210360052,
-21490077.14288609,
-5897951.385004234,
18900,
-12207440.507847115,
-21940671.55918797,
-4857885.055829713,
19200,
-11842366.416452028,
-22344209.932036836,
-3807397.999096813,
19500,
-11451892.96688581,
-22699825.175879717,
-2748743.2289334917,
19800,
-11036856.581187792,
-23006752.198399596,
-1684191.792406157,
20100,
-10598145.945392936,
-23264329.851721957,
-616026.9880530136,
20400,
-10136700.592266783,
-23472002.02377765,
453459.3083632129,
20700,
-9653508.464264296,
-23629319.11764116,
1521972.6210043875,
21000,
-9149604.33844168,
-23735938.813555755,
2587219.571992535,
21300,
-8626067.141764333,
-23791627.000309758,
3646913.8692405084,
21600,
-8084018.230203661,
-23796258.200546183,
4698779.998735686,
21900,
-7524618.554056878,
-23749815.954839412,
5740559.034785556,
22200,
-6949066.423024684,
-23652392.857463576,
6770012.993225393,
22500,
-6358595.233642401,
-23504190.48898718,
7784929.169246793,
22800,
-5754470.333784668,
-23305518.94379506,
8783125.797400951,
23100,
-5137986.995426275,
-23056796.398606252,
9762455.604066944,
23400,
-4510467.042188708,
-22758548.0835939,
10720811.450160766,
23700,
-3873256.725699549,
-22411405.508598495,
11656129.77746924,
24000,
-3227723.214282318,
-22016104.879994936,
12566396.046219364,
24300,
-2575252.389049526,
-21573485.988478146,
13449648.047376018,
24600,
-1917245.3109594744,
-21084490.151202332,
14303980.976365183,
24900,
-1255115.5108063074,
-20550158.42441294,
15127551.146888502,
25200,
-590286.261559238,
-19971629.715522863,
15918579.652894482,
25500,
75813.06618949142,
-19350137.92734669,
16675356.976211265,
25800,
741749.3328018948,
-18687010.034038976,
17396245.84597776,
26100,
1406089.396778752,
-17983662.671302788,
18079685.60988433,
26400,
2067402.4605855912,
-17241599.908588674,
18724194.86730457,
26700,
2724263.842818589,
-16462409.36655826,
19328375.446114708,
27000,
3375257.322224718,
-15647759.701128177,
19890914.785986412,
27300,
4018978.7967402874,
-14799396.394766605,
20410589.41766216,
27600,
4654039.036015353,
-13919138.389895525,
20886267.40906325,
27900,
5279066.426573612,
-13008874.639024312,
21316910.725929826,
28200,
5892710.52810588,
-12070559.288837465,
21701577.993395258,
28500,
6493644.329995771,
-11106208.5259315,
22039426.16432341,
28800,
7080567.789740285,
-10117895.302326094,
22329712.85433018,
29100,
7652210.0195850395,
-9107745.966831021,
22571797.69165162,
29400,
8207332.688246319,
-8077934.68185435,
22765144.123926595,
29700,
8744732.118710333,
-7030679.866133575,
22909320.434948172,
30000,
9263242.455153681,
-5968238.491440802,
23004000.994677898,
30300,
9761737.99336699,
-4892901.6493093455,
23048966.97706151,
30600,
10239135.475781541,
-3806990.0689255786,
23044106.967585847,
30900,
10694396.9490049,
-2712848.106869703,
22989417.352563173,
31200,
11126531.556832846,
-1612839.8483328267,
22885002.45432802,
31500,
11534598.23432977,
-509342.8196039668,
22731074.367408898,
31800,
11917707.34771445,
595255.990620154,
22527952.729204483,
32100,
12275023.125963865,
1698566.5017570702,
22276063.97756994,
32400,
12605765.131462017,
2798199.566030342,
21975940.75479684,
32700,
12909210.366857158,
3891773.2202739413,
21628220.638590746,
33000,
13184694.755203156,
4976917.450910947,
21233644.931685828,
33300,
13431614.559050925,
6051278.957949552,
20793057.334174298,
33600,
13649428.012228113,
7112527.340098895,
20307401.812694088,
33900,
13837656.303348593,
8158359.073936634,
19777721.101029083,
34200,
13995884.919617373,
9186503.731793879,
19205153.984368432,
34500,
14123764.414210668,
10194727.877430214,
18590933.45322219,
34800,
14221011.401294919,
11180841.110671757,
17936383.461223736,
35100,
14287409.098102635,
12142699.84341938,
17242916.745544408,
35400,
14322807.957118424,
13078212.99081316,
16512031.185087398,
35700,
14327125.98875156,
13985346.207673049,
15745306.803176748,
36000,
14300349.007182615,
14862126.067641761,
14944402.67060311,
36300,
14242530.700274175,
15706645.301323622,
14111052.56364633,
36600,
14153792.58125363,
16517066.110958952,
13247062.036910774,
36900,
14034323.696223646,
17291625.176622737,
12354303.578787232,
37200,
13884380.335342182,
18028636.726038538,
11434713.428434465,
37500,
13704285.368015397,
18726497.13009076,
10490286.362256603,
37800,
13494427.714984013,
19383687.69600538,
9523072.284923779,
38100,
13255261.350051,
19998778.727992807,
8535170.82810453,
38400,
12987304.367024906,
20570432.41309502,
7528727.079007119,
38700,
12691137.97047807,
21097405.601833697,
6505927.251490326,
39000,
12367404.936211543,
21578553.099544197,
5468992.895652761,
39300,
12016808.508770075,
22012829.649890304,
4420177.069727251,
39600,
11640110.497074684,
22399292.770246338,
3361758.233929516,
39900,
11238129.958407816,
22737104.372549668,
2296036.319402132,
40200,
10811740.973245585,
23025533.024546467,
1225326.4924542713,
40500,
10361871.12889223,
23263955.191743225,
151955.15993323512,
40800,
9889499.059340892,
23451856.88165643,
-921746.193575891,
41100,
9395652.419858376,
23588834.603978354,
-1993445.74365322,
41400,
8881405.805204913,
23674596.200305536,
-3060816.0614443757,
41700,
8347877.880741695,
23708961.55563462,
-4121540.2695877785,
42000,
7796229.436243441,
23691862.85130114,
-5173316.022616509,
42300,
7227660.2246477,
23623344.691097856,
-6213861.727801314,
42600,
6643406.877209543,
23503563.953659005,
-7240920.4512712285,
42900,
6044739.539155105,
23332789.298941314,
-8252266.00191511,
43200,
5432959.66779889,
23111400.623990785,
-9245706.724765182,
43500,
4809396.581790426,
22839887.9970248,
-10219091.262725817,
43800,
4175404.7423159974,
22518850.525979515,
-11170312.847317107,
44100,
3532361.0118862,
22148995.104787346,
-12097313.528216401,
44400,
2881661.007487704,
21731134.442762624,
-12998089.540800659,
44700,
2224716.7052230556,
21266185.57419008,
-13870694.664748136,
45000,
1562952.6280715126,
20755167.294212718,
-14713245.403992513,
45300,
897803.4128654611,
20199198.317562487,
-15523924.118172018,
45600,
230709.94967540234,
19599494.175020345,
-16300983.834976198,
45900,
-436883.0650768884,
18957365.0428514,
-17042751.126841046,
46200,
-1103530.9136940073,
18274212.225970957,
-17747630.42391737,
46500,
-1767791.7413150715,
17551525.210734166,
-18414107.072091732,
46800,
-2428229.4281409993,
16790878.630172156,
-19040750.29312429,
47100,
-3083417.329619092,
15993928.044502145,
-19626216.810081933,
47400,
-3731940.6591380374,
15162407.058099817,
-20169252.990654018,
47700,
-4372400.245987077,
14298122.607088514,
-20668698.085497707,
48000,
-5003414.854924695,
13402951.841413802,
-21123486.04858704,
48300,
-5623624.839992203,
12478837.047818204,
-21532648.262422524,
48600,
-6231694.381866222,
11527782.327070823,
-21895315.024183832,
48900,
-6826314.927600761,
10551848.332526984,
-22210717.699296307,
49200,
-7406207.72158079,
9553148.111538867,
-22478190.06062302,
49500,
-7970126.297444691,
8533842.906263933,
-22697169.51740477,
49800,
-8516859.657802647,
7496136.502274221,
-22867198.43257219,
50100,
-9045234.22902069,
6442271.5332581755,
-22987924.743764225,
50400,
-9554116.919421822,
5374523.511613725,
-23059102.773718085,
50700,
-10042416.93371051,
4295197.041492561,
-23080593.501407024,
51000,
-10509088.60330429,
3206619.7088182513,
-23052364.811561994,
51300,
-10953133.047592977,
2111138.2343132705,
-22974491.418214362,
51600,
-11373600.699669335,
1011112.4229707211,
-22847154.57597485,
51900,
-11769593.076586956,
-91089.44957611772,
-22670641.558836874,
52200,
-12140264.494995125,
-1193095.2470273587,
-22445345.036411062,
52500,
-12484824.179972874,
-2292535.0592179024,
-22171761.94795809,
52800,
-12802537.495788943,
-3387045.0610604463,
-21850492.582970552,
53100,
-13092727.821940016,
-4474273.705940702,
-21482238.91386781,
53400,
-13354777.596226063,
-5551885.53488685,
-21067803.356100824,
53700,
-13588129.883471899,
-6617567.280064719,
-20608086.583396204,
54000,
-13792289.224700103,
-7669031.595622179,
-20104085.979774654,
54300,
-13966822.866003092,
-8704022.884680796,
-19556893.033951294,
54600,
-14111361.515701344,
-9720321.611178594,
-18967691.11672817,
54900,
-14225600.04029237,
-10715748.570099298,
-18337753.175543614,
55200,
-14309298.19243569,
-11688170.4134902,
-17668438.417564653,
55500,
-14362280.956275636,
-12635503.063726032,
-16961190.05870186,
55800,
-14384438.969486928,
-13555717.126825329,
-16217531.511448955,
56100,
-14375728.663190532,
-14446841.133987384,
-15439063.88344539,
56400,
-14336172.346414298,
-15306966.658044063,
-14627461.766307909,
56700,
-14265858.140327167,
-16134251.358486086,
-13784470.504408127,
57000,
-14164939.740828345,
-16926923.657684144,
-12911901.737624988,
57300,
-14033636.070441034,
-17683286.085701738,
-12011629.867989969,
57600,
-13872230.869863482,
-18401718.55389578,
-11085588.470495082,
57900,
-13681071.95173066,
-19080682.447868954,
-10135765.35059167,
58200,
-13460570.628945462,
-19718723.084668167,
-9164199.337155987,
58500,
-13211200.634613574,
-20314473.493923564,
-8172974.961098427,
58800,
-12933497.35474713,
-20866656.606482062,
-7164219.099632412,
59100,
-12628056.430614844,
-21374088.57976583,
-6140095.430464252,
59400,
-12295532.80157847,
-21835680.70136078,
-5102800.952606424,
59700,
-11936639.050799558,
-22250442.179487593,
-4054560.4015867724,
60000,
-11552144.016150488,
-22617482.008607693,
-2997621.967765981,
60300,
-11142871.348099522,
-22936010.742978927,
-1934252.9908153783,
60600,
-10709697.414412467,
-23205342.50869264,
-866734.1877544108,
60900,
-10253549.902885426,
-23424896.13321992,
202644.01545560945,
61200,
-9775405.414333085,
-23594196.68937938,
1271587.4583468942,
61500,
-9276287.906059107,
-23712876.2966045,
2337801.9416141994,
61800,
-8757266.035089169,
-23780675.11801825,
3398999.216859533,
62100,
-8219451.4541966785,
-23797441.825950548,
4452900.68027157,
62400,
-7663996.001624857,
-23763134.050917156,
5497243.190588522,
62700,
-7092089.484292937,
-23677818.46623798,
6529783.428422403,
63000,
-6504957.421561664,
-23541670.76958137,
7548302.243694007,
63300,
-5903857.930591261,
-23354975.275760476,
8550610.330003431,
63600,
-5290079.711040967,
-23118124.526084732,
9534551.788148561,
63900,
-4664938.690656158,
-22831618.32604824,
10498009.789388465,
64200,
-4029775.9113004613,
-22496063.011891287,
11438910.036588836,
64500,
-3385954.0325957574,
-22112169.93324759,
12355226.22731957,
64800,
-2734855.135957381,
-21680754.380847607,
13244983.383743644,
65100,
-2077877.2024296178,
-21202733.591318958,
14106262.95701321,
65400,
-1416431.409037847,
-20679125.00601033,
14937206.566597529,
65700,
-751939.407627116,
-20111044.42958589,
15736019.68772293,
66000,
-85829.68504541837,
-19499703.23337242,
16500976.29788105,
66300,
580464.7626220826,
-18846406.468556326,
17230421.76104114,
66600,
1245510.1952751235,
-18152549.514979377,
17922777.24235303,
66900,
1907874.4751212934,
-17419615.88793528,
18576542.370017666,
67200,
2566130.83993051,
-16649173.411786953,
19190299.2591383,
67500,
3218860.2497527855,
-15842871.73675543,
19762714.92627321,
67800,
3864655.051352863,
-15002438.180842659,
20292544.8192058,
68100,
4502121.73683694,
-14129674.399286155,
20778635.303158503,
68400,
5129883.694519951,
-13226452.971589489,
21219926.061454847,
68700,
5746584.7778957,
-12294712.627766982,
21615452.9141331,
69000,
6350891.568942307,
-11336455.122928323,
21964349.5217947,
69300,
6941496.932740382,
-10353740.001839055,
22265849.781577487,
69600,
7517122.213702045,
-9348681.255601887,
22519289.2148611,
69900,
8076520.657071823,
-8323441.772319937,
22724106.837359518,
70200,
8618479.518601226,
-7280229.802027104,
22879846.215382256,
70500,
9141823.25385748,
-6221293.2817182625,
22986156.779477764,
70800,
9645415.866733769,
-5148915.421804742,
23042794.591123525,
71100,
10128163.222829314,
-4065410.2436486986,
23049622.99958299,
71400,
10589015.934633082,
-2973116.5881365724,
23006613.096794955,
71700,
11026971.172238745,
-1874394.2294104,
22913843.89496902,
72000,
11441075.38822871,
-771617.6017378768,
22771502.230555937,
72300,
11830425.97765033,
332828.17147456104,
22579882.577823106,
72600,
12194173.743498208,
1436553.6408594747,
22339386.374193802,
72900,
12531524.388953084,
2537169.051261817,
22050521.46732351,
73200,
12841740.659937305,
3632290.5928474288,
21713900.911815915,
73500,
13124143.853288554,
4719545.167449458,
21330241.808956604,
73800,
13378115.26461538,
5796575.155921262,
20900364.028891977,
74100,
13603097.858968576,
6861044.612020547,
20425188.143800832,
74400,
13798597.280274643,
7910643.249477975,
19905733.96950448,
74700,
13964183.236622438,
8943092.674797736,
19343117.913520325,
75000,
14099490.294793239,
9956150.295456644,
18738551.168506086,
75300,
14204218.918410402,
10947615.38698973,
18093336.530789986,
75600,
14278136.037953123,
11915332.88520301,
17408866.258812316,
75900,
14321075.726210129,
12857199.105660357,
16686618.48757431,
76200,
14332939.554641396,
13771166.005187145,
15928154.272709234,
76500,
14313696.87306749,
14655245.387180386,
15135114.534314131,
76800,
14263384.923748668,
15507514.17781186,
14309215.765027989,
77100,
14182108.822131258,
16326117.767809955,
13452247.134147406,
77400,
14070041.309577929,
17109275.06318427,
12566065.689871252,
77700,
13927422.49353288,
17855281.586037792,
11652593.204275955,
78000,
13754559.227470111,
18562514.120601986,
10713811.000867104,
78300,
13551824.611580197,
19229433.54067454,
9751756.57027171,
78600,
13319657.037546432,
19854588.924329977,
8768518.20408637,
78900,
13058559.287895078,
20436620.484628674,
7766230.7464383645,
79200,
12769097.559213668,
20974262.39508718,
6747071.288327753,
79500,
12451899.963188484,
21466346.142511886,
5713253.401742527,
79800,
12107655.450527277,
21911802.551926214,
4667023.326444285,
80100,
11737111.94606155,
22309664.68834227,
3610653.8823681152,
80400,
11341075.057671057,
22659069.521244194,
2546440.54896912,
80700,
10920405.888422817,
22959260.254927278,
1476695.2419088327,
81000,
10476019.54296792,
23209587.61623441,
403742.3230313043,
81300,
10008882.701479755,
23409511.568315823,
-670087.5562019511,
81600,
9520011.618372058,
23558602.32584431,
-1742462.1929956255,
81900,
9010470.064438628,
23656541.23971014,
-2811052.569262443,
82200,
8481366.48668513,
23703121.580324467,
-3873539.013024827,
82500,
7933852.079795751,
23698248.838122725,
-4927615.184976793,
82800,
7369117.6506440565,
23641940.923416324,
-5970994.311788422,
83100,
6788391.548635435,
23534328.066195555,
-7001413.102781642,
83400,
6192936.323346106,
23375652.395938568,
-8016637.852865367,
83700,
5584046.5351305185,
23166267.444166314,
-9014468.25091082,
84000,
4963045.321760312,
22906637.149027992,
-9992743.166652426,
84300,
4331281.69142024,
22597334.777581695,
-10949344.963256167,
84600,
3690127.7911839993,
22239041.724735923,
-11882203.751772683,
84900,
3040975.272009314,
21832545.610455662,
-12789302.791753631,
85200,
2385232.898342767,
21378738.832094375,
-13668681.875386395,
85500,
1724322.7432340367,
20878616.0665112,
-14518442.547482666,
85800,
1059677.7584082459,
20333272.469901595,
-15336751.264474172,
86100,
392737.9161374765,
19743900.636667985,
-16121844.252638444,
86400,
-275052.23742720945,
19111788.467290863,
-16872030.41544718,
86700,
-942247.3690775625,
18438315.708451346,
-17585695.695735436,
87000,
-1607404.245312739,
17724951.048047245,
-18261306.172634296,
87300,
-2269084.609358161,
16973249.12031433,
-18897411.06271483,
87600,
-2925858.928566175,
16184846.33713237,
-19492646.399567854
],
"epoch": "2022-03-22T16:08:00+08:00"
},
"billboard": {
"image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADJSURBVDhPnZHRDcMgEEMZjVEYpaNklIzSEfLfD4qNnXAJSFWfhO7w2Zc0Tf9QG2rXrEzSUeZLOGm47WoH95x3Hl3jEgilvDgsOQUTqsNl68ezEwn1vae6lceSEEYvvWNT/Rxc4CXQNGadho1NXoJ+9iaqc2xi2xbt23PJCDIB6TQjOC6Bho/sDy3fBQT8PrVhibU7yBFcEPaRxOoeTwbwByCOYf9VGp1BYI1BA+EeHhmfzKbBoJEQwn1yzUZtyspIQUha85MpkNIXB7GizqDEECsAAAAASUVORK5CYII=",
"scale": 1.5,
"show": true
},
"availability": "2022-03-22T16:08:00+08:00/2022-03-23T16:08:00+08:00",
"path": {
"leadTime": [
{
"interval": "2022-03-22T16:08:00+08:00/2022-03-22T17:35:38.857645+08:00",
"number": [
0,
40570.57117734112,
40570.57117734112,
0
],
"epoch": "2022-03-22T16:08:00+08:00"
},
{
"interval": "2022-03-22T17:35:38.857645+08:00/2022-03-23T04:51:49.428822+08:00",
"number": [
0,
40570.57117734112,
40570.57117734112,
0
],
"epoch": "2022-03-22T17:35:38.857645+08:00"
},
{
"interval": "2022-03-23T04:51:49.428822+08:00/2022-03-23T16:07:59.999999+08:00",
"number": [
0,
40570.57117734112,
40570.57117734112,
0
],
"epoch": "2022-03-23T04:51:49.428822+08:00"
}
],
"width": 1,
"trailTime": [
{
"interval": "2022-03-22T16:08:00+08:00/2022-03-22T17:35:38.857645+08:00",
"number": [
0,
0,
40570.57117734112,
40570.57117734112
],
"epoch": "2022-03-22T16:08:00+08:00"
},
{
"interval": "2022-03-22T17:35:38.857645+08:00/2022-03-23T04:51:49.428822+08:00",
"number": [
0,
0,
40570.57117734112,
40570.57117734112
],
"epoch": "2022-03-22T17:35:38.857645+08:00"
},
{
"interval": "2022-03-23T04:51:49.428822+08:00/2022-03-23T16:07:59.999999+08:00",
"number": [
0,
0,
40570.57117734112,
40570.57117734112
],
"epoch": "2022-03-23T04:51:49.428822+08:00"
}
],
"material": {
"solidColor": {
"color": {
"rgba": [
"213",
"255",
"0",
255
]
}
}
},
"resolution": 120,
"show": [
{
"interval": "2022-03-22T16:08:00+08:00/2022-03-23T16:08:00+08:00",
"boolean": true
}
]
}
},
ps:想要直接获取已有的czml文件,建议可以从这里获取,通过勾选卫星,或者自己添加TLE数据可以生成卫星轨迹,通过网络传输的数据中可以获取
对于上述的位置信息和轨迹显示方法信息的具体计算方法我写到了另一篇文章中,链接在此
3、Sensor的加载与使用
(1)Sensor的加载
CZML的属性中提到了agi_conicSensor,agi_rectangularSensor,agi_customPatternSensor,分别为圆锥形的探测器,棱锥形的探测器,自定义形状的探测器,其中棱锥形的探测器效果如下图所示:
以上的CZML文件是在我在https://sandcastle.cesium.com/?src=CZML.html中找到的,官方的写法为:
{
"id":"Satellite/Geoeye1/Sensor/Sensor",
"name":"Sensor",
"parent":"Satellite/Geoeye1",
"availability":"2012-03-15T10:00:00Z/2012-03-16T10:00:00Z",
"description":"<!--HTML-->\r\nGeoEye-1 primary optical sensor",
"agi_rectangularSensor":{
"xHalfAngle":0.803490658503988659,
"yHalfAngle":0.81308996938995747,
"radius":5e7,
"show":true,
"showIntersection":true,
"intersectionColor":{
"rgba":[
91,141,42,255
]
},
"intersectionWidth":1,
"portionToDisplay":"COMPLETE",
"ellipsoidSurfaceMaterial":{
"solidColor":{
"color":{
"rgba":[
255,255,255,0
]
}
}
},
"ellipsoidHorizonSurfaceMaterial":{
"solidColor":{
"color":{
"rgba":[
91,141,42,102
]
}
}
},
"lateralSurfaceMaterial":{
"solidColor":{
"color":{
"rgba":[
91,141,42,102
]
}
}
},
"domeSurfaceMaterial":{
"solidColor":{
"color":{
"rgba":[
255,255,255,0
]
}
}
}
},
"position":{
"reference":"Satellite/Geoeye1#position"
},
"orientation":{
"interpolationAlgorithm":"LAGRANGE",
"interpolationDegree":1,
"epoch":"2012-03-15T10:00:00Z",
"unitQuaternion":[
0,0.45652188368372576,-0.049580035995243577,-0.8819344359461565,0.10640131785324795,
300,0.309688526062018,-0.0592870464529779,-0.945283886004075,0.0837641797515638,
600,0.15524757622990795,-0.06613430791377527,-0.9841132393764626,0.05518673278488507,
900,-0.00292111994175703,-0.0708577012756388,-0.997213694292164,0.0231408976574577,
1200,-0.16092541190488696,-0.07366221105872979,-0.9841684849777448,-0.009449002158555368,
1500,-0.314913668750939,-0.0741332480934805,-0.945389362086838,-0.0396559808096601,
1800,-0.46111797517849523,-0.07133681989759713,-0.8820752281273645,-0.06499663851493012,
2100,-0.5958929710115779,-0.06408137429757078,-0.7961076114651798,-0.08377240317870609,
2400,-0.7157616023420825,-0.05127477935754066,-0.6899173002208836,-0.09523835608859163,
2700,-0.8174835312829725,-0.032293286222170224,-0.5663582893393724,-0.09957965576700036,
3e3,-0.8981594732171307,-0.007282064965075748,-0.4286117712387239,-0.09771633310646917,
3300,-0.9553732014106016,0.02268022485095099,-0.2801239104895849,-0.09098487895904225,
3600,-0.9873546335794315,0.055600285300614775,-0.12456553542953895,-0.08076424460656585,
3900,-0.9931290840820475,0.08878758518602645,0.03420539561535011,-0.06812765941954183,
4200,-0.9726097523437336,0.11923848848370394,0.1921955189609909,-0.05360349803229558,
4500,-0.9266013127761243,0.14410541763980506,0.3453500522795941,-0.03710764286372911,
4800,-0.8567104492606202,0.16114010867609302,0.4896475405086631,-0.018065369560029604,
5100,-0.7651904673799887,0.16900850386745597,0.6212093701046949,0.004311930589260289,
5400,-0.65476509733607,0.167416041080326,0.736419679714748,0.0306690695702625,
5700,-0.52847434486429,0.157033607133198,0.832054811891026,0.0611563820053577,
6e3,-0.3895680947630498,0.13925597141420595,0.9054212965335245,0.09516695724737946,
6300,-0.24145137791497695,0.11585074286656698,0.9544946480377988,0.13122425213131197,
6600,-0.08766695138336913,0.08857186173275274,0.9780397112564104,0.16705644001300107,
6900,0.0681091512143702,0.0588201701746901,0.975683568270575,0.199857213300588,
7200,0.22208321436701708,0.02742889663617501,0.9479134421716864,0.22668658468458308,
7500,0.37038610295591484,-0.005374179619418777,0.8959898561586955,0.24492331573631088,
7800,0.5091468061725981,-0.03982156054139311,0.8217936152310702,0.25266386177239303,
8100,0.6345951670526766,-0.07632032375575565,0.7276485749875976,0.24898139178203782,
8400,0.74319081431201,-0.115101450055357,0.616167479939105,0.2340015093603,
8700,0.831775949622172,-0.155889564893858,0.490154362443126,0.208796346149329,
9e3,0.8977458609401552,-0.19767059537716106,0.35257322945531605,0.17513087323344004,
9300,0.9392203755740813,-0.2386171448956041,0.20656933753811604,0.13511496237432705,
9600,0.9551855860047288,-0.2762045000484599,0.055512659557813385,0.09082904310077039,
9900,0.9455672936555236,-0.3075102813189379,-0.09697329110182466,0.04400114617822118,
10200,0.9112057721154048,-0.32964137331128296,-0.24702843554328593,-0.004190214559769809,
10500,0.8537280116812718,-0.34019054797696796,-0.3906342272417769,-0.05313919123483469,
10800,0.7753477260340961,-0.33761413821004504,-0.5237494546655661,-0.10266014880160201,
11100,0.678646883443177,-0.321448460029694,-0.642487282647484,-0.152706865509227,
11400,0.5663937396095698,-0.29233135836535395,-0.7433131377803619,-0.20304208393942993,
11700,0.44143384145561676,-0.2518422814615759,-0.8232445220301037,-0.25294285092366586,
1.2e4,0.306663398124318,-0.202205709303897,-0.880034226696603,-0.301015234196321,
12300,0.1650688010085161,-0.14591992362879705,-0.9123143712800115,-0.3451697477730842,
12600,0.0197975469685519,-0.0853830520494517,-0.919673265375257,-0.382777842241111,
12900,-0.125781912603622,-0.0225920035200833,-0.902638718569604,-0.410988875248159,
13200,-0.268068269053218,0.0410200787717714,-0.862557835755081,-0.42714252450661,
13500,-0.40328328188219814,0.10457256697936104,-0.8013929301708503,-0.42918124873047414,
13800,-0.527595141075492,0.167562492191663,-0.721482275790624,-0.415968152680025,
14100,-0.63729460613615,0.229579714680373,-0.625326421067951,-0.387447553497755,
14400,-0.729004052371046,0.289990892924393,-0.515449622315533,-0.344630324409041,
14700,-0.799898671746294,0.347674021531739,-0.394359239682847,-0.289423011813555,
1.5e4,-0.8479156915470907,0.40087264899467984,-0.2645960251752219,-0.22434135324919588,
15300,-0.8719196801444191,0.44721638158276605,-0.12884329208379902,-0.15216105121180204,
15600,-0.8717857218102383,0.48392142877439215,0.009953272851643033,-0.07556876590426433,
15900,-0.8483680702414826,0.5081411625681598,0.14850743324471194,0.003117462058986029,
16200,-0.803346488369551,0.517391621000153,0.28319678412636,0.0820969646432368,
16500,-0.738979706787557,0.509950643903202,0.410166022867909,0.160072381826497,
16800,-0.6578270551762475,0.48513758881443464,0.5255175543129347,0.23608554700873682,
17100,-0.562508179758941,0.443419390580516,0.625558404914632,0.309257940564423,
17400,-0.4555540793799059,0.3863368771298169,0.7070659376935179,0.37851295603122187,
17700,-0.3393715159331888,0.3162821830059178,0.7675366763881567,0.4423573276043278,
1.8e4,-0.21631044585316,0.236177777329079,0.805384997836963,0.498783373590037,
18300,-0.08879785232638711,0.14911640351638203,0.8200587302797112,0.5453282667500271,
18600,0.0405154903570449,0.0580260470357324,0.812041865849672,0.579292224195974,
18900,0.1686523581223119,-0.03457641091206519,0.7827295286715177,0.5980763654031878,
19200,0.29229452865534405,-0.12669295854298504,0.7341902907503731,0.5995643582983051,
19500,0.407873861578229,-0.216795336356195,0.668866166425428,0.582457506249872,
19800,0.5117577836803161,-0.3036425430967061,0.5892826280070711,0.5464898546116441,
20100,0.6004986784010852,-0.3860240301493302,0.49783712219037424,0.4924885634763772,
20400,0.6711099234998507,-0.46250434322348277,0.3967081096267108,0.42228412098472384,
20700,0.7213309057202829,-0.5312418622259029,0.28789149968305094,0.33850006304542296,
2.1e4,0.749841925199537,-0.589937441612334,0.173339352944198,0.244262913512946,
21300,0.7563872307097331,-0.6359420139423931,0.055151430337517605,0.14287908123262902,
21600,0.7417687469327745,-0.6665156663640296,-0.06424431919231686,0.03753211979905787,
21900,0.7076942014817681,-0.6791883285846031,-0.18198618346134604,-0.06894316886181981,
22200,0.6565015531212547,-0.6721382007881237,-0.2947929093222409,-0.17416397562071592,
22500,0.5908218944637248,-0.6444963594712376,-0.3991085848594578,-0.2761634826368209,
22800,0.5132638829746581,-0.5965106183077261,-0.49135357412158703,-0.37323844105056103,
23100,0.426193371000674,-0.529545248847109,-0.568234099794891,-0.463735967732529,
23400,0.3316496590787451,-0.44593344609858715,-0.6270569574804962,-0.5458492808082592,
23700,0.23140108646887603,-0.34872296538974706,-0.6659997992687671,-0.6174869212904571,
2.4e4,0.12710921720814497,-0.24136360081321895,-0.6842931609583379,-0.6762615832419109,
24300,0.02054636195045601,-0.12738703890664804,-0.6822767435988253,-0.7196171443714914,
24600,-0.0862023812316024,-0.0101304714742255,-0.661306263211702,-0.745077545799554,
24900,-0.190619010073819,0.107448011307467,-0.623515511970397,-0.750564936695581,
25200,-0.289758976661335,0.222829416801619,-0.571477542870679,-0.734710966602866,
25500,-0.3803928117433478,0.3338657990500558,-0.5078421383985328,-0.6970877272377297,
25800,-0.45925684869690114,0.4386157627761852,-0.43503524751987915,-0.6383131621583362,
26100,-0.52336572388435,0.5351415607715,-0.355085322401941,-0.560023430592652,
26400,-0.570333529284564,0.621334676166358,-0.269603690640144,-0.464732972318808,
26700,-0.598652090416787,0.694828694235594,-0.179907605032397,-0.355614979940353,
2.7e4,-0.6078769362607971,0.7530380553771732,-0.08724376834577352,-0.23623683540206303,
27300,-0.5986763258506331,0.7933317284738522,0.006952114549584682,-0.11028641605368303,
27600,-0.5727157733578528,0.8133143245677628,0.10083578430566897,0.018670752621711695,
27900,-0.5323861167815899,0.8111522725130088,0.19204506421905995,0.14736250121485397,
28200,-0.48042916815224024,0.7858648228788684,0.2777431003868851,0.2728792127253231,
28500,-0.4195497071613029,0.7375103147470279,0.35481393553807694,0.3926367914632889,
28800,-0.35210671775049596,0.6672327970916498,0.4201699589054409,0.5042603091991539,
29100,-0.279949347353188,0.577173960648789,0.471108061039901,0.60543849967502,
29400,-0.2044201961108391,0.4702824433722522,0.5056479450476912,0.6938061419062803,
29700,-0.12650775485514093,0.3500619591633148,0.5227933041431316,0.7669025843295615,
3e4,-0.047098675197616416,0.2202982196806411,0.5226666515306132,0.8222347478536443,
30300,0.03274057618905268,0.08480138456030355,0.5064825898443367,0.8574451387885045,
30600,0.11153203501382301,-0.05280094691003661,0.47634967947869306,0.8705536445455991,
30900,0.18727413572211804,-0.18918960505484902,0.43493049612557105,0.8602157607069801,
31200,0.25748763079307097,-0.32138166662817597,0.3850316080708179,0.8259325669388918,
31500,0.319414589200837,-0.446667239378329,0.329218965970603,0.76816506684244,
31800,0.37032756938598604,-0.5624885241155801,0.26954572798271104,0.6883380362272701,
32100,0.40788612892472786,-0.6663118854223579,0.20744434960313393,0.5887480097575158,
32400,0.43047488951487084,-0.7555460461481587,0.14379121334933295,0.4724040946166438,
32700,0.4374621389710881,-0.8275477752166153,0.07911484019237061,0.34282998521454705,
3.3e4,0.429325110114308,-0.879734059580369,0.0138911421943771,0.203850362786326,
33300,0.40760236524886084,-0.9097898799729895,-0.05115017245944058,0.05938304471511227,
33600,0.3746640467828691,-0.9159290792249553,-0.11479145989999202,-0.08673923340933061,
33900,0.3333371439356621,-0.8971439869547543,-0.17523572012836905,-0.2308927403251031,
34200,0.28646891080099296,-0.8533799607115528,-0.23019171341094993,-0.36971608144273693,
34500,0.2365330615048161,-0.7855959430565572,-0.27712032419877414,-0.5000954418750522,
34800,0.185368316325562,-0.695708468465808,-0.313585602536811,-0.619106116985781,
35100,0.134097151329766,-0.586445559098441,-0.33763436103108,-0.723949306560959,
35400,0.08322534713473181,-0.46114837103369805,-0.34812908732914705,-0.8119247871832991,
35700,0.03288479299809441,-0.32355506254181704,-0.34497013964376605,-0.8804693717825702,
3.6e4,-0.01684462057506209,-0.17759260715192188,-0.3291585457595218,-0.9272711450250903,
36300,-0.06561490494564011,-0.027195850841953605,-0.30267348190365706,-0.9504440190238841,
36600,-0.11257572453713498,0.12382948697290097,-0.26817466233774295,-0.9487229916477228,
36900,-0.15629215946623604,0.27188623019787506,-0.22858571748482606,-0.9216285631859052,
37200,-0.1948410775677811,0.4136030441727912,-0.1866521769035501,-0.8695576123526214,
37500,-0.2260645794699811,0.5458010874431712,-0.14457630571362706,-0.7937843981089023,
37792.10937600001,-0.24746131015493694,0.6623478558995569,-0.10489043695696397,-0.6993255422166699,
37800,-0.24790197338533188,0.6653091485187916,-0.10384193825221096,-0.6965092966708216,
38100,-0.2588545475625549,0.7694589286156277,-0.06504290775954717,-0.5802557199460068,
38400,-0.25815725661001,0.855271575625403,-0.0282559252459553,-0.448404912412129,
38700,-0.2460974860822899,0.9201070964636615,0.006828938928050128,-0.3046183250796059,
3.9e4,-0.2240255550485309,0.9616777784232365,0.04052383110138298,-0.15279469979358795,
39300,-0.19420097404272005,0.9782507850680473,0.07281479763986022,0.003064056016802231,
39600,-0.15945982388068305,0.9688465621184533,0.10313673829254803,0.15897080503529606,
39900,-0.12276941443418095,0.9333789075032786,0.13031622196241993,0.31104528319991587,
40200,-0.08677412295960199,0.8726998512482608,0.15270263341172297,0.4555734045847939,
40500,-0.053439598989016415,0.7885444963034473,0.16845597329829404,0.5890368169049881,
40800,-0.023869890073215806,0.6834005325410861,0.17592093141351003,0.7081283544394021,
41100,0.0016777526606360203,0.5603406494158331,0.17400265666049602,0.8097768934918691,
41400,0.023601119471086,0.422852158899476,0.162465404412487,0.891203697951737,
41700,0.04263723365980768,0.2746848021488549,0.14209067421313995,0.9500213503263696,
4.2e4,0.059496436540713016,0.11972436122508202,0.11465278681114303,0.9843683202158843,
42300,0.07453205645949991,-0.038107993905392705,0.08270141773857792,0.9930524804180562,
42600,0.0875281261148667,-0.194932123603032,0.0491846850037827,0.975664471571816,
42900,0.09766181844226578,-0.34696159098147794,0.016992231968832497,0.9326259098131838,
43200,0.10365148645947402,-0.49053494559041305,-0.011476168152497001,0.8651590224195131,
43500,0.104051937615248,-0.622134867319881,-0.0346198850646464,0.775192146955513,
43800,0.09762500588505527,-0.7384129188613829,-0.051766498857980084,0.6652337552173239,
44100,0.0837027949886419,-0.836241520781023,-0.0631098610087335,0.538248182975465,
44400,0.06246671213124077,-0.9128096086468875,-0.06948476964300637,0.39755300907562885,
44700,0.035079013378482515,-0.9657638219221164,-0.07203200571508753,0.2467409435814021,
4.5e4,0.003624787104027142,-0.9933764263730415,-0.07182626082895653,0.08961654255831594,
45300,-0.02914268961366281,-0.9947019834916413,-0.06955153775857342,-0.06986595218913243,
45600,-0.06021118464641079,-0.9696776358335197,-0.06530529545175069,-0.22767326192100695,
45900,-0.08678332293770494,-0.9191344879761394,-0.05858468203367783,-0.37977398924063116,
46200,-0.106702343162455,-0.844716581246295,-0.0484591972852643,-0.522226209156225,
46500,-0.11873333683766307,-0.7487344265053985,-0.03388284631569912,-0.6512688431167063,
46800,-0.12264874593808602,-0.6339961523630131,-0.014065839726468602,-0.7634188339709072,
47100,-0.11911765548824894,-0.5036558868125158,0.011181750701142294,-0.8555797451327016,
47400,-0.10943721534421805,-0.3611022951445421,0.041211343690350614,-0.9251649871727113,
47700,-0.09516895488244563,-0.20989028121841707,0.07445940332991763,-0.9702292188613933,
4.8e4,-0.07775797944101387,-0.05370334538002518,0.10856284237150596,-0.9895876699840516,
48300,-0.05821954443568728,0.10367295908932997,0.14065697580549397,-0.9828926784530527,
48600,-0.03696779308561079,0.2583839864914719,0.1677995616454469,-0.9506389456101355,
48900,-0.013829082192318902,0.40655521483785106,0.18742566011733403,-0.8940879351067481,
49200,0.011766469629828503,0.5443605187034081,0.19772816564216306,-0.8151298966307102,
49500,0.0404681688584498,0.668110343768653,0.197884106103537,-0.716123436573738,
49800,0.072642861517975,0.774362549135704,0.188092366046724,-0.599755716105716,
50100,0.10805263992733496,0.8600589934915127,0.16943214110425092,-0.4689519210749958,
50400,0.145646306565203,0.922684688534502,0.143581508490345,-0.326840128117006,
50700,0.18351987928551103,0.9604329416178802,0.11245468291737502,-0.17675679011627704,
5.1e4,0.2190725140814141,0.9723445113391573,0.07783103425662202,-0.022264656952409208,
51300,0.24934144472069902,0.9583812375032571,0.04105686780304741,0.13284796254562303,
51600,0.2714492977380079,0.9194043022525895,0.0028918657774757686,0.2846096359389409,
51900,0.28305977184721715,0.8570548036973584,-0.03646140428655292,0.4289578009764322,
52200,0.282734070244193,0.773567302829683,-0.0771568014233107,0.56187356363339,
52500,0.27011328140769203,0.6715677071704201,-0.11939129178720101,0.6795449575549931,
52800,0.245902507745395,0.553905766174498,-0.16306284908214,0.778544068201912,
53100,0.2116776731866049,0.42355365461192784,-0.20748444291542592,0.8560052980485927,
53400,0.16956496856604888,0.28357656384938684,-0.25122399258846284,0.9097903931227684,
53700,0.12185924981534202,0.13715805012430202,-0.2921162113175861,0.9386192580626082,
5.4e4,0.07065743064502437,-0.012352619174336894,-0.32745916085828286,0.9421387574365926,
54300,0.017584324529306205,-0.16140829338882004,-0.35436518094274805,0.9209036175906631,
54600,-0.03632701649805481,-0.30627621889471707,-0.3701917400610061,0.8762609777928663,
54900,-0.09057486975090669,-0.4431077309594589,-0.3729520370387279,0.8101595582366657,
55200,-0.14497074978174004,-0.5680620596741602,-0.3616128796476281,0.7249311024776223,
55500,-0.19932677239289606,-0.6774717830596921,-0.33622421858085105,0.6231003898289971,
55800,-0.2531311227973501,-0.7680353262416673,-0.2978700970700001,0.5072669687528623,
56100,-0.30529260488205107,-0.8370208121735021,-0.24846573761424903,0.38007546964326705,
56400,-0.35402015107600915,-0.8824598917623925,-0.1904458357193061,0.2442634964950791,
56700,-0.3968789105887388,-0.9033002360471716,-0.12640192988914895,0.10275390993689196,
5.7e4,-0.431029083415072,-0.899478691538971,-0.0587373715064084,-0.0412545016479648,
57300,-0.45360750736745487,-0.8718843172397598,0.010587765429587998,-0.18424403880302398,
57600,-0.4621677766732259,-0.8222065554968467,0.08016348251273119,-0.3224145505003909,
57900,-0.45507374578458315,-0.7527002437830542,0.14906625620422007,-0.4518069058433892,
58200,-0.43175665569963406,-0.6659273697920651,0.21665060994349702,-0.5684975300139841,
58500,-0.3927894088224882,-0.5645404135728114,0.2822605608113132,-0.6688344919114163,
58800,-0.3397797036895452,-0.45115365515922623,0.3449425386448632,-0.7496831180107714,
59100,-0.2751183749941359,-0.32831854057386184,0.40323652481192285,-0.8086514210175106,
59400,-0.20163744459867605,-0.19858906152631406,0.4551035622930941,-0.8442662335815342,
59700,-0.12224136774640404,-0.06463949347573873,0.4980201962743402,-0.8560693126129193,
6e4,-0.039579871575702405,0.07061677827166321,0.5292336203792131,-0.8446055170627841,
60300,0.0441722407862117,0.203958359062781,0.546128627794601,-0.811291145530092,
60600,0.12738231021541496,0.33187207792144297,0.5466226599232948,-0.7581809405403628,
60900,0.20886530616213903,0.45066372105081204,0.5294962420028801,-0.6876854107186361,
61200,0.2876624310818339,0.5566483196767968,0.4945889875827629,-0.6023078177368659,
61500,0.36276026638534403,0.6463912720183441,0.4428328378257481,-0.5044624766360091,
61800,0.432829485139109,0.716968002514046,0.37613272024323,-0.396408497547241,
62100,0.49605498648370977,0.7662092068293966,0.29712813101942886,-0.2802994390137349,
62400,0.5501099956814691,0.7928953062538361,0.20888005331819204,-0.15831976913120802,
62700,0.5922976605979163,0.7968598209534364,0.11453513459800707,-0.03285741838472902,
6.3e4,0.6198444580524902,0.7789665468911392,0.017026365585340406,0.09334918061270653,
63300,0.6302860677356856,0.7409485453340336,-0.08113024176926446,0.21714651702508792,
63600,0.6218548080234291,0.6851355650464052,-0.17790042210681603,0.33501835033458105,
63900,0.5937758894577129,0.6141337580983018,-0.27165080145741993,0.44325586553400487,
64200,0.5464100975537971,0.5305371868784071,-0.36095691178193606,0.5382159478009211,
64500,0.481226267129805,0.43673722517576,-0.444364552761103,0.616621456178356,
64800,0.40062596061032413,0.3348631010696651,-0.5201779852088032,0.6758553150868702,
65100,0.307664355754868,0.226850085596114,-0.586338995026596,0.714204638583494,
65400,0.2057192181253531,0.11460095392035607,-0.6404395864256344,0.7310152945003274,
65700,0.09816273699152363,0.00018445280951332604,-0.6798810359979082,0.7267226568188893,
6.6e4,-0.011907923475716897,-0.11399553010404997,-0.7021547878739269,0.7027388379337759,
66300,-0.121831654489443,-0.225119584851284,-0.705184011843247,0.661206268815877,
66600,-0.22940702591755782,-0.3299956451145088,-0.6876441356581305,0.6046658857254166,
66900,-0.332783988556138,-0.425224726723986,-0.649188583463606,0.535717212569931,
67200,-0.4302654353976429,-0.5074592274099279,-0.5905384352661269,0.4567506366629719,
67500,-0.5200839432806192,-0.5737081258124063,-0.5134332036760212,0.3698080903407541,
67800,-0.6002234141305132,-0.6216406793491032,-0.42046671986838013,0.2765907742333811,
68100,-0.6683436320901986,-0.6498415015361416,-0.31484310155893086,0.17859628698964192,
68400,-0.7218429346454092,-0.6579704978401492,-0.20009067847986403,0.07733900736341122,
68700,-0.7580621231145412,-0.6467858613826543,-0.07977523285715282,-0.025412186784279808,
6.9e4,-0.7745940759656997,-0.6180073435687139,0.042741415064368196,-0.12745239194413296,
69300,-0.7696287484742997,-0.5740344253353199,0.16445347470250699,-0.22607769175684694,
69600,-0.742248933819147,-0.517578608269526,0.282747009207622,-0.318171389804717,
69900,-0.6926080977066918,-0.4512984857828239,0.3953237626629969,-0.4004282986943089,
70200,-0.6219598567108189,-0.3775242528933459,0.5000502201263479,-0.4696713238735889,
70500,-0.532548797350159,-0.298127762642598,0.594789807247584,-0.52319852902794,
70800,-0.4273977706619069,-0.21455216751109996,0.6772786785587709,-0.5590993691815489,
71100,-0.31003512961981594,-0.12797702590280097,0.7450929857468689,-0.5764863761039929,
71400,-0.18420466324068302,-0.03956606750035801,0.7957327027891482,-0.5755976320788861,
71700,-0.05359939179982419,0.049273807420240685,0.8268167228932488,-0.5577394587485008,
7.2e4,0.0783410699105954,0.136698678323051,0.836350529704929,-0.525065652630487,
72300,0.208537130508877,0.220360465180112,0.82300239469005,-0.48022972515159,
72600,0.3342662971450888,0.29749365059515886,0.7863202472568347,-0.42598596127387484,
72900,0.453065655864117,0.365141125559097,0.726842800059066,-0.364832857489769,
73200,0.5625819921033653,0.4204721033600342,0.6460930470833414,-0.29877832412603317,
73212.755328,0.5669939286816361,0.42251645868364207,0.6422229246000671,-0.29588417006953005,
73500,0.6604254813626359,0.46113423495752087,0.5464708410763299,-0.22926626609774295,
73800,0.744091198479039,0.485559171277932,0.431073529840053,-0.157277434507154,
74100,0.8109629139217387,0.4932128042180208,0.30348133613183786,-0.08354256770409686,
74400,0.8584564263719845,0.4846773482643177,0.1675181763122329,-0.008837007702530354,
74700,0.884248797262134,0.461575403297667,0.027030302639963,0.0657386822978493,
7.5e4,0.8865608476458315,0.42631668293953184,-0.11429410695373295,0.13856697436470294,
75300,0.864419857556672,0.381715289737364,-0.253035212158867,0.207472718327352,
75600,0.8178367922431093,0.3305650091481452,-0.38606775268709015,0.2698544910049261,
75900,0.7478610192709619,0.27527461622357097,-0.5105132440637359,0.3229613121621289,
76200,0.6565131428361372,0.21764420516288105,-0.6236514983128021,0.36425307396730705,
76500,0.546624593670408,0.158820218644687,-0.722837344716153,0.391770168374286,
76800,0.4216226990150949,0.09942160876596808,-0.8054664234803948,0.4044421887381619,
77100,0.28529663999344196,0.03979416385983299,-0.8690197749875818,0.4022771214121949,
77400,0.141572650290661,-0.0196745644793018,-0.9111941494,0.386387523480558,
77700,-0.005677584185735727,-0.07826154067345656,-0.9300973077750726,0.35883407636231085,
7.8e4,-0.15277362837259098,-0.13471618946980599,-0.9244627459745598,0.32230482167318797,
78300,-0.29629216648631895,-0.18722699072552898,-0.8938279902066448,0.2796936358694209,
78600,-0.43306006812108006,-0.23356112571252202,-0.8386325377975901,0.23367422729526402,
78900,-0.5600928622469489,-0.27134571307257394,-0.7602201133464018,0.18636756402534396,
79200,-0.6745148299776936,-0.2984278973198809,-0.6607587449061507,0.13917045401753195,
79500,-0.7735044875430952,-0.31324056238568404,-0.5431070357087021,0.09276802030172142,
79800,-0.854303528156998,-0.315103903767437,-0.410653900815267,0.0473115773805121,
80100,-0.9143101176585895,-0.3044018158805231,-0.26715011438993813,0.002712861444940661,
80400,-0.9512520844451003,-0.28258604524146685,-0.11654289572437991,-0.041016488511518574,
80700,-0.9634072440661455,-0.2519881852053059,0.037176101940396486,-0.08346480720835676,
8.1e4,-0.9498166289887418,-0.21546383681076095,0.19009604688535295,-0.12364141410470297,
81300,-0.9104335717849658,-0.17594330707766598,0.33847190577209196,-0.15997322608627998,
81600,-0.8461718173259047,-0.13599514244755997,0.4787635519131509,-0.19048369524331293,
81900,-0.7588493876044478,-0.09750437701565508,0.6076381956604929,-0.21311106627672893,
82200,-0.6510539230984973,-0.06152997911024004,0.7219596324483755,-0.22609099938687513,
82500,-0.525967361882891,-0.0283562585790738,0.818794146997824,-0.228320830577183,
82800,-0.38718343345053813,0.0022897786091653502,0.8954583824418912,-0.21963158035657204,
83100,-0.238539254876924,0.0309129580138686,0.94962027600479,-0.200909791474137,
83400,-0.08397131160139938,0.057893720148079086,0.9794434939833527,-0.17403326719061196,
83700,0.07259928545320751,0.08318764786997251,0.9837445918784571,-0.14161827898768303,
8.4e4,0.2273482827922059,0.10615883377605796,0.9621200448529635,-0.10662119683662295,
84300,0.3765939394532881,0.12559351260496301,0.9150062312516662,-0.07188095108735322,
84600,0.516810728663756,0.13989211911132,0.843658766172961,-0.0397083367581567,
84900,0.6446259216517329,0.14739177708693998,0.7500654908534408,-0.011612261304097399,
85019.62118399999,0.691423819083271,0.148169042503059,0.707089891023206,-0.00170975460861611,
85200,0.7568368898141408,0.14674585487242997,0.6368080832915709,0.011791579569058797,
85500,0.8503941081217007,0.13726761075097194,0.5069978006575427,0.030670735873659188,
85800,0.9225783150135884,0.11919887448068606,0.3640722543520112,0.045741388263477324,
86100,0.9710861600885923,0.09379557357744943,0.21175557803609504,0.057910579622979914,
86400,0.9942220573758114,0.06323349479713833,0.05395779130633372,0.06791599605756453
]
}
},
]
但是我加载到自己的CZML文件中却渲染不出来,这是 因为还要引入一个cesium-sensor-volumes.js文件的依赖,笔者在这里卡了很久,注意引入的cesium-sensor-volumes.js文件版本要和cesium的版本匹配,笔者的cesium版本为1.71.0,资源已上传。
cesium-sensor-volumes.js
(2)Sensor的使用
第四章的引用文档中有详细的介绍,笔者自己翻译了一些,供大家简单学习交流
/**
* 圆锥形
* innerHalfAngle内圈半径角度
* outerHalfAngle外圈半径角度
* radius:圆锥底部半径
* minimumClockAngle:圆锥最小扇形角度
* maximumClockAngle:圆锥最大扇形角度,2*Math.PI为一整圈的圆锥
* showIntersection:boolean,是否显示和地球的交点
* intersectionColor:和地球交点的颜色
* intersectionWidth:和地球交点的宽度(像素)
* lateralSurfaceMaterial:侧面材质,solidColor/image/grid/stripe/ 整片颜色/图片/网格/条纹
* ellipsoidSurfaceMaterial:椭球面材质,solidColor/image/grid/stripe/
* ellipsoidHorizonSurfaceMaterial:椭球水平面材质, solidColor/image/grid/stripe/
* domeSurfaceMaterial:圆顶面材质,solidColor/image/grid/stripe/
* portionToDisplay:什么时候显示“指示”, COMPLETE/BELOW_ELLIPSOID_HORIZON/ABOVE_ELLIPSOID_HORIZON
*/
"agi_conicSensor":{
innerHalfAngle:0.3,
outerHalfAngle:0.6,
radius:5e7,
minimumClockAngle:0,
maximumClockAngle:2*Math.PI,
show:true,
showIntersection:true,
intersectionColor:{
"rgba":[
91,141,42,255
]
},
intersectionWidth:1,
"lateralSurfaceMaterial":{
"solidColor":{
"color":{
"rgba":[
91,141,42,102
]
}
}
},
portionToDisplay:"COMPLETE",
},
(3)Sensor中朝向信息的计算
如上所示,Sensor中需要给定朝向信息,可以通过Cesium自己的计算,让其根据速度方向计算朝向,这种方式写法上简单,但是无法动态调整朝向,写法如下:
"orientation":{
// 根据速度方向调整朝向,#position 指模型的位置
"velocityReference":"#position"
},
也可以通过自己计算四元数的方式,动态调整朝向,方法如下:
计算模型朝向四元数的方法
再将计算出的四元数放到orientation对象中,写法如下
"orientation":{
"interpolationAlgorithm":"LAGRANGE",
"interpolationDegree":1,
"epoch":"2012-03-15T10:00:00Z",
"unitQuaternion":[距离epoch的时间(秒),quaternion.x,quaternion.y,quaternion.z,quaternion.w,……]
}
未完待续…… 欢迎交流