麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - TimeInterval 中文文档

本文介绍下Cesium中 TimeInterval API的详细使用说明。

TimeInterval API 调用方法

new Cesium.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 与此间隔相关的任意数据。
示例:
// 创建一个跨越(spans)1980年8月1日并与笛卡尔坐标位置关联的实例。
var timeInterval = new Cesium.TimeInterval({
    start : Cesium.JulianDate.fromIso8601('1980-08-01T00:00:00Z'),
    stop : Cesium.JulianDate.fromIso8601('1980-08-02T00:00:00Z'),
    isStartIncluded : true,
    isStopIncluded : false,
    data : Cesium.Cartesian3.fromDegrees(39.921037, -75.170082)
});
// 用相关的数值数据从ISO 8601区间创建两个实例,然后计算它们的交集,对它们包含的数据求和。
var left = Cesium.TimeInterval.fromIso8601({
    iso8601 : '2000/2010',
    data : 2
});
var right = Cesium.TimeInterval.fromIso8601({
    iso8601 : '1995/2005',
    data : 3
});
//The result of the below intersection will be an interval equivalent to
//var intersection = Cesium.TimeInterval.fromIso8601({
//  iso8601 : '2000/2005',
//  data : 5
//});
var intersection = new Cesium.TimeInterval();
Cesium.TimeInterval.intersect(left, right, intersection, function(leftData, rightData) {
    return leftData + rightData;
});
// 检查区间是否包含特定的时间。
var dateToCheck = Cesium.JulianDate.fromIso8601('1982-09-08T11:30:00Z');
var containsDate = Cesium.TimeInterval.contains(timeInterval, dateToCheck);

成员变量

staticconstantCesium.TimeInterval.EMPTY : TimeInterval
一个不可变的空区间。
获取或设置与此区间关联的数据。
readonlyisEmpty : Boolean
获取此区间是否为空。
isStartIncluded : Boolean
获取或设置开始时间是否包含在此区间中。
Default Value: true
isStopIncluded : Boolean
获取或设置此区间中是否包含停止时间。
Default Value: true
获取或设置此区间的开始时间。
获取或设置此区间的结束时间。

内置方法

staticCesium.TimeInterval.clone(timeInterval, result)TimeInterval
复制提供的实例。
Name Type Description
timeInterval TimeInterval optional 要克隆的实例。
result TimeInterval optional 要用于结果的现有实例。
返回值:
修改后的结果参数或新实例(如果没有提供)。
staticCesium.TimeInterval.contains(timeInterval, julianDate)Boolean
检查指定的日期是否在提供的区间内。
Name Type Description
timeInterval TimeInterval 时间区间。
julianDate JulianDate 要检查的日期。
返回值:
如果间隔包含指定的日期,则为true ,否则 false
staticCesium.TimeInterval.equals(left, right, dataComparer)Boolean
比较两个实例,如果相等,则返回true,否则返回false
Name Type Description
left TimeInterval optional 第一个实例。
right TimeInterval optional 第二个实例。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
返回值:
如果日期相等,则为true;否则,false
staticCesium.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 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
返回值:
如果两个日期在epsilon秒内,true;否则false
staticCesium.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 要用于结果的现有实例。
返回值:
修改后的结果参数或新实例(如果没有提供)。
异常情况:
  • DeveloperError 如果options.iso8601格式不正确。
staticCesium.TimeInterval.intersect(left, right, result, mergeCallback)TimeInterval
计算两个区间的交集,可以选择合并它们的数据。
Name Type Description
left TimeInterval 第一个区间。
right TimeInterval optional 第二个区间。
result TimeInterval 要用于结果的现有实例。
mergeCallback TimeInterval~MergeCallback optional 将两个区间的数据合并在一起的函数。如果省略,则使用左区间的数据。
返回值:
修改后的结果参数。
staticCesium.TimeInterval.toIso8601(timeInterval, precision)String
创建所提供的区间的ISO8601表示形式。
Name Type Description
timeInterval TimeInterval 要转换的区间。
precision Number optional 用于表示秒分量的小数位数。默认情况下,使用最精确的表示。
返回值:
所提供的区间的ISO8601表示。
复制这个实例。
Name Type Description
result TimeInterval optional 要用于结果的现有实例。
返回值:
修改后的结果参数或新实例(如果没有提供)。
equals(right, dataComparer)Boolean
将此实例与提供的实例组件比较,如果相等,则返回true,否则返回false
Name Type Description
right TimeInterval optional 要比较的区间。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
返回值:
如果它们相等,则为 true,否则false
equalsEpsilon(right, epsilon, dataComparer)Boolean
将此实例与提供的实例组件比较,如果在提供的epsilon范围内,则返回true,否则返回false
Name Type Description
right TimeInterval optional 要比较的区间。
epsilon Number 用于等式检验的epsilon。
dataComparer TimeInterval~DataComparer optional 一个比较两个区间的数据的函数。如果省略,则使用引用相等。
返回值:
如果它们在提供的epsilon范围内,则为true,否则false
toString()String
以ISO8601格式创建表示此TimeInterval的字符串。
返回值:
用ISO8601格式表示这个TimeInterval的字符串。

类型定义

DataComparer(leftData, rightData)Boolean
用于比较区间数据的函数接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
返回值:
如果提供的实例相等,则为true,否则,false
MergeCallback(leftData, rightData)*
用于合并区间数据的函数接口。
Name Type Description
leftData * 第一个数据实例。
rightData * 第二个数据实例。
返回值:
合并两个数据实例的结果。

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)