一个
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
|
新的插值度。如果未定义,则现有属性将保持不变。 |