经纬志
首页 / Cesium / API 文档

SampledProperty

先看结论

离散采样 + 时间插值的属性。给几个时刻的坐标,Cesium 在中间自动补值, 是轨迹回放最常用的方式。

最后验证 2026-11-03 · CesiumJS 1.121 · 更新 2026-10-28 · 引用本文
new Cesium.SampledProperty(type, derivativeTypes)

构造参数

参数类型默认说明
typefunction必填值类型构造器,如 Number、Cesium.Cartesian3、Cesium.Quaternion
derivativeTypesArray<function>—导数类型,配 Hermite 插值用,一般省略

常用成员

成员类型默认说明
isConstantbooleanfalse只有 0 或 1 个采样时为 true
interpolationDegreenumber1插值阶数;大于 1 需同时换插值算法
interpolationAlgorithmobjectLinearApproximationCesium.LagrangePolynomialApproximation、HermitePolynomialApproximation
referenceFrameReferenceFrameFIXED采样坐标所在参照系,配 Transforms 时用 INERTIAL
typefunction—构造时传入的值类型,只读
definitionChangedEvent—采样变化时触发

常用方法

方法说明
addSample(time, value, derivatives)追加一个采样,time 为 JulianDate
addSamples(times, values, derivativeValues)批量追加,两个数组长度一致
removeSamples(time)删除某个时刻的采样
getValue(time, result)按时间取值,落在采样区间外时返回端点值

示例

var start = Cesium.JulianDate.fromIso8601('2026-10-28T08:00:00Z');
var property = new Cesium.SampledProperty(Cesium.Cartesian3);

property.addSample(start, Cesium.Cartesian3.fromDegrees(116.30, 39.90, 100));
property.addSample(
  Cesium.JulianDate.addSeconds(start, 10, new Cesium.JulianDate()),
  Cesium.Cartesian3.fromDegrees(116.42, 39.93, 120)
);
property.addSample(
  Cesium.JulianDate.addSeconds(start, 20, new Cesium.JulianDate()),
  Cesium.Cartesian3.fromDegrees(116.50, 39.88, 90)
);

// 让轨迹在两端之间平滑过渡,可用更高阶插值
property.interpolationAlgorithm = Cesium.LagrangePolynomialApproximation;
property.interpolationDegree = 2;

var entity = viewer.entities.add({
  position: property,
  point: { pixelSize: 10, color: Cesium.Color.LIME }
});

// 时钟停在区间中段时,position 会返回插值结果
viewer.clock.currentTime = Cesium.JulianDate.addSeconds(
  start, 5, new Cesium.JulianDate()
);

注意事项

  • 采样按时间升序添加;乱序会打乱插值,需要先自行排序再批量 addSamples。
  • 区间外的时刻返回首尾端点值,不会外推;做「未开始不显示」要配合 availability。
  • interpolationDegree 大于 1 时若仍是线性算法会报错,两个属性要一起改。
  • 采样点很多时内存与求值开销上升;几百个点以内插值足够,更长轨迹可考虑抽稀。
引用本文

经纬志(2026)。《SampledProperty》。https://www.jingweizhi.com/cesium/api/sampled-property.html(访问日期 2026-11-03)。