A
Property
whose value is interpolated for a given time from the
provided set of samples and specified interpolation algorithm and degree.
Name | Type | Description |
---|---|---|
type |
number | Packable | The type of property. |
derivativeTypes |
Array.<Packable> | optional When supplied, indicates that samples will contain derivative information of the specified types. |
Examples:
//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'));
See:
Members
Gets or sets the amount of time to extrapolate backward
before the property becomes undefined. A value of 0 will extrapolate forever.
-
Default Value:
0
backwardExtrapolationType : ExtrapolationType
Gets or sets the type of extrapolation to perform when a value
is requested at a time before any available samples.
-
Default Value:
ExtrapolationType.NONE
readonly definitionChanged : Event
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.
derivativeTypes : Array.<Packable>
Gets the derivative types used by this property.
Gets or sets the amount of time to extrapolate forward before
the property becomes undefined. A value of 0 will extrapolate forever.
-
Default Value:
0
forwardExtrapolationType : ExtrapolationType
Gets or sets the type of extrapolation to perform when a value
is requested at a time after any available samples.
-
Default Value:
ExtrapolationType.NONE
interpolationAlgorithm : InterpolationAlgorithm
Gets the interpolation algorithm to use when retrieving a value.
-
Default Value:
LinearApproximation
Gets the degree of interpolation to perform when retrieving a value.
-
Default Value:
1
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.
Methods
Adds a new sample.
Name | Type | Description |
---|---|---|
time |
JulianDate | The sample time. |
value |
Packable | The value at the provided time. |
derivatives |
Array.<Packable> | optional The array of derivatives at the provided time. |
Adds an array of samples.
Name | Type | Description |
---|---|---|
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> | optional An array where each item is the array of derivatives at the equivalent time index. |
Throws:
-
DeveloperError : times and values must be the same length.
-
DeveloperError : times and derivativeValues must be the same length.
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.
Name | Type | Description |
---|---|---|
packedSamples |
Array.<number> | The array of packed samples. |
epoch |
JulianDate | optional 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.
Name | Type | Description |
---|---|---|
other |
Property | optional The other property. |
Returns:
true
if left and right are equal, false
otherwise.
getSample(index) → JulianDate|undefined
Retrieves the time of the provided sample associated with the index. A negative index accesses the list of samples in reverse order.
Name | Type | Description |
---|---|---|
index |
number | The index of samples list. |
Returns:
The JulianDate time of the sample, or undefined if failed.
Gets the value of the property at the provided time.
Name | Type | Default | Description |
---|---|---|---|
time |
JulianDate |
JulianDate.now()
|
optional The time for which to retrieve the value. If omitted, the current system time is used. |
result |
object | optional The object to store the value into, if omitted, a new instance is created and returned. |
Returns:
The modified result parameter or a new instance if the result parameter was not supplied.
Removes a sample at the given time, if present.
Name | Type | Description |
---|---|---|
time |
JulianDate | The sample time. |
Returns:
true
if a sample at time was removed, false
otherwise.
Removes all samples for the given time interval.
Name | Type | Description |
---|---|---|
time |
TimeInterval | The time interval for which to remove all samples. |
Sets the algorithm and degree to use when interpolating a value.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
Object with the following properties:
|