基本信息
以下是所在类或对象的基本信息。
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 小时。
总阴影持续时间模式使用不透明度显示累积阴影的持续时间:不接收任何阴影的区域是完全透明的,接收最大阴影量的区域的默认不透明度为 0.7。中间的值是插值的。将鼠标悬停在视图上将显示一个工具提示,显示该位置处于阴影中的时间量,四舍五入为 15 分钟间隔。在此模式下,可视化可以以连续方式或以 1 小时间隔显示阴影投射。
离散阴影是第三种可视化模式,它以给定的时间间隔显示单个阴影。例如,将时间范围设置为 10AM-11AM 并将可视化时间间隔设置为 30 分钟将在上午 10 点、上午 10:30 和上午 11:00 显示阴影。
可以使用 ShadowCastViewModel 更改时间范围和可视化设置的默认值。
已知限制
-
地形不会投射阴影,因此在此分析中未将其考虑在内。
-
该小部件不考虑夏令时。使用时区下拉菜单调整与协调世界时 (UTC) 的偏移量并考虑夏令时。
-
小部件会根据相机位置自动检测时区。在某些情况下,这可能不准确。如果时区不准确,用户可以使用时区下拉菜单手动设置。
例子:
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");
相关用法
- JavaScript ArcGIS ShadowCast.visible用法及代码示例
- JavaScript ArcGIS ShadowCast.container用法及代码示例
- JavaScript ArcGIS ShadowCastViewModel.date用法及代码示例
- JavaScript ArcGIS ShadowCast.visibleElements用法及代码示例
- JavaScript ArcGIS ShadowCast.when用法及代码示例
- JavaScript ArcGIS ShadowCast.headingLevel用法及代码示例
- JavaScript ArcGIS ShadowCast.classes用法及代码示例
- JavaScript ArcGIS ShadowCast.on用法及代码示例
- JavaScript ArcGIS SceneView double-click事件用法及代码示例
- JavaScript ArcGIS Sublayer.JoinTableDataSource用法及代码示例
- JavaScript ArcGIS Slider.effectiveMin用法及代码示例
- JavaScript ArcGIS Sketch.classes用法及代码示例
- JavaScript ArcGIS Sketch.visible用法及代码示例
- JavaScript ArcGIS Swipe.when用法及代码示例
- JavaScript ArcGIS Slider.container用法及代码示例
- JavaScript ArcGIS Slice.analysis用法及代码示例
- JavaScript ArcGIS Sublayer.DynamicDataLayer用法及代码示例
- JavaScript ArcGIS StreamLayer.timeOffset用法及代码示例
- JavaScript Symbol.split属性用法及代码示例
- JavaScript ArcGIS SubtypeSublayer.renderer用法及代码示例
- JavaScript ArcGIS Slider.min用法及代码示例
- JavaScript ArcGIS Sublayer.opacity用法及代码示例
- JavaScript ArcGIS Slider.classes用法及代码示例
- JavaScript String.prototype.toLocaleLowerCase()用法及代码示例
- JavaScript ArcGIS SizeVariable用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 ShadowCast。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。