TimeIntervalCollection

new SuperMap3D.TimeIntervalCollection(intervals)

按开始时间排序的 TimeInterval 实例的非重叠集合。
Name Type Description
intervals Array.<TimeInterval> optional 要添加到集合中的间隔数组。

Members

readonlychangedEvent : Event

获取每当时间间隔集合发生变化时引发的事件。

readonlyisEmpty : Boolean

获取集合是否为空。

readonlyisStartIncluded : Boolean

获取开始时间是否包含在集合中。

readonlyisStopIncluded : Boolean

获取集合中是否包含停止时间。

readonlylength : Number

获取集合中的区间数。

readonlystart : JulianDate

获取集合的开始时间。

readonlystop : JulianDate

获取集合的停止时间。

Methods

staticSuperMap3D.TimeIntervalCollection.fromIso8601(options具有以下属性的对象:, result)TimeIntervalCollection

根据 ISO 8601 时间间隔(开始/结束/持续时间)创建新实例。
Name Type Default Description
options具有以下属性的对象: Object
options.iso8601 String ISO8601时间间隔。
options.isStartIncluded Boolean true optional 如果开始时间包含在时间间隔内,则为 true,否则为 false。
options.isStopIncluded Boolean true optional 如果时间间隔包含停止时间,则为 true,否则为 false。
options.leadingInterval Boolean false optional 如果要从 Iso8601.MINIMUM_VALUE 开始添加时间间隔,则为 true;否则为 false。
options.trailingInterval Boolean false optional 如果要在Iso8601中添加停止时间间隔,则为true。MAXIMUM_VALUE,否则为false。
options.dataCallback function optional 一个函数,它将返回每个间隔被调用的数据,然后将其添加到集合中。如果未指定,则该数据将是集合中的索引。
result TimeIntervalCollection optional 结果要使用的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。

staticSuperMap3D.TimeIntervalCollection.fromIso8601DateArray(options, result)TimeIntervalCollection

ISO 8601 日期数组创建新实例。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
iso8601Dates Array.<String> ISO8601日期数组。
isStartIncluded Boolean true optional 如果开始时间包含在时间间隔内,则为 true,否则为 false。
isStopIncluded Boolean true optional 如果时间间隔包含停止时间,则为 true,否则为 false。
leadingInterval Boolean false optional 如果要从 Iso8601.MINIMUM_VALUE 开始添加时间间隔,则为 true;否则为 false。
trailingInterval Boolean false optional 如果要在Iso8601中添加停止时间间隔,则为true。MAXIMUM_VALUE,否则为false。
dataCallback function optional 一个函数,它将返回每个间隔被调用的数据,然后将其添加到集合中。如果未指定,则该数据将是集合中的索引。
result TimeIntervalCollection optional 结果要使用的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。

staticSuperMap3D.TimeIntervalCollection.fromIso8601DurationArray(options, result)TimeIntervalCollection

ISO 8601 时长数组创建新实例。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
epoch JulianDate 持续时间的相对日期。
iso8601Durations String ISO8601日期数组。
relativeToPrevious Boolean false optional 如果持续时间相对于前一个日期为True,如果始终相对于epoch为false。
isStartIncluded Boolean true optional 如果开始时间包含在时间间隔内,则为 true,否则为 false。
isStopIncluded Boolean true optional 如果时间间隔包含停止时间,则为 true,否则为 false。
leadingInterval Boolean false optional 如果要从 Iso8601.MINIMUM_VALUE 开始添加时间间隔,则为 true;否则为 false。
trailingInterval Boolean false optional 如果要在Iso8601中添加停止时间间隔,则为true。MAXIMUM_VALUE,否则为false。
dataCallback function optional 一个函数,它将返回每个间隔被调用的数据,然后将其添加到集合中。如果未指定,则该数据将是集合中的索引。
result TimeIntervalCollection optional 结果要使用的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。

staticSuperMap3D.TimeIntervalCollection.fromJulianDateArray(options, result)TimeIntervalCollection

