new Cesium.TimeInterval(options)
由开始和停止时间定义的时间区间;可以选择将这些时间作为区间的一部分。
可以选择将任意数据与每个实例关联,以与
TimeIntervalCollection
一起使用。
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
对象,具有以下属性:
|
示例:
// 创建一个跨越(spans)1980年8月1日并与笛卡尔坐标位置关联的实例。
var 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)
});
// 用相关的数值数据从ISO 8601区间创建两个实例,然后计算它们的交集,对它们包含的数据求和。
var left = Cesium.TimeInterval.fromIso8601({
iso8601 : '2000/2010',
data : 2
});
var right = Cesium.TimeInterval.fromIso8601({
iso8601 : '1995/2005',
data : 3
});
//The result of the below intersection will be an interval equivalent to
//var intersection = Cesium.TimeInterval.fromIso8601({
// iso8601 : '2000/2005',
// data : 5
//});
var intersection = new Cesium.TimeInterval();
Cesium.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
return leftData + rightData;
});
// 检查区间是否包含特定的时间。
var dateToCheck = Cesium.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
var containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck);
成员变量
一个不可变的空区间。
data : *
获取或设置与此区间关联的数据。
获取此区间是否为空。
isStartIncluded : Boolean
获取或设置开始时间是否包含在此区间中。
-
Default Value:
true
isStopIncluded : Boolean
获取或设置此区间中是否包含停止时间。
-
Default Value:
true
start : JulianDate
获取或设置此区间的开始时间。
获取或设置此区间的结束时间。
内置方法
复制提供的实例。
Name | Type | Description |
---|---|---|
timeInterval |
TimeInterval | optional 要克隆的实例。 |
result |
TimeInterval | optional 要用于结果的现有实例。 |
返回值:
修改后的结果参数或新实例(如果没有提供)。
检查指定的日期是否在提供的区间内。
Name | Type | Description |
---|---|---|
timeInterval |
TimeInterval | 时间区间。 |
julianDate |
JulianDate | 要检查的日期。 |
返回值:
如果间隔包含指定的日期,则为
true
,否则 false
。
比较两个实例,如果相等,则返回
true
,否则返回false
。
Name | Type | Description |
---|---|---|
left |
TimeInterval | optional 第一个实例。 |
right |
TimeInterval | optional 第二个实例。 |
dataComparer |
TimeInterval~DataComparer | optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。 |
返回值:
如果日期相等,则为
true
;否则,false
。
staticCesium.TimeInterval.equalsEpsilon(left, right, epsilon, dataComparer) → Boolean
比较两个实例,如果它们在
epsilon
秒内,则返回true
。
也就是说,为了使日期相等(并且这个函数要返回true
),它们之间的差的绝对值(以秒为单位)必须小于epsilon
。
Name | Type | Description |
---|---|---|
left |
TimeInterval | optional 第一个实例。 |
right |
TimeInterval | optional 第二个实例。 |
epsilon |
Number | 分隔两个实例的最大秒数。 |
dataComparer |
TimeInterval~DataComparer | optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。 |
返回值:
如果两个日期在
epsilon
秒内,true
;否则false
。
从ISO 8601区间创建一个新实例。
Name | Type | Description | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
对象,具有以下属性:
|
||||||||||||||||||||
result |
TimeInterval | optional 要用于结果的现有实例。 |
返回值:
修改后的结果参数或新实例(如果没有提供)。
异常情况:
-
DeveloperError 如果options.iso8601格式不正确。
计算两个区间的交集,可以选择合并它们的数据。
Name | Type | Description |
---|---|---|
left |
TimeInterval | 第一个区间。 |
right |
TimeInterval | optional 第二个区间。 |
result |
TimeInterval | 要用于结果的现有实例。 |
mergeCallback |
TimeInterval~MergeCallback | optional 将两个区间的数据合并在一起的函数。如果省略,则使用左区间的数据。 |
返回值:
修改后的结果参数。
创建所提供的区间的ISO8601表示形式。
Name | Type | Description |
---|---|---|
timeInterval |
TimeInterval | 要转换的区间。 |
precision |
Number | optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。 |
返回值:
所提供的区间的ISO8601表示。
复制这个实例。
Name | Type | Description |
---|---|---|
result |
TimeInterval | optional 要用于结果的现有实例。 |
返回值:
修改后的结果参数或新实例(如果没有提供)。
将此实例与提供的实例组件比较,如果相等,则返回
true
,否则返回false
。
Name | Type | Description |
---|---|---|
right |
TimeInterval | optional 要比较的区间。 |
dataComparer |
TimeInterval~DataComparer | optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。 |
返回值:
如果它们相等,则为
true
,否则false
。
将此实例与提供的实例组件比较,如果在提供的epsilon范围内,则返回
true
,否则返回false
。
Name | Type | Description |
---|---|---|
right |
TimeInterval | optional 要比较的区间。 |
epsilon |
Number | 用于等式检验的epsilon。 |
dataComparer |
TimeInterval~DataComparer | optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。 |
返回值:
如果它们在提供的epsilon范围内,则为
true
,否则false
。
以ISO8601格式创建表示此TimeInterval的字符串。
返回值:
用ISO8601格式表示这个TimeInterval的字符串。
类型定义
用于比较区间数据的函数接口。
Name | Type | Description |
---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
返回值:
如果提供的实例相等,则为
true
,否则,false
。
用于合并区间数据的函数接口。
Name | Type | Description |
---|---|---|
leftData |
* | 第一个数据实例。 |
rightData |
* | 第二个数据实例。 |
返回值:
合并两个数据实例的结果。