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:
// 创建一个表示1980年8月1日的实例,并关联一个笛卡尔位置。
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)
});
// 从 ISO 8601 间隔创建两个实例,并关联数值数据
// 然后计算它们的交集,求和它们包含的数据。
const left = Cesium.TimeInterval.fromIso8601({
    iso8601 : '2000/2010',
    data : 2
});

const right = Cesium.TimeInterval.fromIso8601({
    iso8601 : '1995/2005',
    data : 3
});

// 下面的交集结果等价于
//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;
});
// 检查间隔是否包含特定时间。
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

比较两个实例,如果它们在彼此 epsilon 秒范围内则返回 true。 也就是说,为了使日期被视为相等(并让此函数返回 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

按组件方式将此实例与所提供的实例进行比较, 如果在提供的 epsilon 范围内则返回 true, 否则返回 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:
合并两个数据实例的结果。
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.