当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS ShadowCast用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/widgets/ShadowCast"], (ShadowCast) => { /* code goes here */ });

ESM: import ShadowCast from "@arcgis/core/widgets/ShadowCast";

类: esri/widgets/ShadowCast

继承: ShadowCast > Widget > Accessor

自从:用于 JavaScript 4.21 的 ArcGIS API

用法说明

ShadowCast 小部件在 SceneView 中显示 3D 要素的累积阴影。这种类型的分析有助于城市发展,其中新项目必须满足某些影子持续时间限制。

该小部件计算一天内某个时间范围内的累积阴影。用户可以配置时间范围并选择日历日期。此时间范围和日历日期仅用于阴影分析,与场景中的照明无关。要控制场景中的照明,可以使用Daylight 小部件。更改小部件中的时区通过将时间范围解释为该时区来更新可视化。此行为不同于 Daylight 小部件,其中选择时区会根据摄像机位置更新场景日期和时间。

该小部件提供三种可视化模式。

在阈值模式下,仅显示接收阴影超过一定时间的区域。在下图中,2021 年 5 月 1 日,红色区域在上午 10 点到下午 4 点的时间间隔内收到阴影超过 4 小时。

threshold mode

总阴影持续时间模式使用不透明度显示累积阴影的持续时间:不接收任何阴影的区域是完全透明的,接收最大阴影量的区域的默认不透明度为 0.7。中间的值是插值的。将鼠标悬停在视图上将显示一个工具提示,显示该位置处于阴影中的时间量,四舍五入为 15 分钟间隔。在此模式下,可视化可以以连续方式或以 1 小时间隔显示阴影投射。

duration mode

离散阴影是第三种可视化模式,它以给定的时间间隔显示单个阴影。例如,将时间范围设置为 10AM-11AM 并将可视化时间间隔设置为 30 分钟将在上午 10 点、上午 10:30 和上午 11:00 显示阴影。

discrete mode

可以使用 ShadowCastViewModel 更改时间范围和可视化设置的默认值。

已知限制

  • 地形不会投射阴影,因此在此分析中未将其考虑在内。

  • 该小部件不考虑夏令时。使用时区下拉菜单调整与协调世界时 (UTC) 的偏移量并考虑夏令时。

  • 小部件会根据相机位置自动检测时区。在某些情况下,这可能不准确。如果时区不准确,用户可以使用时区下拉菜单手动设置。

您可以使用视图的DefaultUI 通过视图上的ui 属性将小部件添加到视图的用户接口。请参见下面的示例。

有关获得对小部件样式的完全控制的信息,请参阅Styling 主题。

例子:

const shadowCast = new ShadowCast({
  view: view
});
// Adds the shadow cast widget in
// the top right corner of the view
view.ui.add(shadowCast, "top-right");

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 ShadowCast。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。