用途:面向 CesiumJS v1.144 的时间数据绑定层,讲解如何让实体属性随时间变化,包括 Clock/JulianDate 时间系统、Property 属性体系、插值算法、样条与材质属性。
主要能力:JulianDate 作为时间基元,内部使用 TAI,支持 fromIso8601、fromDate、now 创建及 toIso8601、toDate、toGregorianDate 转换,加减与比较需传入 result 参数以避免分配。Clock 由 Viewer 自动创建,可配置 startTime、stopTime、currentTime、clockRange(UNBOUNDED、CLAMPED、LOOP_STOP)、multiplier、shouldAnimate,并通过 onTick 监听每帧回调;也可手动调用 viewer.clock.tick() 推进。TimeInterval 与 TimeIntervalCollection 可附加任意数据,并用于 Entity.availability 裁剪时间窗口外的实体。Property 体系每帧调用 getValue(time):ConstantProperty 返回固定值;SampledProperty 存储离散样本并插值,类型可为 Number、Cartesian3、Color 等 Packable;SampledPositionProperty 专用于位置并支持参考系;CallbackProperty 每帧计算,isConstant 需为 false;CompositeProperty 按时间区间委托子属性;VelocityOrientationProperty 由位置速度自动计算朝向;ReferenceProperty 通过 "entityId#propertyPath" 跨实体绑定。材质属性包括 ColorMaterialProperty、ImageMaterialProperty、GridMaterialProperty、StripeMaterialProperty、CheckerboardMaterialProperty 及多种 Polyline 材质。1.143+ 支持 PathMode.WHOLE 与 PathMode.PORTIONS 分段路径材质,materialMode 本身也是 Property。样条使用无量纲参数时间,含 LinearSpline、HermiteSpline、CatmullRomSpline、QuaternionSpline、ConstantSpline、SteppedSpline、MorphWeightSpline。CZML 通过 document 包设置时钟,实体包用 epoch 加偏移数组表示位置。
使用方式:按需引入对应类,配置 Clock 后为实体属性赋值 Property 实例;插值可调用 setInterpolationOptions 切换算法与阶数,并用 forwardExtrapolationType 控制外推。
适用场景:时间动态可视化、轨迹与路径动画、随时间变化的颜色与位置、CZML 时序数据。
限制:Material 类(Fabric)属于 cesiumjs-materials-shaders;PORTIONS 模式下非正分辨率回退为 60 秒;1.143 类型定义中 PathGraphics 构造选项含 materialMode 但实例成员缺失,TypeScript 需在构造时设置或做类型增强;小步长长窗口会产生大量折线。其余细节暂未提供。