new SampledProperty(type, derivativeTypes)
Property其值是在给定时间内,根据提供的样本集、指定的插值算法和程度插值得出的。
| Name | Type | Description |
|---|---|---|
type |
Number | Packable |
属性的类型。 |
derivativeTypes |
Array.<Packable> |
可选
提供时,表示样本将包含指定类型的导数信息。 |
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 timeJulianDate 采样时间。
valuePackable 所提供时间的数值。
derivativesArray.<Packable> 可选 所提供时间的导数数组。
-
addSamples(times, values, derivativeValues)
-
添加样本数组
Name Type Description timesArray.<JulianDate> 一个 JulianDate 实例数组,其中每个索引都是一个样本时间。
valuesArray.<Packable> 值数组,其中每个值都对应所提供的时间索引。
derivativeValuesArray.<Array> 可选 数组,其中每个项目都是等效时间索引下的导数数组。
Throws:
-
-
次数和数值的长度必须相同。
- Type
- DeveloperError
-
-
-
次数和导数值的长度必须相同。
- Type
- DeveloperError
-
-
-
addSamplesPackedArray(packedSamples, epoch)
-
以单个打包数组的形式添加样本,其中每个新样本都用日期表示,然后是相应值和导数的打包表示。
Name Type Description packedSamplesArray.<Number> 打包样本的数组。
epochJulianDate 可选 如果packkedsamples中的任何日期是数字,则它们被认为是该历元的偏移量,以秒为单位。
-
equals(other){Boolean}
-
将此属性与所提供的属性进行比较,如果相等则返回
true,否则返回false。Name Type Description otherProperty 可选 一个属性值。
Returns:
Type Description Boolean 如果左右相等则为 true,否则为false。 -
getValue(time, result){Object}
-
获取指定时间的属性值。
Name Type Description timeJulianDate 取属性值的时间。
resultObject 可选 要存储属性的对象,如果省略,则会创建一个新实例并返回。
Returns:
Type Description Object 修改后的结果参数,或一个新实例(如果未提供结果参数)。 -
removeSample(time){Boolean}
-
删除指定时间的样本
Name Type Description timeJulianDate 指定时间.
Returns:
Type Description Boolean 如果样本被删除,返回 true,反之返回false。 -
removeSamples(time)
-
去除指定时间段的样本
Name Type Description timeTimeInterval 指定时间段
-
setInterpolationOptions()
-
设置插值时使用的算法和程度。
Name Type Description options.interpolationAlgorithmInterpolationAlgorithm 可选 新的插值算法。 如果未定义,现有属性将保持不变。
options.interpolationDegreeNumber 可选 新的插值度数。如果未定义,现有属性将保持不变。