从 JulianDate 数组创建一个新实例。
Name Type Description
options Object 具有以下属性的对象:
Name Type Default Description
julianDates Array.<JulianDate> ISO 8601 日期数组。
isStartIncluded Boolean true optional true,否则为 false。
isStopIncluded Boolean true optional 如果时间间隔包含停止时间,则为 true,否则为 false。
leadingInterval Boolean false optional 如果要从 Iso8601.MINIMUM_VALUE 开始添加时间间隔,则为 true;否则为 false。
trailingInterval Boolean false optional 如果要添加从停止时间到 Iso8601.MAXIMUM_VALUE 的时间间隔,则为 true,否则为 false。
dataCallback function optional 一个函数,用于返回每个间隔被添加到集合之前调用的数据。如果未指定,数据将是集合中的索引。
result TimeIntervalCollection optional 结果要使用的现有实例。
Returns:
修改后的结果参数,或一个新实例(如果没有提供)。

addInterval(interval, dataComparer)

向集合中添加区间,合并包含相同数据的区间,并根据需要拆分包含不同数据的区间,以保持集合不重叠。新区间中的数据优先于集合中的任何现有区间。
Name Type Description
interval TimeInterval 添加时间间隔。
dataComparer TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。

contains(julianDate)Boolean

检查指定日期是否在此集合内。
Name Type Description
julianDate JulianDate 要检查的日期。
Returns:
如果集合包含指定日期,则为 true,否则为 false。

equals(right, dataComparer)Boolean

将此实例与提供的实例以组件方式进行比较,如果它们相等,则返回true,否则返回false
Name Type Description
right TimeIntervalCollection optional 一侧的集合。
dataComparer TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。
Returns:
如果相等,则为True,否则为false。

findDataForIntervalContainingDate(date)Object

查找并返回包含指定日期的区间数据。
Name Type Description
date JulianDate 要搜索的日期。
Returns:
包含指定日期的区间的数据,如果不存在此类区间,则为 undefined 数据。

findInterval(options)TimeInterval

返回集合中第一个符合指定参数的区间。所有参数都是可选的,未定义的参数将被视为 "无所谓 "条件。
Name Type Description
options Object optional 具有以下属性的对象:
Name Type Description
start JulianDate optional 时间间隔的开始时间。
stop JulianDate optional 时间间隔的结束时间。
isStartIncluded Boolean optional 如果options.start包含在区间内,则为 true,否则为 false。
isStopIncluded Boolean optional 如果options.stop包含在区间内,则为 true,否则为 false。
Returns:
集合中第一个符合指定参数的区间。

findIntervalContainingDate(date)TimeInterval|undefined

查找并返回包含指定日期的时间间隔。
Name Type Description
date JulianDate 要搜索的日期。
Returns:
包含指定日期的时间间隔,undefined(如果不存在这样的时间间隔)。

get(index)TimeInterval

获取指定索引处的间隔。
Name Type Description
index Number 要检索的区间的索引。
Returns:
指定索引处的区间,或者undefined(如果该索引处不存在区间)。

indexOf(date)Number

查找并返回集合中包含指定日期的区间索引。
Name Type Description
date JulianDate 要搜索的日期。
Returns:
包含指定日期的区间的索引,如果不存在这样的区间,则返回一个负数,该负数是该日期后开始的下一个区间的索引的比特补码,如果指定日期后没有区间开始,则返回集合长度的比特补码。

intersect(other, dataComparer, mergeCallback)TimeIntervalCollection

创建一个新实例,该实例是本集合和提供的集合的交集。
Name Type Description
other TimeIntervalCollection 与之相交的集合。
dataComparer TimeInterval~DataComparer optional 比较两个区间数据的函数。 如果省略,则使用参照相等。
mergeCallback TimeInterval~MergeCallback optional 合并两个区间数据的函数。如果省略,则使用左侧区间的数据。
Returns:
一个新的 TimeIntervalCollection,它是此集合和提供的集合的交集。

removeAll()

从集合中删除所有区间。

removeInterval(interval)

从这个间隔集合中移除指定的间隔,覆盖指定的间隔创建一个空洞。输入间隔的数据属性被忽略。
Name Type Description
interval TimeInterval 要删除的间隔时间。
Returns:
如果间隔已被删除,则为 true;如果区间的任何部分都不在集合中,则为 false。