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:
// 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:
修改后的结果参数,如果未提供则返回一个新实例。

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

比较两个实例并返回 true 如果它们在 epsilon 秒内相互靠近。也就是说,日期被视为相等(并且 此函数返回 true),则它们之间的绝对差值(以秒为单位)必须小于 epsilon
Name Type Default Description
left TimeInterval optional 第一个实例。
right TimeInterval optional 第二个实例。
epsilon number 0 optional 应该将两个实例分开的最大秒数。
dataComparer TimeInterval.DataComparer optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。
Returns:
如果两个日期在 epsilon 秒内相互靠近则为 true;否则为 false

static Cesium.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 不符合正确的格式。

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:
修改后的结果参数。

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:
修改后的结果参数,如果未提供则返回一个新实例。

equals(right, dataComparer)boolean

将此实例与提供的实例逐个比较,并返回 如果相等则为 true,否则为 false
Name Type Description
right TimeInterval optional 右侧区间。
dataComparer TimeInterval.DataComparer optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。
Returns:
如果相等则为 true,否则为 false

equalsEpsilon(right, epsilon, dataComparer)boolean

将此实例与提供的实例逐个比较,并返回 true 如果它们在提供的epsilon范围内, false 则返回否则。
Name Type Default Description
right TimeInterval optional 右侧区间。
epsilon number 0 optional 用于相等性测试的epsilon。
dataComparer TimeInterval.DataComparer optional 一个比较两个区间数据的函数。如果省略,则使用引用相等性。
Returns:
如果它们在提供的 epsilon 范围内,则为 true,否则为 false
创建一个表示此TimeInterval的ISO8601格式的字符串。
Returns:
一个表示此TimeInterval的ISO8601格式的字符串。

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