SampledProperty

一个Property,其值根据所提供的一组样本和指定的插值算法和程度在给定时间内进行插值。
new SampledProperty(type, derivativeTypes)
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'));
See:

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:
time (JulianDate) 采样时间。
value (Packable) 在提供的时间的值。
derivatives (Array.<Packable>) 在提供的时间内的导数数组。
addSamples(times, values, derivativeValues)
添加示例数组。
Parameters:
times (Array.<JulianDate>) 一个Juliandate实例数组,其中每个索引都是一个采样时间。
values (Array.<Packable>) 值的数组,其中每个值对应于提供的时间索引。
derivativeValues (Array.<Array>) 一个数组,其中每个项都是等效时间索引处的导数数组。
Throws
addSamplesPackedArray(packedSamples, epoch)
将样本添加为单个压缩数组,其中每个新样本表示为日期,然后是相应值和导数的压缩表示。
Parameters:
packedSamples (Array.<Number>) 打包样本的数组。
epoch (JulianDate) 如果packedsamples中的任何日期是数字,则它们将被视为与此纪元的偏移量,单位为秒。
equals(other) → {Boolean}
将此属性与提供的属性进行比较,如果相等,则返回true,否则返回false
Parameters:
other (Property) 其他财产。
getValue(time, result) → {Object}
获取所提供时间的属性值。
Parameters:
time (JulianDate) 检索值的时间。
result (Object) 将值存储到的对象(如果省略),将创建并返回新实例。
removeSample(time) → {Boolean}
在给定时间移除样本(如果存在)。
Parameters:
time (JulianDate) 采样时间。
removeSamples(time)
删除给定时间间隔内的所有样本。
Parameters:
time (TimeInterval) 删除所有样本的时间间隔。
setInterpolationOptions(options)
设置插入值时要使用的算法和程度。
Parameters:
options (Object)
Name Description
options.interpolationAlgorithm
InterpolationAlgorithm
新的插值算法。如果未定义,则现有属性将保持不变。
options.interpolationDegree
Number
新的插值度。如果未定义,则现有属性将保持不变。