由开始和停止时间定义的间隔;可选地包括这些时间作为间隔的一部分。可以选择将任意数据与每个实例关联以与
TimeIntervalCollection
一起使用。
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的
可选
对象:
|
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
start : JulianDate
获取或设置此间隔的开始时间。
获取或设置此间隔的停止时间。
Methods
static Cesium.TimeInterval.clone ( timeInterval , result ) → TimeInterval
复制提供的实例。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 可选 要克隆的实例。 |
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果没有提供)。
检查指定日期是否在提供的时间间隔内。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 间隔。 |
julianDate
|
JulianDate | 要检查的日期。 |
Returns:
如果间隔包含指定的日期,则为
true
,否则为
false
。
比较两个实例,如果相等则返回
true
,否则返回
false
。
Name | Type | Description |
---|---|---|
left
|
TimeInterval | 可选 第一个实例。 |
right
|
TimeInterval | 可选 第二个实例。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。 |
Returns:
如果日期相等,则为
true
;否则,
false
。
比较两个实例,如果它们在
epsilon
秒内,则返回
true
。也就是说,为了使日期被视为相等(并且此函数返回
true
),它们之间的差异的绝对值(以秒为单位)必须小于
epsilon
。
Name | Type | Default | Description |
---|---|---|---|
left
|
TimeInterval | 可选 第一个实例。 | |
right
|
TimeInterval | 可选 第二个实例。 | |
epsilon
|
Number |
0
|
可选 应该分隔两个实例的最大秒数。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。 |
Returns:
如果两个日期在
epsilon
秒内,则为
true
;否则
false
。
static Cesium.TimeInterval.fromIso8601 (options, result ) → TimeInterval
从
ISO 8601
间隔创建一个新实例。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options
|
Object |
具有以下属性的对象:
|
||||||||||||||||||||
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果没有提供)。
Throws:
-
如果 options.iso8601 与正确的格式不匹配,则 DeveloperError。
static Cesium.TimeInterval.intersect (left, right , result , mergeCallback ) → TimeInterval
计算两个区间的交集,可选择合并它们的数据。
Name | Type | Description |
---|---|---|
left
|
TimeInterval | 第一个间隔。 |
right
|
TimeInterval | 可选 第二个间隔。 |
result
|
TimeInterval | 可选 用于结果的现有实例。 |
mergeCallback
|
TimeInterval.MergeCallback | 可选 合并两个区间数据的函数。如果省略,将使用左侧区间的数据。 |
Returns:
修改后的结果参数。
创建所提供间隔的 ISO8601 表示。
Name | Type | Description |
---|---|---|
timeInterval
|
TimeInterval | 要转换的间隔。 |
precision
|
Number | 可选 用于表示秒组件的小数位数。默认情况下,使用最精确的表示。 |
Returns:
提供的间隔的 ISO8601 表示。
clone ( result ) → TimeInterval
复制此实例。
Name | Type | Description |
---|---|---|
result
|
TimeInterval | 可选 用于结果的现有实例。 |
Returns:
修改后的结果参数或新实例(如果没有提供)。
将此实例与提供的实例组件进行比较,如果它们相等则返回
true
,否则返回
false
。
Name | Type | Description |
---|---|---|
right
|
TimeInterval | 可选 右手边的间隔。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。 |
Returns:
如果它们相等,则为
true
,否则为
false
。
将此实例与提供的实例组件进行比较,如果它们在提供的 epsilon 内,则返回
true
,否则返回
false
。
Name | Type | Default | Description |
---|---|---|---|
right
|
TimeInterval | 可选 右手边的间隔。 | |
epsilon
|
Number |
0
|
可选 用于相等性测试的 epsilon。 |
dataComparer
|
TimeInterval.DataComparer | 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。 |
Returns:
如果它们在提供的 epsilon 内,则为
true
,否则为
false
。
创建一个以 ISO8601 格式表示此 TimeInterval 的字符串。
Returns:
以 ISO8601 格式表示此 TimeInterval 的字符串。
Type Definitions
用于比较区间数据的函数接口。
Name | Type | Description |
---|---|---|
leftData
|
* | 第一个数据实例。 |
rightData
|
* | 第二个数据实例。 |
Returns:
如果提供的实例相等,则为
true
,否则为
false
。
合并区间数据的函数接口。
Name | Type | Description |
---|---|---|
leftData
|
* | 第一个数据实例。 |
rightData
|
* | 第二个数据实例。 |
Returns:
合并两个数据实例的结果。