缘起
参见之前的一篇文章‘STK的CZML Exporter插件’。
链接:STK的CZML Exporter插件_wangyulj的博客-优快云博客
在STK场景中插入一个圆轨道,轨道高度550km,则轨道周期约为95.6分钟(5736s)。仿真时间设置为210分钟(3个半小时,卫星围绕地球约运行两周多),通过czml exporter插件输出czml文件,导入到Cesium场景,运行流畅,卫星沿轨道(轨迹)运行。
根据仿真时间,卫星的轨迹数据约为2个多轨道周期。作为初学者,习惯性的要问个问题(知其所以然):Cesium是如何实现卫星轨迹的绘制(保持有序不乱的)呢?
查看输出的czml文件,相关内容部分如下,关键信息标红:
| [ { "id":"document", "name":"testScen", "version":"1.0", "clock":{ "interval":"2022-07-23T04:00:00Z/2022-07-23T07:30:00Z", // 仿真时间 "currentTime":"2022-07-23T04:00:00Z", "multiplier":100, // 此参数决定Cesium启动场景后的仿真倍速 "range":"LOOP_STOP", // 此参数确定到达仿真结束时间后从头再开始重复 "step":"SYSTEM_CLOCK_MULTIPLIER" } }, { "id":"Satellite/Satellite1", // 卫星id "availability":"2022-07-23T04:00:00Z/2022-07-23T07:30:00Z", // 仿真时间 "name":"Satellite1", "billboard":{ …… }, }, "label":{ …… }, "path":{ // 此子packet(属性)决定了卫星的轨迹,包括如何绘制和轨迹数据(由position提供) "show":[ { "interval":"2022-07-23T04:00:00Z/2022-07-23T07:30:00Z", "boolean":true } ], "width":1, "material":{ "solidColor":{ "color":{ "rgba":[ 127,255,0,255 ] } } }, "resolution":120, // 此参数决定如何在两点之间插值 "leadTime":[ { "interval":"2022-07-23T04:00:00Z/2022-07-23T05:35:35.4577096720022Z", "epoch":"2022-07-23T04:00:00Z", "number":[ 0,5735.457709672002, 5735.457709672002,0 ] }, { "interval":"2022-07-23T05:35:35.4577096720022Z/2022-07-23T05:54:24.5422903279978Z", "epoch":"2022-07-23T05:35:35.4577096720022Z", "number":[ 0,5735.457709672002, 5735.457709672002,0 ] }, { "interval":"2022-07-23T05:54:24.5422903279978Z/2022-07-23T07:30:00Z", "epoch":"2022-07-23T05:54:24.5422903279978Z", "number":[ 0,5735.457709672002, 5735.457709672002,0 ] } ], "trailTime":[ { "interval":"2022-07-23T04:00:00Z/2022-07-23T05:35:35.4577096720022Z", "epoch":"2022-07-23T04:00:00Z", "number":[ 0,0, 5735.457709672002,5735.457709672002 ] }, { "interval":"2022-07-23T05:35:35.4577096720022Z/2022-07-23T05:54:24.5422903279978Z", "epoch":"2022-07-23T05:35:35.4577096720022Z", "number":[ 0,0, 5735.457709672002,5735.457709672002 ] }, { "interval":"2022-07-23T05:54:24.5422903279978Z/2022-07-23T07:30:00Z", "epoch":"2022-07-23T05:54:24.5422903279978Z", "number":[ 0,0, 5735.457709672002,5735.457709672002 ] } ] }, "model":{ …… }, "position":{ "interpolationAlgorithm":"LAGRANGE", "interpolationDegree":5, "referenceFrame":"INERTIAL", "epoch":"2022-07-23T04:00:00Z", "cartesian":[ 0,-3434067.16966553,6017159.753007312,7312.440334839022, 60,-3663394.0650235787,5868629.095296768,371239.48733340215, 120,-3876916.8218236733,5694776.836956464,733563.2383742067, // 以60s为间隔生成卫星的位置数据(笛卡尔坐标系) …… 12540,-4655634.893307433,490479.88086475834,5107208.192100117, 12600,-4534775.655193217,71490.03735354387,5237344.863802221 ] }, "orientation":{ "interpolationAlgorithm":"LINEAR", &n |

本文解析了Cesium如何通过czml文件中的leadTime和trailTime配置实现卫星轨迹的有序绘制,通过实例演示和czml配置解读,揭示了这两个参数与卫星轨道周期的关系及其在轨迹分段中的关键作用。
最低0.47元/天 解锁文章
800

被折叠的 条评论
为什么被折叠?



