TimeExtent

AMD: require(["geoscene/TimeExtent"], (TimeExtent) => { /* 代码 */ });
ESM: import TimeExtent from "@geoscene/core/TimeExtent";
类: geoscene/TimeExtent
继承于: TimeExtent Accessor
起始版本: GeoScene API for JavaScript 4.22

具有明确 开始日期 和 结束日期 的时间段。时间范围用于显示查询位于指定时间段内的要素。要表示时间的瞬间,请将开始时间和结束时间设置为同一日期。

创建 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)) });

构造函数

new TimeExtent(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

示例代码:
// 典型用法
// 表示 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

属性详细说明

declaredClass Stringreadonly inherited

类名。类的名称声明格式为 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,其中包含开始结束属性的undefined值。

参数:
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 年"

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.