當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。