cesium-时间系统

cesium-时间系统

Cesium时间系统在动态数据可视化中发挥着重要的作用,在三维场景的基础上增加时间维信息,生成“四维"场景。三维GIS不再仅仅呈现某个时刻的静志坛景,还能深人展示段时间内 三维场景的动态变化。例如,可以研究洪水随着时间变化造成的淹没区范围,刻画城市中出租车的运动轨迹特征,也可构建地表开采沉陷模型,呈现地表的变形规律。而且在时间系统支持下,可以减少很多监听判断事件,节省内存资源,提高三维场景的流畅性。

Cesium中的Clock控件包含两部分: Animation控件和Timeline控件,Animetion控制时间的启动和暂停,Timeline控制时间线,两个控件绑定在一起,同时出现或隐藏。

let viewer = new Cesium.Viewer('cesiumContainer',{
  animation: false,
  timeline: false
})

Clolck以儒略日记录时间,我国采用北京时间,而Cesium显示协调世界时,则存在时间差问题,北京时间与协调世界时相差8个小时.例如。在Clock设置时间为12点,那么控件显示的时间将为4点,所以在设置时间时需要加8个小时才会显示为北京时间。Clock 中默认开始时间(SmnrTime)为当前时间,终止时间(stopTime)为24小时后,并能获取当前时间(currentTime)。下边示例代码展示如何调用clock并设置时间范围:

//设定起始时间
let start = Cesium.JulianDate.fromIso8601('2015-07-30');
//设定终止时间
let end = Cesium.JulianDate.fromIso8601('2016-07-319');
viewer.timeline.zoomTo(start,end);
//定义clock事件
let clock = viewer.clock;
//设定clock的起始时间
clock.startTime = start;
//设定clock的终止时间
clock.endTime = end;
//设定clock的当前时间
clock.currentTime.start;
//设定clock范围为不断循环
clock.clockRange=Cesium.ClockRange.LOOP_STOP: 
//设定时间速率
clock.multiplier=10;

其中start和end分别代表起始和结束时间,multiplier表示时间轴进行速度,此值表示真实世界时间进度与Cesium中时间的比值关系,值越大时钟走得越快。若设置为86400,表示真实世界经过1秒,而在Cesium中时钟经过1天。clockRange属性表示时间轴达到终点之后的行为,用户可以根据自己的需要来设置,默认为UNBOUNDED值,各种模式如下:

  • CLAMPED:达到终止时间后停止。

  • LOOP_ STOP:达到终止时间后重新循环。

  • UNBOUNDED:达到终止时间后继续读秒。

儒略日(Juin day):指由公元前4713年1月1日.协调世界时中午12时开始所经过的天数,为简化起见,通常表示为当前年份和当天位于这一 年的第几天的组合数。例如2006年1月1日表示为2006001

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙霸天

你的打赏是我不断创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值