由起始和结束时间定义的区间;可选地将这两个时间作为区间的一部分包含在内。
可以为每个实例可选地关联任意数据,以便与
TimeIntervalCollection 配合使用。
| Name | Type | Description | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
optional
Object with the following properties:
|
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:
修改后的 result 参数,如果未提供则为新实例。
检查指定日期是否在提供的区间内。
| 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。
比较两个实例,如果它们在
epsilon 秒范围内则返回 true。也就是说,要使日期被视为相等(并使此函数返回 true),它们之间以秒为单位的差值的绝对值必须小于 epsilon。
| Name | Type | Default | Description |
|---|---|---|---|
left |
TimeInterval | optional 第一个实例。 | |
right |
TimeInterval | optional 第二个实例。 | |
epsilon |
number |
0
|
optional 分隔两个实例的最大秒数。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
true 表示两个日期在 epsilon 秒范围内;否则为 false。
static Cesium.TimeInterval.fromIso8601(options, result) → TimeInterval
从 ISO 8601 区间创建一个新实例。
| Name | Type | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
Object with the following properties:
|
||||||||||||||||||||
result |
TimeInterval | optional 用于存放结果的现有实例。 |
Returns:
修改后的 result 参数,如果未提供则为新实例。
Throws:
-
如果 options.iso8601 不符合正确的格式,则抛出 DeveloperError。
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:
修改后的 result 参数。
创建所提供的区间的 ISO8601 表示形式。
| Name | Type | Description |
|---|---|---|
timeInterval |
TimeInterval | 要转换的区间。 |
precision |
number | optional 用于表示秒分量的小数位数。默认情况下使用最精确的表示形式。 |
Returns:
所提供的区间的 ISO8601 表示形式。
clone(result) → TimeInterval
复制此实例。
| Name | Type | Description |
|---|---|---|
result |
TimeInterval | optional 用于存放结果的现有实例。 |
Returns:
修改后的 result 参数,如果未提供则为新实例。
将此实例与提供的实例按分量进行比较,如果它们相等则返回
true,否则返回 false。
| Name | Type | Description |
|---|---|---|
right |
TimeInterval | optional 右侧区间。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
true 表示它们相等,否则为 false。
将此实例与提供的实例按分量进行比较,如果它们在提供的 epsilon 范围内则返回
true,否则返回 false。
| Name | Type | Default | Description |
|---|---|---|---|
right |
TimeInterval | optional 右侧区间。 | |
epsilon |
number |
0
|
optional 用于相等性测试的 epsilon。 |
dataComparer |
TimeInterval.DataComparer | optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。 |
Returns:
true 表示它们在提供的 epsilon 范围内,否则为 false。
创建一个以 ISO8601 格式表示此 TimeInterval 的字符串。
Returns:
一个以 ISO8601 格式表示此 TimeInterval 的字符串。
Type Definitions
用于比较区间数据的函数接口。
| Name | Type | Description |
|---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
Returns:
true 表示提供的实例相等,否则为 false。
用于合并区间数据的函数接口。
| Name | Type | Description |
|---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
Returns:
合并两个数据实例的结果。
