SampledProperty

new Cesium.SampledProperty(type, derivativeTypes)

A Property whose value is interpolated for a given time from the provided set of samples and specified interpolation algorithm and degree.
参数名称 类型 描述信息
type number | Packable The type of property.
derivativeTypes Array.<Packable> 可选 When supplied, indicates that samples will contain derivative information of the specified types.
使用示例s:
//Create a linearly interpolated Cartesian2
const property = new Cesium.SampledProperty(Cesium.Cartesian2);

//Populate it with data
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new Cesium.Cartesian2(0, 0));
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new Cesium.Cartesian2(4, 7));

//Retrieve an interpolated value
const result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T12:00:00.00Z'));
//Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation
const property = new Cesium.SampledProperty(Number);
property.setInterpolationOptions({
    interpolationDegree : 3,
    interpolationAlgorithm : Cesium.HermitePolynomialApproximation
});

//Populate it with data
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0);

//Samples can be added in any order.
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2);

//Retrieve an interpolated value
const result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:34.00Z'));
参考:

成员(属性)

backwardExtrapolationDuration : number

Gets or sets the amount of time to extrapolate backward before the property becomes undefined. A value of 0 will extrapolate forever.
默认值: 0
Gets or sets the type of extrapolation to perform when a value is requested at a time before any available samples.
默认值: ExtrapolationType.NONE
Gets the event that is raised whenever the definition of this property changes. The definition is considered to have changed if a call to getValue would return a different result for the same time.
Gets the derivative types used by this property.

forwardExtrapolationDuration : number

Gets or sets the amount of time to extrapolate forward before the property becomes undefined. A value of 0 will extrapolate forever.
默认值: 0
Gets or sets the type of extrapolation to perform when a value is requested at a time after any available samples.
默认值: ExtrapolationType.NONE
Gets the interpolation algorithm to use when retrieving a value.
默认值: LinearApproximation
Gets the degree of interpolation to perform when retrieving a value.
默认值: 1

readonly isConstant : boolean

Gets a value indicating if this property is constant. A property is considered constant if getValue always returns the same result for the current definition.
Gets the type of property.

方法

addSample(time, value, derivatives)

Adds a new sample.
参数名称 类型 描述信息
time JulianDate The sample time.
value Packable The value at the provided time.
derivatives Array.<Packable> 可选 The array of derivatives at the provided time.

addSamples(times, values, derivativeValues)

Adds an array of samples.
参数名称 类型 描述信息
times Array.<JulianDate> An array of JulianDate instances where each index is a sample time.
values Array.<Packable> The array of values, where each value corresponds to the provided times index.
derivativeValues Array.<Array> 可选 An array where each item is the array of derivatives at the equivalent time index.
Throws:

addSamplesPackedArray(packedSamples, epoch)

Adds samples as a single packed array where each new sample is represented as a date, followed by the packed representation of the corresponding value and derivatives.
参数名称 类型 描述信息
packedSamples Array.<number> The array of packed samples.
epoch JulianDate 可选 If any of the dates in packedSamples are numbers, they are considered an offset from this epoch, in seconds.
Compares this property to the provided property and returns true if they are equal, false otherwise.
参数名称 类型 描述信息
other Property 可选 The other property.
返回值:
true if left and right are equal, false otherwise.

getValue(time, result)object

Gets the value of the property at the provided time.
参数名称 类型 默认值 描述信息
time JulianDate JulianDate.now() 可选 The time for which to retrieve the value. If omitted, the current system time is used.
result object 可选 The object to store the value into, if omitted, a new instance is created and returned.
返回值:
The modified result parameter or a new instance if the result parameter was not supplied.

removeSample(time)boolean

Removes a sample at the given time, if present.
参数名称 类型 描述信息
time JulianDate The sample time.
返回值:
true if a sample at time was removed, false otherwise.
Removes all samples for the given time interval.
参数名称 类型 描述信息
time TimeInterval The time interval for which to remove all samples.

setInterpolationOptions(options)

Sets the algorithm and degree to use when interpolating a value.
参数名称 类型 描述信息
options object 可选 Object with the following properties:
参数名称 类型 描述信息
interpolationAlgorithm InterpolationAlgorithm 可选 The new interpolation algorithm. If undefined, the existing property will be unchanged.
interpolationDegree number 可选 The new interpolation degree. If undefined, the existing property will be unchanged.