首页 / Cesium / API 文档
SampledProperty
先看结论
离散采样 + 时间插值的属性。给几个时刻的坐标,Cesium 在中间自动补值, 是轨迹回放最常用的方式。
new Cesium.SampledProperty(type, derivativeTypes)
构造参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
type | function | 必填 | 值类型构造器,如 Number、Cesium.Cartesian3、Cesium.Quaternion |
derivativeTypes | Array<function> | — | 导数类型,配 Hermite 插值用,一般省略 |
常用成员
| 成员 | 类型 | 默认 | 说明 |
|---|---|---|---|
isConstant | boolean | false | 只有 0 或 1 个采样时为 true |
interpolationDegree | number | 1 | 插值阶数;大于 1 需同时换插值算法 |
interpolationAlgorithm | object | LinearApproximation | Cesium.LagrangePolynomialApproximation、HermitePolynomialApproximation |
referenceFrame | ReferenceFrame | FIXED | 采样坐标所在参照系,配 Transforms 时用 INERTIAL |
type | function | — | 构造时传入的值类型,只读 |
definitionChanged | Event | — | 采样变化时触发 |
常用方法
| 方法 | 说明 |
|---|---|
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)。