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
-
获取或设置在属性变为未定义之前向后推断的时间量。如果值为 0,则将永远外推。
-
Default Value:
0
-
backwardExtrapolationType : ExtrapolationType
-
获取或设置外推法的类型,当请求值的时间早于任何可用样本时执行外推法。
-
Default Value:
ExtrapolationType.NONE
-
readonlydefinitionChanged : Event
-
获取该属性的定义发生变化时引发的事件。如果在同一时间调用 getValue 会返回不同的结果,则认为定义已更改。
-
derivativeTypes : Array.<Packable>
-
获取该属性使用的导数类型。
-
获取或设置在属性变得未定义之前向前推断的时间量。如果值为 0,则将永远外推。
-
Default Value:
0
-
forwardExtrapolationType : ExtrapolationType
-
获取或设置在任何可用样本之后请求值时要执行的外推法类型。
-
Default Value:
ExtrapolationType.NONE
-
interpolationAlgorithm : InterpolationAlgorithm
-
获取获取数值时使用的插值算法。
-
Default Value:
LinearApproximation
-
获取数值时要执行的插值程度。
-
Default Value:
1
-
获取表示该属性是否为常数的值。如果 getValue 在当前定义中总是返回相同的结果,则该属性被视为常量。
-
获取属性类型。
Methods
-
添加新样本
Name Type Description time
JulianDate 采样时间。 value
Packable 所提供时间的数值。 derivatives
Array.<Packable> optional 所提供时间的导数数组。 -
添加样本数组
Name Type Description times
Array.<JulianDate> 一个 JulianDate 实例数组,其中每个索引都是一个样本时间。 values
Array.<Packable> 值数组,其中每个值都对应所提供的时间索引。 derivativeValues
Array.<Array> optional 数组,其中每个项目都是等效时间索引下的导数数组。 Throws:
-
DeveloperError : 次数和数值的长度必须相同。
-
DeveloperError : 次数和导数值的长度必须相同。
-
-
以单个打包数组的形式添加样本,其中每个新样本都用日期表示,然后是相应值和导数的打包表示。
Name Type Description packedSamples
Array.<Number> 打包样本的数组。 epoch
JulianDate optional 如果packkedsamples中的任何日期是数字,则它们被认为是该历元的偏移量,以秒为单位。 -
将此属性与提供的属性进行比较,如果相等则返回 true,否则返回 false。
Name Type Description other
Property optional 一个属性。 Returns:
如果相等则返回 true,否则返回 false。 -
获取指定时间的属性值。
Name Type Description time
JulianDate 检索值的时间。 result
Object optional 要存储数值的对象,如果省略,则会创建一个新实例并返回。 Returns:
修改后的结果参数,或一个新实例(如果未提供结果参数)。 -
设置插值时使用的算法和程度。
Name Type Description options
Object optional 具有以下属性的对象: Name Type Description interpolationAlgorithm
InterpolationAlgorithm optional 新的插值算法。 如果未定义,现有属性将保持不变。 interpolationDegree
Number optional 新的插值度数。如果未定义,现有属性将保持不变。