TimeInterval

new Cesium.TimeInterval ( options )

由开始和停止时间定义的间隔;可选地包括这些时间作为间隔的一部分。可以选择将任意数据与每个实例关联以与 TimeIntervalCollection 一起使用。
Name Type Description
options Object 具有以下属性的 可选 对象:
姓名 类型 默认 描述
start 朱利安日期 new JulianDate() 可选 间隔的开始时间。
stop 朱利安日期 new JulianDate() 可选 间隔的停止时间。
isStartIncluded 布尔值 true 可选 如果 options.start 包含在区间中,则为 true ,否则为 false 。
isStopIncluded 布尔值 true 可选 如果 options.stop 包含在间隔中,则为 true ,否则为 false 。
data 目的 可选 与此间隔关联的任意数据。
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 可选 要克隆的实例。
result TimeInterval 可选 用于结果的现有实例。
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 可选 第一个实例。
right TimeInterval 可选 第二个实例。
dataComparer TimeInterval.DataComparer 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果日期相等,则为 true ;否则, false 。

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

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

static Cesium.TimeInterval.fromIso8601 (options, result ) → TimeInterval

从 ISO 8601 间隔创建一个新实例。
Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
iso8601 细绳 ISO 8601 间隔。
isStartIncluded 布尔值 true 可选 如果 options.start 包含在区间中,则为 true ,否则为 false 。
isStopIncluded 布尔值 true 可选 如果 options.stop 包含在间隔中,则为 true ,否则为 false 。
data 目的 可选 与此间隔关联的任意数据。
result TimeInterval 可选 用于结果的现有实例。
Returns:
修改后的结果参数或新实例(如果没有提供)。
Throws:
  • 如果 options.iso8601 与正确的格式不匹配,则 DeveloperError。

static Cesium.TimeInterval.intersect (left, right , result , mergeCallback ) → TimeInterval

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

static Cesium.TimeInterval.toIso8601 (timeInterval, precision ) → String

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

equals ( right , dataComparer ) → Boolean

将此实例与提供的实例组件进行比较,如果它们相等则返回 true ,否则返回 false 。
Name Type Description
right TimeInterval 可选 右手边的间隔。
dataComparer TimeInterval.DataComparer 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果它们相等,则为 true ,否则为 false 。

equalsEpsilon ( right , epsilon , dataComparer ) → Boolean

将此实例与提供的实例组件进行比较,如果它们在提供的 epsilon 内,则返回 true ,否则返回 false 。
Name Type Default Description
right TimeInterval 可选 右手边的间隔。
epsilon Number 0 可选 用于相等性测试的 epsilon。
dataComparer TimeInterval.DataComparer 可选 比较两个区间的数据的函数。如果省略,则使用引用相等。
Returns:
如果它们在提供的 epsilon 内,则为 true ,否则为 false 。

toString () → String

创建一个以 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:
合并两个数据实例的结果。