SuperAPI AI 工具集

arcgis-time-animation

数据与分析

查看项目

更新于 10-16 02:13

技能介绍

ArcGIS Time Animation 是一项用于处理时间数据的技能,聚焦于 ArcGIS Maps SDK for JavaScript 中的时间感知能力。

用途 该技能适用于时间数据、时间感知图层、时间过滤和动画控制等场景。可用于对随时间变化的数据进行动画播放、按日期范围过滤,以及配置时间轴等交互控件。

主要能力

  • TimeExtent:表示带起止日期的时间范围;也可用起止相同的瞬时时间;将 view.timeExtent 设为 null 可移除时间过滤、显示全部数据。
  • TimeInterval:表示一段时间长度,支持 milliseconds、seconds、minutes、hours、days、weeks、months、years、decades、centuries 等单位。
  • TimeSlider:可作为地图组件(arcgis-time-slider)或核心 API 控件使用;支持属性 fullTimeExtent、timeExtent、mode、stops、playRate、loop、layout、disabled 等。
  • 时间模式:instant、time-window、cumulative-from-start、cumulative-from-end。
  • 自定义 stops:可按 interval(间隔)、dates(指定日期)或 count(均匀分布数量)配置。
  • 播放控制与事件监听:play、stop,以及 watch timeExtent、watch viewModel.state。
  • 自定义标签:通过 tickConfigs 与 labelFormatFunction 设置刻度和标签格式。
  • 时间感知图层:FeatureLayer、ImageryLayer、MapImageLayer、StreamLayer 可配置 timeInfo(startField、endField、fullTimeExtent、interval、trackIdField)。
  • 按时间过滤:可通过 view.timeExtent 过滤所有时间感知图层,或通过 layerView.filter 过滤指定图层;也可在查询中使用 query.timeExtent。
  • 动画模式:与统计结合、基于时间的高亮、手动动画循环。
  • 其他:TimeZoneLabel 组件;图形通过 visibilityTimeExtent 控制时间可见性。

使用方式 支持两种导入模式。ESM(npm)示例: import TimeExtent from "@arcgis/core/TimeExtent.js"; import TimeInterval from "@arcgis/core/TimeInterval.js"; import TimeSlider from "@arcgis/core/widgets/TimeSlider.js"; CDN(动态导入)示例: const TimeExtent = await $arcgis.import("@arcgis/core/TimeExtent.js"); const TimeInterval = await $arcgis.import("@arcgis/core/TimeInterval.js"); const TimeSlider = await $arcgis.import("@arcgis/core/widgets/TimeSlider.js"); TimeSlider 可从图层初始化:先 await layer.load(),再读取 layer.timeInfo.fullTimeExtent 与 layer.timeInfo.interval 进行配置。

适用场景 适用于需要对时间序列空间数据进行动画展示、按日期范围筛选地图要素、在地图中加入可播放的时间轴控件,以及处理影像、地图服务、流数据等时间感知图层的场景。

限制与注意事项

  • 时区问题:日期受 JavaScript 本地时区影响,建议使用 UTC 日期以保持一致。
  • 图层必须加载:timeInfo 仅在 await layer.load() 之后可用。
  • 需设置视口的 timeExtent 才能过滤所有时间感知图层。
  • view.timeExtent = null 会移除时间过滤。
  • 性能:时间范围过大可能返回大量要素,建议尽量使用服务器端查询。
  • TimeSlider 需要配置 stops 才能定义滑块位置。

关于收费、价格、平台支持等具体信息,资料暂未提供。