Class: SampledProperty

SampledProperty

new SampledProperty(type, derivativeTypes)

Property其值是在给定时间内,根据提供的样本集、指定的插值算法和程度插值得出的。

Name Type Description
type Number | Packable

属性的类型。

derivativeTypes Array.<Packable> 可选

提供时,表示样本将包含指定类型的导数信息。

See:
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'));

Members

backwardExtrapolationDurationNumber

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

Default Value:
0

backwardExtrapolationTypeExtrapolationType

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

Default Value:
ExtrapolationType.NONE

readonly definitionChangedEvent

获取当属性定义发生变化时抛出的事件。如果调用 getValue 会返回相同时间内的不同结果,则认为定义发生了变化。

readonly definitionChangedEvent

获取当属性定义发生变化时抛出的事件。如果调用 getValue 会返回相同时间内的不同结果,则认为定义发生了变化。

derivativeTypesArray.<Packable>

获取该属性使用的导数类型。

forwardExtrapolationDurationNumber

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

Default Value:
0

forwardExtrapolationTypeExtrapolationType

获取或设置在任何可用样本之后请求值时要执行的外推法类型。

Default Value:
ExtrapolationType.NONE

interpolationAlgorithmInterpolationAlgorithm

获取获取数值时使用的插值算法。

Default Value:
LinearApproximation

interpolationDegreeNumber

获取数值时要执行的插值程度。

Default Value:
1

readonly isConstantBoolean

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

type*

获取属性类型。

Methods

addSample(time, value, derivatives)

添加新样本

Name Type Description
time JulianDate

采样时间。

value Packable

所提供时间的数值。

derivatives Array.<Packable> 可选

所提供时间的导数数组。

addSamples(times, values, derivativeValues)

添加样本数组

Name Type Description
times Array.<JulianDate>

一个 JulianDate 实例数组,其中每个索引都是一个样本时间。

values Array.<Packable>

值数组,其中每个值都对应所提供的时间索引。

derivativeValues Array.<Array> 可选

数组,其中每个项目都是等效时间索引下的导数数组。

Throws:
  • 次数和数值的长度必须相同。

    Type
    DeveloperError
  • 次数和导数值的长度必须相同。

    Type
    DeveloperError

addSamplesPackedArray(packedSamples, epoch)

以单个打包数组的形式添加样本,其中每个新样本都用日期表示,然后是相应值和导数的打包表示。

Name Type Description
packedSamples Array.<Number>

打包样本的数组。

epoch JulianDate 可选

如果packkedsamples中的任何日期是数字,则它们被认为是该历元的偏移量,以秒为单位。

equals(other){Boolean}

将此属性与所提供的属性进行比较,如果相等则返回true ,否则返回false

Name Type Description
other Property 可选

一个属性值。

Returns:
Type Description
Boolean 如果左右相等则为true,否则为false

getValue(time, result){Object}

获取指定时间的属性值。

Name Type Description
time JulianDate

取属性值的时间。

result Object 可选

要存储属性的对象,如果省略,则会创建一个新实例并返回。

Returns:
Type Description
Object 修改后的结果参数,或一个新实例(如果未提供结果参数)。

removeSample(time){Boolean}

删除指定时间的样本

Name Type Description
time JulianDate

指定时间.

Returns:
Type Description
Boolean 如果样本被删除,返回true,反之返回 false

removeSamples(time)

去除指定时间段的样本

Name Type Description
time TimeInterval

指定时间段

setInterpolationOptions()

设置插值时使用的算法和程度。

Name Type Description
options.interpolationAlgorithm InterpolationAlgorithm 可选

新的插值算法。 如果未定义,现有属性将保持不变。

options.interpolationDegree Number 可选

新的插值度数。如果未定义,现有属性将保持不变。