CZML中leadTime和trailTime浅析

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

缘起

参见之前的一篇文章‘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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值