具有明确 开始日期 和 结束日期 的时间段。时间范围用于显示或查询位于指定时间段内的要素。要表示时间的瞬间,请将开始时间和结束时间设置为同一日期。
创建 JavaScript Date 时,请注意,大多数构造函数将创建相对于本地时区而不是 UTC(即通用时间)的日期。若要创建相对于 UTC 的日期,请在 Date 对象上使用 UTC 方法。
// 表示 1970 年 1 月的数据
const timeExtent = new TimeExtent({
start: new Date(Date.UTC(1970, 0, 1, 6, 30)),
end: new Date(Date.UTC(1970, 0, 31, 6, 30))
});
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息 类名。 | 更多信息 | Accessor | |
Date | 更多信息 时间范围的结束时间。 | 更多信息 | TimeExtent | |
Date | 更多信息 时间范围的开始时间。 | 更多信息 | TimeExtent |
属性详细说明
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
end Date
-
时间范围的结束时间。
- 默认值:null
-
start Date
-
时间范围的开始时间。
- 默认值:null
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
TimeExtent | 更多信息 创建 TimeExtent 对象的深拷贝。 | 更多信息 | TimeExtent | |
TimeExtent | 更多信息 展开 TimeExtent,以便将开始日期和结束日期分别向下和向上舍入到分析的时间单位。 | 更多信息 | TimeExtent | |
* | 更多信息 创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | TimeExtent | |
TimeExtent | 更多信息 创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。 | 更多信息 | TimeExtent | |
Object | 更多信息 将此类的实例转换为其 GeoScene 门户 JSON 表示形式。 | 更多信息 | TimeExtent | |
TimeExtent | 更多信息 返回由当前时间范围和给定时间范围并集而产生的时间范围。 | 更多信息 | TimeExtent |
方法详细说明
-
clone(){TimeExtent}
-
创建 TimeExtent 对象的深拷贝。
返回值:类型 描述 TimeExtent TimeExtent 对象的新实例,该对象等于用于调用.clone()的对象。
-
expandTo(unit){TimeExtent}起始版本: GeoScene API for JavaScript 4.22
-
展开 TimeExtent,以便将开始日期和结束日期分别向下和向上舍入到分析的时间单位。
参数:unit String用于对齐开始日期和结束日期的时间单位。
可选值:"milliseconds"|"seconds"|"minutes"|"hours"|"days"|"weeks"|"months"|"years"|"decades"|"centuries"
返回值:类型 描述 TimeExtent A new expanded TimeExtent. - 示例:
示例代码:// 将时间范围扩展到十年。
const extent = new TimeExtent({ start: new Date(2012, 3, 5), end: new Date(2019, 0, 4) }); const decade = extent.expandTo("decades"); // 十年是: 1/1/2010 to 1/1/2020// 将时间范围扩展至最近的月份。
const extent = new TimeExtent({ start: new Date(2012, 3, 5), end: new Date(2019, 0, 4) }); const expandToMonth = extent.expandTo("months"); // 扩展月份是: 4/1/2012 to 2/1/2019
-
fromJSON(json){*}static
-
创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递到输入参数中的
json
对象通常来自对 REST API 中的查询操作的响应或来自其他 GeoScene 产品的 toJSON()方法。有关何时以及如何使用此功能的详细信息和示例,请参阅指南中的使用 fromJSON()主题。参数:json Object实例的 JSON 表示形式,采用 GeoScene 格式。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回值:类型 描述 * 返回一个该类的新实例。
-
intersection(timeExtent){TimeExtent}起始版本: GeoScene API for JavaScript 4.22
-
参数:timeExtent TimeExtent
要与调用
intersection()
的时间范围相交的时间范围。返回值:类型 描述 TimeExtent 两个时间范围之间的相交时间范围。
示例代码:// 获取 view.timeExtent 与图层视图过滤器的 timeExtent 相交的 timeExtent const timeExtent = view.timeExtent.intersection(layerView.effect.filter.timeExtent); if (timeExtent){ console.log("time intersection", timeExtent); const query = layerView.createQuery(); query.timeExtent = timeExtent; layerView.queryFeatures(query).then(function(results){ console.log(results.features.length, " are returned for intersecting timeExtent"); }); }
-
toJSON(){Object}
-
将此类的实例转换为其 GeoScene 门户 JSON 表示形式。有关详细信息,请参阅使用 fromJSON() 指南主题。
返回值:类型 描述 Object 此类实例的 GeoScene 门户 JSON 表示形式。
-
union(timeExtent){TimeExtent}起始版本: GeoScene API for JavaScript 4.22
-
返回由当前时间范围和给定时间范围并集而产生的时间范围。
参数:timeExtent TimeExtent要合并的时间范围。
返回值:类型 描述 TimeExtent 当前时间范围和给定时间范围的合并结果。 示例代码:// 返回两个时间范围的并集。一个从1990年到2000年,第二个从2010年到2020年。
const decade1 = new TimeExtent({ start: new Date(1990, 0, 1), end: new Date(2000, 0, 1) }); const decade2 = new TimeExtent({ start: new Date(2010, 0, 1), end: new Date(2020, 0, 1) }); const union = decade1.union(decade2); console.log(`The unioned extent starts from year ${union.start.getFullYear()} to ${union.end.getFullYear()}`); // 输出:"联合范围从 1990 年到 2020 年"