由开始和结束时间定义的区间;可选择地将这些时间包括在区间内。
可以选择性地将任意数据与每个实例关联,以便与
TimeIntervalCollection 一起使用。
| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
具有以下属性的对象:
|
Examples:
// Create an instance that spans August 1st, 1980 and is associated
// with a Cartesian position.
const timeInterval = new Cesium.TimeInterval({
start : Cesium.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
stop : Cesium.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
isStartIncluded : true,
isStopIncluded : false,
data : Cesium.Cartesian3.fromDegrees(39.921037, -75.170082)
});
// Create two instances from ISO 8601 intervals with associated numeric data
// then compute their intersection, summing the data they contain.
const left = Cesium.TimeInterval.fromIso8601({
iso8601 : '2000/2010',
data : 2
});
const right = Cesium.TimeInterval.fromIso8601({
iso8601 : '1995/2005',
data : 3
});
//The result of the below intersection will be an interval equivalent to
//const intersection = Cesium.TimeInterval.fromIso8601({
// iso8601 : '2000/2005',
// data : 5
//});
const intersection = new Cesium.TimeInterval();
Cesium.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
return leftData + rightData;
});
// Check if an interval contains a specific time.
const dateToCheck = Cesium.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
const containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck);
Members
static constant Cesium.TimeInterval.EMPTY : TimeInterval
一个不可变的空区间。
获取或设置与此区间关联的数据。
获取此区间是否为空。
获取或设置开始时间是否包含在此区间内。
-
Default Value:
true
获取或设置结束时间是否包含在此区间内。
-
Default Value:
true
获取或设置此区间的开始时间。
获取或设置此区间的结束时间。
Methods
static Cesium.TimeInterval.clone(timeInterval, result) → TimeInterval
复制提供的实例。
| Name | Type | Description |
|---|---|---|
timeInterval |
TimeInterval | optional 要克隆的实例。 |
result |
TimeInterval | optional 用于结果的现有实例。 |
Returns:
修改后的结果参数,如果未提供则返回一个新实例。
检查指定日期是否在提供的区间内。
| Name | Type | Description |
|---|---|---|
timeInterval |
TimeInterval | 区间。 |
julianDate |
JulianDate | 要检查的日期。 |
Returns:
true 如果该区间包含指定日期,false 则返回否则。
比较两个实例并返回如果相等则为
true,否则为 false。
| Name | Type | Description |
|---|---|---|
left |
TimeInterval | optional 第一个实例。 |
right |
TimeInterval | optional 第二个实例。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
如果日期相等则为
true;否则为 false。
比较两个实例并返回
true 如果它们在 epsilon 秒内相互靠近。也就是说,日期被视为相等(并且
此函数返回 true),则它们之间的绝对差值(以秒为单位)必须小于 epsilon。
| Name | Type | Default | Description |
|---|---|---|---|
left |
TimeInterval | optional 第一个实例。 | |
right |
TimeInterval | optional 第二个实例。 | |
epsilon |
number |
0
|
optional 应该将两个实例分开的最大秒数。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
如果两个日期在
epsilon 秒内相互靠近则为 true;否则为 false。
static Cesium.TimeInterval.fromIso8601(options, result) → TimeInterval
从 ISO 8601 区间创建一个新实例。
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
具有以下属性的对象:
|
||||||||||||||||||||
result |
TimeInterval | optional 用于结果的现有实例。 |
Returns:
修改后的结果参数,或者如果未提供则返回一个新实例。
Throws:
-
DeveloperError 如果 options.iso8601 不符合正确的格式。
static Cesium.TimeInterval.intersect(left, right, result, mergeCallback) → TimeInterval
计算两个区间的交集,可选择性地合并它们的数据。
| Name | Type | Description |
|---|---|---|
left |
TimeInterval | 第一个区间。 |
right |
TimeInterval | optional 第二个区间。 |
result |
TimeInterval | optional 用于结果的现有实例。 |
mergeCallback |
TimeInterval.MergeCallback | optional 一个合并两个区间数据的函数。如果省略,将使用左侧区间的数据。 |
Returns:
修改后的结果参数。
创建提供的区间的ISO8601表示。
| Name | Type | Description |
|---|---|---|
timeInterval |
TimeInterval | 要转换的区间。 |
precision |
number | optional 用于表示秒组件的数字小数位数。默认情况下,使用最精确的表示。 |
Returns:
提供的区间的ISO8601表示。
clone(result) → TimeInterval
复制此实例。
| Name | Type | Description |
|---|---|---|
result |
TimeInterval | optional 用于结果的现有实例。 |
Returns:
修改后的结果参数,如果未提供则返回一个新实例。
将此实例与提供的实例逐个比较,并返回
如果相等则为
true,否则为 false。
| Name | Type | Description |
|---|---|---|
right |
TimeInterval | optional 右侧区间。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
如果相等则为
true,否则为 false。
将此实例与提供的实例逐个比较,并返回
true 如果它们在提供的epsilon范围内,
false 则返回否则。
| Name | Type | Default | Description |
|---|---|---|---|
right |
TimeInterval | optional 右侧区间。 | |
epsilon |
number |
0
|
optional 用于相等性测试的epsilon。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
如果它们在提供的 epsilon 范围内,则为
true,否则为 false。
创建一个表示此TimeInterval的ISO8601格式的字符串。
Returns:
一个表示此TimeInterval的ISO8601格式的字符串。
Type Definitions
比较区间数据的函数接口。
| Name | Type | Description |
|---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
Returns:
如果提供的实例相等,则为
true;否则为 false。
合并区间数据的函数接口。
| Name | Type | Description |
|---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
Returns:
合并两个数据实例的结果。
