一個(gè)
new SampledProperty(type, derivativeTypes)
Property
,其值根據(jù)所提供的一組樣本和指定的插值算法和程度在給定時(shí)間內(nèi)進(jìn)行插值。
Parameters:
type
((Number | Packable))
屬性的類(lèi)型。
derivativeTypes
(Array.<Packable>)
如果提供,則表示示例將包含指定類(lèi)型的派生信息。
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
獲取或設(shè)置在屬性未定義之前向后外推的時(shí)間量。0的值將永遠(yuǎn)外推。
-
Default Value:
0
backwardExtrapolationType : ExtrapolationType
獲取或設(shè)置在任何可用示例之前的某個(gè)時(shí)間請(qǐng)求值時(shí)要執(zhí)行的外推類(lèi)型。
-
Default Value:
ExtrapolationType.NONE
(readonly) definitionChanged : Event
獲取每當(dāng)此屬性的定義更改時(shí)引發(fā)的事件。如果對(duì)getValue的調(diào)用同時(shí)返回不同的結(jié)果,則認(rèn)為該定義已更改。
derivativeTypes : Array.<Packable>
獲取此屬性使用的派生類(lèi)型。
forwardExtrapolationDuration : Number
獲取或設(shè)置屬性未定義前向前外推的時(shí)間量。0的值將永遠(yuǎn)外推。
-
Default Value:
0
forwardExtrapolationType : ExtrapolationType
獲取或設(shè)置在任何可用示例之后的某個(gè)時(shí)間請(qǐng)求值時(shí)要執(zhí)行的外推類(lèi)型。
-
Default Value:
ExtrapolationType.NONE
interpolationAlgorithm : InterpolationAlgorithm
獲取檢索值時(shí)要使用的插值算法。
-
Default Value:
LinearApproximation
interpolationDegree : Number
獲取檢索值時(shí)要執(zhí)行的插值程度。
-
Default Value:
1
(readonly) isConstant : Boolean
獲取一個(gè)值,該值指示此屬性是否為常量。如果getValue總是為當(dāng)前定義返回相同的結(jié)果,則將屬性視為常量。
type : *
獲取屬性的類(lèi)型。
Methods
addSample(time, value, derivatives)
添加新示例。
Parameters:
value
(Packable)
在提供的時(shí)間的值。
derivatives
(Array.<Packable>)
在提供的時(shí)間內(nèi)的導(dǎo)數(shù)數(shù)組。
添加示例數(shù)組。
Parameters:
values
(Array.<Packable>)
值的數(shù)組,其中每個(gè)值對(duì)應(yīng)于提供的時(shí)間索引。
derivativeValues
(Array.<Array>)
一個(gè)數(shù)組,其中每個(gè)項(xiàng)都是等效時(shí)間索引處的導(dǎo)數(shù)數(shù)組。
Throws
-
DeveloperError : 時(shí)間和值的長(zhǎng)度必須相同。
-
DeveloperError : 時(shí)間和派生值的長(zhǎng)度必須相同。
將樣本添加為單個(gè)壓縮數(shù)組,其中每個(gè)新樣本表示為日期,然后是相應(yīng)值和導(dǎo)數(shù)的壓縮表示。
Parameters:
packedSamples
(Array.<Number>)
打包樣本的數(shù)組。
將此屬性與提供的屬性進(jìn)行比較,如果相等,則返回
true
,否則返回false
。
Parameters:
獲取所提供時(shí)間的屬性值。
Parameters:
result
(Object)
將值存儲(chǔ)到的對(duì)象(如果省略),將創(chuàng)建并返回新實(shí)例。
在給定時(shí)間移除樣本(如果存在)。
Parameters:
刪除給定時(shí)間間隔內(nèi)的所有樣本。
Parameters:
設(shè)置插入值時(shí)要使用的算法和程度。
Parameters:
options
(Object)
Name | Description |
---|---|
options.interpolationAlgorithm
InterpolationAlgorithm
|
新的插值算法。如果未定義,則現(xiàn)有屬性將保持不變。 |
options.interpolationDegree
Number
|
新的插值度。如果未定義,則現(xiàn)有屬性將保持不變。 |