SampledProperty

new SuperMap3D.SampledProperty(type, derivativeTypes)

Property其值是在给定时间内,根据提供的样本集、指定的插值算法和程度插值得出的。
Name Type Description
type Number | Packable 属性的类型。
derivativeTypes Array.<Packable> optional 提供时,表示样本将包含指定类型的导数信息。
Examples:
//Create a linearly interpolated Cartesian2
var property = new SuperMap3D.SampledProperty(SuperMap3D.Cartesian2);

//Populate it with data
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new SuperMap3D.Cartesian2(0, 0));
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new SuperMap3D.Cartesian2(4, 7));

//Retrieve an interpolated value
var result = property.getValue(SuperMap3D.JulianDate.fromIso8601('2012-08-01T12:00:00.00Z'));
//Create a simple numeric SampledProperty that uses third degree Hermite Polynomial Approximation
var property = new SuperMap3D.SampledProperty(Number);
property.setInterpolationOptions({
    interpolationDegree : 3,
    interpolationAlgorithm : SuperMap3D.HermitePolynomialApproximation
});

//Populate it with data
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0);
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0);
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0);
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0);
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0);

//Samples can be added in any order.
property.addSample(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2);

//Retrieve an interpolated value
var result = property.getValue(SuperMap3D.JulianDate.fromIso8601('2012-08-01T00:02:34.00Z'));
See:

Members

backwardExtrapolationDuration : Number

获取或设置在属性变为未定义之前向后推断的时间量。如果值为 0,则将永远外推。
Default Value: 0

backwardExtrapolationType : ExtrapolationType

获取或设置外推法的类型,当请求值的时间早于任何可用样本时执行外推法。
Default Value: ExtrapolationType.NONE

readonlydefinitionChanged : 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

readonlyisConstant : Boolean

获取表示该属性是否为常数的值。如果 getValue 在当前定义中总是返回相同的结果,则该属性被视为常量。

type : Object

获取属性类型。

Methods

addSample(time, value, derivatives)

添加新样本
Name Type Description
time JulianDate 采样时间。
value Packable 所提供时间的数值。
derivatives Array.<Packable> optional 所提供时间的导数数组。

addSamples(times, values, derivativeValues)

添加样本数组
Name Type Description
times Array.<JulianDate> 一个 JulianDate 实例数组,其中每个索引都是一个样本时间。
values Array.<Packable> 值数组,其中每个值都对应所提供的时间索引。
derivativeValues Array.<Array> optional 数组,其中每个项目都是等效时间索引下的导数数组。
Throws:

addSamplesPackedArray(packedSamples, epoch)

以单个打包数组的形式添加样本,其中每个新样本都用日期表示,然后是相应值和导数的打包表示。
Name Type Description
packedSamples Array.<Number> 打包样本的数组。
epoch JulianDate optional 如果packkedsamples中的任何日期是数字,则它们被认为是该历元的偏移量,以秒为单位。

equals(other)Boolean

将此属性与提供的属性进行比较,如果相等则返回 true,否则返回 false。
Name Type Description
other Property optional 一个属性。
Returns:
如果相等则返回 true,否则返回 false。

getValue(time, result)Object

获取指定时间的属性值。
Name Type Description
time JulianDate 检索值的时间。
result Object optional 要存储数值的对象,如果省略,则会创建一个新实例并返回。
Returns:
修改后的结果参数,或一个新实例(如果未提供结果参数)。

setInterpolationOptions(options)

设置插值时使用的算法和程度。
Name Type Description
options Object optional 具有以下属性的对象:
Name Type Description
interpolationAlgorithm InterpolationAlgorithm optional 新的插值算法。 如果未定义,现有属性将保持不变。
interpolationDegree Number optional 新的插值度数。如果未定义,现有属性将保持不变。