一個
new SampledProperty(type, derivativeTypes)
Property
,其值根據所提供的一組樣本和指定的插值算法和程度在給定時間內進行插值。
Parameters:
type
((Number | Packable))
屬性的類型。
derivativeTypes
(Array.<Packable>)
如果提供,則表示示例將包含指定類型的派生信息。
Examples
//Create a linearly interpolated Cartesian2
var property = new bmgl.SampledProperty(bmgl.Cartesian2);
//Populate it with data
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new bmgl.Cartesian2(0, 0));
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new bmgl.Cartesian2(4, 7));
//Retrieve an interpolated value
var result = property.getValue(bmgl.JulianDate.fromIso8601('2012-08-01T12:00:00.00Z'));
//Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation
var property = new bmgl.SampledProperty(Number);
property.setInterpolationOptions({
interpolationDegree : 3,
interpolationAlgorithm : bmgl.HermitePolynomialApproximation
});
//Populate it with data
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0);
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0);
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0);
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0);
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0);
//Samples can be added in any order.
property.addSample(bmgl.JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2);
//Retrieve an interpolated value
var result = property.getValue(bmgl.JulianDate.fromIso8601('2012-08-01T00:02:34.00Z'));
Members
backwardExtrapolationDuration : Number
獲取或設置在屬性未定義之前向后外推的時間量。0的值將永遠外推。
-
Default Value:
0
backwardExtrapolationType : ExtrapolationType
獲取或設置在任何可用示例之前的某個時間請求值時要執行的外推類型。
-
Default Value:
ExtrapolationType.NONE
(readonly) definitionChanged : Event
獲取每當此屬性的定義更改時引發的事件。如果對getValue的調用同時返回不同的結果,則認為該定義已更改。
derivativeTypes : Array.<Packable>
獲取此屬性使用的派生類型。
forwardExtrapolationDuration : Number
獲取或設置屬性未定義前向前外推的時間量。0的值將永遠外推。
-
Default Value:
0
forwardExtrapolationType : ExtrapolationType
獲取或設置在任何可用示例之后的某個時間請求值時要執行的外推類型。
-
Default Value:
ExtrapolationType.NONE
interpolationAlgorithm : InterpolationAlgorithm
獲取檢索值時要使用的插值算法。
-
Default Value:
LinearApproximation
interpolationDegree : Number
獲取檢索值時要執行的插值程度。
-
Default Value:
1
(readonly) isConstant : Boolean
獲取一個值,該值指示此屬性是否為常量。如果getValue總是為當前定義返回相同的結果,則將屬性視為常量。
type : *
獲取屬性的類型。
Methods
addSample(time, value, derivatives)
添加新示例。
Parameters:
添加示例數組。
Parameters:
values
(Array.<Packable>)
值的數組,其中每個值對應于提供的時間索引。
derivativeValues
(Array.<Array>)
一個數組,其中每個項都是等效時間索引處的導數數組。
Throws
-
DeveloperError : 時間和值的長度必須相同。
-
DeveloperError : 時間和派生值的長度必須相同。
將樣本添加為單個壓縮數組,其中每個新樣本表示為日期,然后是相應值和導數的壓縮表示。
Parameters:
packedSamples
(Array.<Number>)
打包樣本的數組。
將此屬性與提供的屬性進行比較,如果相等,則返回
true
,否則返回false
。
Parameters:
獲取所提供時間的屬性值。
Parameters:
result
(Object)
將值存儲到的對象(如果省略),將創建并返回新實例。
在給定時間移除樣本(如果存在)。
Parameters:
刪除給定時間間隔內的所有樣本。
Parameters:
設置插入值時要使用的算法和程度。
Parameters:
options
(Object)
Name | Description |
---|---|
options.interpolationAlgorithm
InterpolationAlgorithm
|
新的插值算法。如果未定義,則現有屬性將保持不變。 |
options.interpolationDegree
Number
|
新的插值度。如果未定義,則現有屬性將保持不變。 |