由开始时间和停止时间定义的时间间隔;可选择将这些时间作为时间间隔的一部分。
可选择将任意数据与每个实例关联,以便与
TimeIntervalCollection
一起使用。
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
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
-
不可变的空区间。
-
获取或设置与此时间间隔相关的数据。
-
获取此区间是否为空。
-
获取或设置开始时间是否包含在此时间间隔内。
-
Default Value:
true
-
获取或设置此时间间隔是否包含停止时间。
-
Default Value:
true
-
start : JulianDate
-
获取或设置该时间间隔的开始时间。
-
stop : JulianDate
-
获取或设置该时间间隔的停止时间。
Methods
-
staticSuperMap3D.TimeInterval.clone(timeInterval, result) → TimeInterval
-
复制提供的实例。
Name Type Description timeInterval
TimeInterval optional 要克隆的实例。 result
TimeInterval optional 要用于结果的现有实例。 Returns:
修改后的结果参数,如果没有提供,则为新实例。 -
检查指定日期是否在提供的时间间隔内。
Name Type Description timeInterval
TimeInterval 时间间隔。 julianDate
JulianDate 需要检查的日期。 Returns:
如果时间间隔包含指定日期,则为 true,否则为 false。 -
比较两个实例,如果相等返回true,否则返回false。
Name Type Description left
TimeInterval optional 第一个实例。 right
TimeInterval optional 第二个实例。 dataComparer
TimeInterval~DataComparer optional 比较两个区间数据的函数。如果省略,则使用参照相等。 Returns:
如果日期相同,则为 true;否则为 false。 -
比较两个实例,如果它们在
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:
修改后的结果参数。 -
创建所提供时间间隔的 ISO8601 表示形式。
Name Type Description timeInterval
TimeInterval 需要转换的时间间隔。 precision
Number optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。 Returns:
所提供间隔的ISO8601表示形式。 -
clone(result) → TimeInterval
-
复制此实例。
Name Type Description result
TimeInterval optional 用于结果的现有实例。 Returns:
修改后的结果参数,或一个新实例(如果没有提供)。 -
将此实例与提供的实例以组件方式进行比较,如果它们相等,则返回
true
,否则返回false
。Name Type Description right
TimeInterval optional 右侧的时间间隔。 dataComparer
TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。 Returns:
如果相等则为 true,否则为 false。 -
将此实例与所提供的实例进行分量比较,如果在所提供的容差范围内,则返回 true,否则返回 false。
Name Type Description right
TimeInterval optional 右侧的时间间隔。 epsilon
Number 用于等式测试的容差值。 dataComparer
TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。 Returns:
如果它们在提供的范围内,则为True,否则为false。 -
以 ISO8601 格式创建表示 TimeInterval 的字符串。
Returns:
以 ISO8601 格式表示 TimeInterval 的字符串。
Type Definitions
-
用于比较区间数据的功能接口。
Name Type Description leftData
Object 第一个数据实例。 rightData
Object 第二个数据实例。 Returns:
如果提供的实例相等,则为true,否则为false。 -
用于合并区间数据的函数接口。
Name Type Description leftData
Object 第一个数据实例。 rightData
Object 第二个数据实例。 Returns:
合并两个数据实例的结果。