基本信息
以下是所在類或對象的基本信息。
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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。