TimeInterval

new Cesium.TimeInterval(options)

由开始和停止时间定义的时间区间;可以选择将这些时间作为区间的一部分。 可以选择将任意数据与每个实例关联,以与TimeIntervalCollection一起使用。
Name Type Description
options Object optional 对象,具有以下属性:
Name Type Default Description
start JulianDate new JulianDate() optional 区间的开始时间。
stop JulianDate new JulianDate() optional 区间的结束时间。
isStartIncluded Boolean true optional 如果options.start包含在区间内,则为true,否则,false
isStopIncluded Boolean true optional 如果options.stop包含在区间内,则为true,否则,false
data Object optional 与此间隔相关的任意数据。
Examples:
// 创建一个跨越(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);

Members

staticconstantCesium.TimeInterval.EMPTY : TimeInterval

一个不可变的空区间。
获取或设置与此区间关联的数据。

readonlyisEmpty : Boolean

获取此区间是否为空。

isStartIncluded : Boolean

获取或设置开始时间是否包含在此区间中。
Default Value: true

isStopIncluded : Boolean

获取或设置此区间中是否包含停止时间。
Default Value: true
获取或设置此区间的开始时间。
获取或设置此区间的结束时间。

Methods

staticCesium.TimeInterval.clone(timeInterval, result)TimeInterval

复制提供的实例。
Name Type Description
timeInterval TimeInterval optional 要克隆的实例。
result TimeInterval optional 要用于结果的现有实例。
Returns:
修改后的结果参数或新实例(如果没有提供)。

staticCesium.TimeInterval.contains(timeInterval, julianDate)Boolean

检查指定的日期是否在提供的区间内。
Name Type Description
timeInterval TimeInterval 时间区间。
julianDate JulianDate 要检查的日期。
Returns:
如果间隔包含指定的日期,则为true ,否则 false

staticCesium.TimeInterval.equals(left, right, dataComparer)Boolean

比较两个实例,如果相等,则返回true,否则返回false
Name Type Description
left TimeInterval optional 第一个实例。
right TimeInterval optional 第二个实例。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果日期相等,则为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 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果两个日期在epsilon秒内,true;否则false

staticCesium.TimeInterval.fromIso8601(options, result)TimeInterval

ISO 8601区间创建一个新实例。
Name Type Description
options Object 对象,具有以下属性:
Name Type Default Description
iso8601 String ISO 8601时间区间。
isStartIncluded Boolean true optional 如果options.start包含在区间内,则为true,否则,false
isStopIncluded Boolean true optional 如果options.stop包含在区间内,则为true,否则,false
data Object optional 与此区间相关的任意数据。
result TimeInterval optional 要用于结果的现有实例。
Returns:
修改后的结果参数或新实例(如果没有提供)。
Throws:
  • DeveloperError 如果options.iso8601格式不正确。

staticCesium.TimeInterval.intersect(left, right, result, mergeCallback)TimeInterval

计算两个区间的交集,可以选择合并它们的数据。
Name Type Description
left TimeInterval 第一个区间。
right TimeInterval optional 第二个区间。
result TimeInterval 要用于结果的现有实例。
mergeCallback TimeInterval~MergeCallback optional 将两个区间的数据合并在一起的函数。如果省略,则使用左区间的数据。
Returns:
修改后的结果参数。

staticCesium.TimeInterval.toIso8601(timeInterval, precision)String

创建所提供的区间的ISO8601表示形式。
Name Type Description
timeInterval TimeInterval 要转换的区间。
precision Number optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。
Returns:
所提供的区间的ISO8601表示。
复制这个实例。
Name Type Description
result TimeInterval optional 要用于结果的现有实例。
Returns:
修改后的结果参数或新实例(如果没有提供)。

equals(right, dataComparer)Boolean

将此实例与提供的实例组件比较,如果相等,则返回true,否则返回false
Name Type Description
right TimeInterval optional 要比较的区间。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果它们相等,则为 true,否则false

equalsEpsilon(right, epsilon, dataComparer)Boolean

将此实例与提供的实例组件比较,如果在提供的epsilon范围内,则返回true,否则返回false
Name Type Description
right TimeInterval optional 要比较的区间。
epsilon Number 用于等式检验的epsilon。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果它们在提供的epsilon范围内,则为true,否则false

toString()String

以ISO8601格式创建表示此TimeInterval的字符串。
Returns:
用ISO8601格式表示这个TimeInterval的字符串。

Type Definitions

DataComparer(leftData, rightData)Boolean

用于比较区间数据的函数接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
Returns:
如果提供的实例相等,则为true,否则,false

MergeCallback(leftData, rightData)*

用于合并区间数据的函数接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
Returns:
合并两个数据实例的结果。