TimeInterval

new Cesium.TimeInterval(options)

由起始和结束时间定义的区间;可选地将这两个时间作为区间的一部分包含在内。 可以为每个实例可选地关联任意数据,以便与 TimeIntervalCollection 配合使用。
Name Type Description
options object optional Object with the following properties:
Name Type Default Description
start JulianDate new JulianDate() optional 区间的起始时间。
stop JulianDate new JulianDate() optional 区间的结束时间。
isStartIncluded boolean true optional true 表示 options.start 包含在区间内,否则为 false
isStopIncluded boolean true optional true 表示 options.stop 包含在区间内,否则为 false
data 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

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

readonly isEmpty : boolean

获取此区间是否为空。

isStartIncluded : boolean

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

isStopIncluded : boolean

获取或设置结束时间是否包含在此区间内。
Default Value: true
获取或设置此区间的起始时间。
获取或设置此区间的结束时间。

Methods

static Cesium.TimeInterval.clone(timeInterval, result)TimeInterval

复制提供的实例。
Name Type Description
timeInterval TimeInterval optional 要克隆的实例。
result TimeInterval optional 用于存放结果的现有实例。
Returns:
修改后的 result 参数,如果未提供则为新实例。

static Cesium.TimeInterval.contains(timeInterval, julianDate)boolean

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

static Cesium.TimeInterval.equals(left, right, dataComparer)boolean

比较两个实例,如果它们相等则返回 true,否则返回 false
Name Type Description
left TimeInterval optional 第一个实例。
right TimeInterval optional 第二个实例。
dataComparer TimeInterval.DataComparer optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。
Returns:
true 表示日期相等;否则为 false

static Cesium.TimeInterval.equalsEpsilon(left, right, epsilon, dataComparer)boolean

比较两个实例,如果它们在 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:
Name Type Default Description
iso8601 string 一个 ISO 8601 区间。
isStartIncluded boolean true optional true 表示 options.start 包含在区间内,否则为 false
isStopIncluded boolean true optional true 表示 options.stop 包含在区间内,否则为 false
data object optional 与此区间关联的任意数据。
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 参数。

static Cesium.TimeInterval.toIso8601(timeInterval, precision)string

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

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 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

Cesium.TimeInterval.DataComparer(leftData, rightData)boolean

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

Cesium.TimeInterval.MergeCallback(leftData, rightData)*

用于合并区间数据的函数接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
Returns:
合并两个数据实例的结果。
需要帮助?获取答案的最快方式是在 Cesium 论坛 上向社区和团队提问。