Json 铯CZML模型:是否可以定义多个时钟间隔?

Json 铯CZML模型:是否可以定义多个时钟间隔?,json,clock,cesium,czml,Json,Clock,Cesium,Czml,在铯CZML模型中,我想定义多个时钟,每个时钟都有自己的时间间隔和乘法器,比如: clock: { interval: "2019-06-01T16:00:00Z/2019-06-01T16:10:00Z", currentTime: "2019-06-01T16:00:00Z", multiplier: 60, range: "UNBOUNDED", step: "

在铯CZML模型中,我想定义多个时钟,每个时钟都有自己的时间间隔和乘法器,比如:

clock: {
      interval: "2019-06-01T16:00:00Z/2019-06-01T16:10:00Z",
      currentTime: "2019-06-01T16:00:00Z",
      multiplier: 60,
      range: "UNBOUNDED",
      step: "SYSTEM_CLOCK_MULTIPLIER",
    },
clock: {
      interval: "2019-06-01T16:10:00Z/2019-06-01T16:20:00Z",
      currentTime: "2019-06-01T16:10:00Z",
      multiplier: 80,
      range: "UNBOUNDED",
      step: "SYSTEM_CLOCK_MULTIPLIER",
    },
但这是不可能的,因为
clock
将是一个重复的键


有没有办法定义连续的时间间隔,每个时间间隔都有自己的时钟乘数?

不幸的是,我认为答案是“没有”,至少在一个CZML文档中是这样。但是,Cesium Viewer支持同时加载多个CZML文档,因此您可以同时加载多个CZML文档,并且每个文档都有自己的时钟设置

称为
AutomaticallyTrackDataSourceLocks
,每当添加新数据源(单独的CZML文件)和删除活动数据源时,它都会更新自己的时钟设置。它还有一个字段,即读/写,可以用来设置当前负责查看器时钟设置的数据源

但是,您需要编写自己的UI来显示可用数据源的列表,并选择控制时钟设置的数据源,如果这里需要的话。铯不会自动从一个时钟范围的末尾跳到下一个时钟范围的开头,除非您编写代码来实现这一点


查看器将始终尝试显示当前时间范围内具有“可用性”的所有数据源中的对象,即使时钟正在跟踪另一个数据源的范围。当时间范围重叠时,用户将在场景中看到来自多个数据源的所有对象。当时间范围不重叠时,过期对象将不会显示,但某些“永久”对象(如固定点)可能具有无限的可用性,因此继续显示在其父数据源的时钟范围之外。通过限制此类实体仅在其自己的文件时钟范围内可用,可以从CZML文档中控制此操作。

感谢您的回复!我知道我可以为我想要用特定的时钟乘法器定义的每个时间间隔生成一个CZML文件。在我的例子中,时间范围不会重叠,所以您的解决方案在我看来是可行的和好的。我不太清楚如何加载所有CZML文件,并告诉Cesium一次制作一个动画,让当前的一个控制时钟设置。。。请你在这方面再详细一点好吗?我可以参考任何文档吗?我上面帖子中的链接都指向主要的铯参考文档,它非常简洁,但是当你找到正确的位置时,它确实有所有正确的信息
viewer.dataSources
是主要的dataSources集合,您可以从不同的URL向其中添加多个CzmlDataSource实例。字段
viewer.clockTrackedDataSource
将包含对集合中一个数据源的引用,您可以随时将其设置为其他数据源。