TimeInterval

new LSGlobe.TimeInterval ( options )

由开始和停止时间定义的时间间隔; (可选)将这些时间包括在间隔中。可选地,可以将任意数据与每个实例关联,以便与 TimeIntervalCollection 一起使用。
Name Type Description
options Object 可选 具有以下属性的对象:
名称 类型 默认 说明
开始 JulianDate 新JulianDate() 可选 时间间隔的开始时间。
stop JulianDate 新JulianDate() 可选 时间间隔的停止时间。
isStartIncluded 布尔值 可选 如果间隔中包含 options.start ,则为 true ,否则为 false
isStopIncluded 布尔值 可选 如果间隔中包含 options.stop ,则为 true ,否则为 false
数据 对象 可选 与该时间间隔相关的任意数据。
Examples:
// Create an instance that spans August 1st, 1980 and is associated
// with a Cartesian position.
var timeInterval = new LSGlobe.TimeInterval({
    start : LSGlobe.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
    stop : LSGlobe.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
    isStartIncluded : true,
    isStopIncluded : false,
    data : LSGlobe.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.
var left = LSGlobe.TimeInterval.fromIso8601({
    iso8601 : '2000/2010',
    data : 2
});

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

//The result of the below intersection will be an interval equivalent to
//var intersection = LSGlobe.TimeInterval.fromIso8601({
//  iso8601 : '2000/2005',
//  data : 5
//});
var intersection = new LSGlobe.TimeInterval();
LSGlobe.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
    return leftData + rightData;
});
// Check if an interval contains a specific time.
var dateToCheck = LSGlobe.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
var containsDate = LSGlobe.TimeInterval.contains(timeInterval, dateToCheck);

Members

static constant LSGlobe.TimeInterval.EMPTY : TimeInterval

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

readonly isEmpty : Boolean

获取此时间间隔是否为空。

isStartIncluded : Boolean

获取或设置此时间间隔中是否包括开始时间。
Default Value: true

isStopIncluded : Boolean

获取或设置此时间间隔中是否包括停止时间。
Default Value: true
获取或设置此间隔的开始时间。
获取或设置此间隔的停止时间。

Methods

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

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

static LSGlobe.TimeInterval.contains (timeInterval, julianDate) Boolean

检查指定的日期是否在提供的间隔内。
Name Type Description
timeInterval TimeInterval 时间间隔。
julianDate JulianDate 检查日期。
Returns:
真正 如果间隔包含指定的日期, 除此以外。

static LSGlobe.TimeInterval.equals ( left , right , dataComparer ) Boolean

比较两个实例,如果相等则返回 true ,否则返回 false
Name Type Description
left TimeInterval 可选 一审。
right TimeInterval 可选 第二个实例。
dataComparer TimeInterval.DataComparer 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。
Returns:
真正 如果日期相等;除此以外,

static LSGlobe.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:
真正 如果两个日期都在 ε 彼此的秒数;除此以外

static LSGlobe.TimeInterval.fromIso8601 (options, result ) TimeInterval

ISO 8601 间隔创建一个新实例。
Name Type Description
options Object 具有以下属性的对象:
名称 类型 默认 说明
iso8601 字符串 一个ISO 8601间隔。
isStartIncluded 布尔值 可选 如果间隔中包含 options.start ,则为 true ,否则为 false
isStopIncluded 布尔值 可选 如果间隔中包含 options.stop ,则为 true ,否则为 false
数据 对象 可选 与该时间间隔相关的任意数据。
result TimeInterval 可选 用于结果的现有实例。
Returns:
修改后的结果参数或新实例(如果未提供)。
Throws:
  • 如果options.iso8601与正确的格式不匹配,则发生DeveloperError。

static LSGlobe.TimeInterval.intersect (left, right , result , mergeCallback ) TimeInterval

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

static LSGlobe.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:
真正 如果相等, 除此以外。

equalsEpsilon ( right , epsilon , dataComparer ) Boolean

将此实例与提供的实例进行组件比较,然后返回 true (如果它们在提供的epsilon内),否则为 false
Name Type Default Description
right TimeInterval 可选 右侧间隔。
epsilon Number 0 可选 用于相等性测试的epsilon。
dataComparer TimeInterval.DataComparer 可选 比较两个间隔的数据的功能。如果省略,则使用引用相等。
Returns:
真正 如果它们在提供的epsilon中, 除此以外。

toString () String

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

Type Definitions

LSGlobe.TimeInterval.DataComparer (leftData, rightData) Boolean

比较间隔数据的功能接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
Returns:
真正 如果提供的实例相等, 除此以外。

LSGlobe.TimeInterval.MergeCallback (leftData, rightData) *

合并间隔数据的功能接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
Returns:
合并两个数据实例的结果。