TimeInterval

new SuperMap3D.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.
var timeInterval = new SuperMap3D.TimeInterval({
    start : SuperMap3D.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
    stop : SuperMap3D.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
    isStartIncluded : true,
    isStopIncluded : false,
    data : SuperMap3D.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 = SuperMap3D.TimeInterval.fromIso8601({
    iso8601 : '2000/2010',
    data : 2
});

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

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

Members

staticconstantSuperMap3D.TimeInterval.EMPTY : TimeInterval

不可变的空区间。

data : Object

获取或设置与此时间间隔相关的数据。

readonlyisEmpty : Boolean

获取此区间是否为空。

isStartIncluded : Boolean

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

isStopIncluded : Boolean

获取或设置此时间间隔是否包含停止时间。
Default Value: true

start : JulianDate

获取或设置该时间间隔的开始时间。

stop : JulianDate

获取或设置该时间间隔的停止时间。

Methods

staticSuperMap3D.TimeInterval.clone(timeInterval, result)TimeInterval

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

staticSuperMap3D.TimeInterval.contains(timeInterval, julianDate)Boolean

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

staticSuperMap3D.TimeInterval.equals(left, right, dataComparer)Boolean

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

staticSuperMap3D.TimeInterval.equalsEpsilon(left, right, epsilon, dataComparer)Boolean

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

staticSuperMap3D.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:
修改后的结果参数,或一个新实例(如果没有提供)。

staticSuperMap3D.TimeInterval.intersect(left, right, result, mergeCallback)TimeInterval

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

staticSuperMap3D.TimeInterval.toIso8601(timeInterval, precision)String

创建所提供时间间隔的 ISO8601 表示形式。
Name Type Description
timeInterval TimeInterval 需要转换的时间间隔。
precision Number optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。
Returns:
所提供间隔的ISO8601表示形式。

clone(result)TimeInterval

复制此实例。
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,否则返回 false。
Name Type Description
right TimeInterval optional 右侧的时间间隔。
epsilon Number 用于等式测试的容差值。
dataComparer TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。
Returns:
如果它们在提供的范围内,则为True,否则为false。

toString()String

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

Type Definitions

DataComparer(leftData, rightData)Boolean

用于比较区间数据的功能接口。
Name Type Description
leftData Object 第一个数据实例。
rightData Object 第二个数据实例。
Returns:
如果提供的实例相等,则为true,否则为false。

MergeCallback(leftData, rightData)Object

用于合并区间数据的函数接口。
Name Type Description
leftData Object 第一个数据实例。
rightData Object 第二个数据实例。
Returns:
合并两个数据实例的结果。