由开始时间和停止时间定义的时间间隔;可选择将这些时间作为时间间隔的一部分。
可选择将任意数据与每个实例关联,以便与
TimeIntervalCollection 一起使用。
| Name | Type | Default | Description |
|---|---|---|---|
options.start |
JulianDate |
new JulianDate()
|
optional 时间间隔的开始时间。 |
options.stop |
JulianDate |
new JulianDate()
|
optional 间隔时间的停止时间. |
options.isStartIncluded |
Boolean |
true
|
optional 如果 options.start 包含在区间内,则为 true,否则为 false。 |
options.isStopIncluded |
Boolean |
true
|
optional 如果区间中包含 options.stop,则为 true,否则为 false。 |
options.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
-
不可变的空区间。
-
获取或设置与此时间间隔相关的数据。
-
获取此区间是否为空。
-
获取或设置开始时间是否包含在此时间间隔内。
-
Default Value:
true -
获取或设置此时间间隔是否包含停止时间。
-
Default Value:
true -
start : JulianDate
-
获取或设置该时间间隔的开始时间。
-
stop : JulianDate
-
获取或设置该时间间隔的停止时间。
Methods
-
staticSuperMap3D.TimeInterval.clone(timeInterval, result) → TimeInterval
-
复制提供的实例。
Name Type Description timeIntervalTimeInterval optional 要克隆的实例。 resultTimeInterval optional 要用于结果的现有实例。 Returns:
修改后的结果参数,如果没有提供,则为新实例。 -
检查指定日期是否在提供的时间间隔内。
Name Type Description timeIntervalTimeInterval 时间间隔。 julianDateJulianDate 需要检查的日期。 Returns:
如果时间间隔包含指定日期,则为 true,否则为 false。 -
比较两个实例,如果相等返回true,否则返回false。
Name Type Description leftTimeInterval optional 第一个实例。 rightTimeInterval optional 第二个实例。 dataComparerTimeInterval~DataComparer optional 比较两个区间数据的函数。如果省略,则使用参照相等。 Returns:
如果日期相同,则为 true;否则为 false。 -
比较两个实例,如果它们在
epsilon秒内,返回true。也就是说,为了使日期被认为是相等的(并且该函数返回true),它们之间的差值的绝对值(以秒为单位)必须小于epsilon。Name Type Description leftTimeInterval optional 第一个实例。 rightTimeInterval optional 第二个实例。 epsilonNumber 两个实例之间的最大间隔秒数。 dataComparerTimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。 Returns:
如果两个日期在彼此的epsilon秒容差范围内,则为 true;否则为 false。 -
staticSuperMap3D.TimeInterval.fromIso8601(result) → TimeInterval
-
从ISO 8601间隔创建一个新实例。
Name Type Default Description options.iso8601String ISO 8601间隔。 options.isStartIncludedBoolean trueoptional 如果 options.start 包含在区间内,则为 true,否则为 false。 options.isStopIncludedBoolean trueoptional 如果 options.stop 包含在区间内,则为 true,否则为 false。 options.dataObject optional 与该时间间隔相关的任意数据。 resultTimeInterval optional 结果要使用的现有实例。 Returns:
修改后的结果参数,或一个新实例(如果没有提供)。 -
staticSuperMap3D.TimeInterval.intersect(left, right, result, mergeCallback) → TimeInterval
-
计算两个时间间隔的交集,可选择合并它们的数据。
Name Type Description leftTimeInterval 第一个时间间隔。 rightTimeInterval optional 第二个时间间隔。 resultTimeInterval 结果要使用的现有实例。 mergeCallbackTimeInterval~MergeCallback optional 合并两个时间间隔数据的函数。如果省略,则使用左侧时间间隔的数据。 Returns:
修改后的结果参数。 -
创建所提供时间间隔的 ISO8601 表示形式。
Name Type Description timeIntervalTimeInterval 需要转换的时间间隔。 precisionNumber optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。 Returns:
所提供间隔的ISO8601表示形式。 -
clone(result) → TimeInterval
-
复制此实例。
Name Type Description resultTimeInterval optional 用于结果的现有实例。 Returns:
修改后的结果参数,或一个新实例(如果没有提供)。 -
将此实例与提供的实例以组件方式进行比较,如果它们相等,则返回
true,否则返回false。Name Type Description rightTimeInterval optional 右侧的时间间隔。 dataComparerTimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。 Returns:
如果相等则为 true,否则为 false。 -
将此实例与所提供的实例进行分量比较,如果在所提供的容差范围内,则返回 true,否则返回 false。
Name Type Description rightTimeInterval optional 右侧的时间间隔。 epsilonNumber 用于等式测试的容差值。 dataComparerTimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。 Returns:
如果它们在提供的范围内,则为True,否则为false。 -
以 ISO8601 格式创建表示 TimeInterval 的字符串。
Returns:
以 ISO8601 格式表示 TimeInterval 的字符串。
Type Definitions
-
用于比较区间数据的功能接口。
Name Type Description leftDataObject 第一个数据实例。 rightDataObject 第二个数据实例。 Returns:
如果提供的实例相等,则为true,否则为false。 -
用于合并区间数据的函数接口。
Name Type Description leftDataObject 第一个数据实例。 rightDataObject 第二个数据实例。 Returns:
合并两个数据实例的结果。
