一个
Property,其值根据提供的一组样本和指定的插值算法及次数,对给定时间进行插值得到。
| Name | Type | Description |
|---|---|---|
type |
number | Packable | 属性的类型。 |
derivativeTypes |
Array.<Packable> | optional 当提供时,表示样本将包含指定类型的导数信息。 |
Examples:
//创建一个线性插值的 Cartesian2 属性
const property = new Cesium.SampledProperty(Cesium.Cartesian2);
//填充数据
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), new Cesium.Cartesian2(0, 0));
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-02T00:00:00.00Z'), new Cesium.Cartesian2(4, 7));
//检索插值后的值
const result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T12:00:00.00Z'));
//创建一个使用三次埃尔米特多项式近似的简单数值 SampledProperty
const property = new Cesium.SampledProperty(Number);
property.setInterpolationOptions({
interpolationDegree : 3,
interpolationAlgorithm : Cesium.HermitePolynomialApproximation
});
//填充数据
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:00.00Z'), 1.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:01:00.00Z'), 6.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:00.00Z'), 12.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:03:30.00Z'), 5.0);
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:06:30.00Z'), 2.0);
//样本可以以任何顺序添加。
property.addSample(Cesium.JulianDate.fromIso8601('2012-08-01T00:00:30.00Z'), 6.2);
//检索插值后的值
const result = property.getValue(Cesium.JulianDate.fromIso8601('2012-08-01T00:02:34.00Z'));
See:
Members
获取或设置在属性变为undefined之前向后推断的时间量。值为0将永远推断。
-
Default Value:
0
backwardExtrapolationType : ExtrapolationType
获取或设置当在任何可用样本之前的时间请求值时执行的推断类型。
-
Default Value:
ExtrapolationType.NONE
readonly definitionChanged : Event
获取当此属性的定义更改时引发的事件。如果对 getValue 的调用对相同时间返回不同结果,则认为定义已更改。
derivativeTypes : Array.<Packable>
获取此属性使用的导数类型。
获取或设置在属性变为undefined之前向前推断的时间量。值为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 : times 和 values 的长度必须相同。
-
DeveloperError : times 和 derivativeValues 的长度必须相同。
以单个打包数组的形式添加样本,其中每个新样本表示为一个日期,
后跟相应值和导数的打包表示。
| Name | Type | Description |
|---|---|---|
packedSamples |
Array.<number> | 打包样本数组。 |
epoch |
JulianDate | optional 如果 packedSamples 中的任何日期是数字,则它们被视为从此纪元开始的偏移量(秒)。 |
将此属性与提供的属性进行比较,如果相等则返回
true,否则返回 false。
| Name | Type | Description |
|---|---|---|
other |
Property | optional 另一个属性。 |
Returns:
如果左右相等则返回
true,否则返回 false。
getSample(index) → JulianDate|undefined
检索与索引关联的样本时间。负索引按反向顺序访问样本列表。
| Name | Type | Description |
|---|---|---|
index |
number | 样本列表的索引。 |
Returns:
样本的 JulianDate 时间,如果失败则返回 undefined。
获取指定时间的属性值。
| Name | Type | Default | Description |
|---|---|---|---|
time |
JulianDate |
JulianDate.now()
|
optional 用于检索值的时间。如果省略,则使用当前系统时间。 |
result |
object | optional 用于存储值的对象,如果省略,则创建并返回新实例。 |
Returns:
修改后的结果参数,如果未提供结果参数,则返回新实例。
移除给定时间的样本(如果存在)。
| Name | Type | Description |
|---|---|---|
time |
JulianDate | 样本时间。 |
Returns:
如果移除了time的样本则返回
true,否则返回 false。
移除给定时间间隔内的所有样本。
| Name | Type | Description |
|---|---|---|
time |
TimeInterval | 要移除所有样本的时间间隔。 |
设置插值值时使用的算法和次数。
| Name | Type | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
包含以下属性的对象:
|
