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


JavaScript ArcGIS SceneLayer.definitionExpression用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

ESM: import SceneLayer from "@arcgis/core/layers/SceneLayer";

類: esri/layers/SceneLayer

繼承: SceneLayer > Layer > Accessor

自從:用於 JavaScript 4.0 的 ArcGIS API

用法說明

SceneLayer.definitionExpression函數(或屬性)的定義如下:

definitionExpression String


自從:ArcGIS 適用於 JavaScript 4.3 的 API

用於過濾特征的 SQL where 子句。隻有滿足定義表達式的特征才會保留在客戶端上並顯示在 View 中。當僅應顯示圖層中的數據子集時,設置定義表達式很有用。

設置圖層的定義表達式會自動更新所有圖層視圖。

如果在圖層添加到Map後設置了定義表達式,視圖將自動刷新以顯示滿足新定義表達式的要素。

棄用警告

以後設置definitionExpression會加載客戶端上的所有節點,丟棄不匹配過濾器的特征。這使用較少的內存,但過濾器更新將比當前版本慢。 definitionExpression 僅應在過濾器很少更改的情況下使用,並且需要刪除過濾後的函數以釋放內存用於場景中的其他數據。

對於快速客戶端過濾器,請改用 SceneLayerView.filterwhere 屬性。

例子:

let layer = new SceneLayer({
   url: "http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Hamburg/SceneServer/layers/0",
   definitionExpression: "usage = 'Residential' AND totalHeight < 5"
 });

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 SceneLayer.definitionExpression。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。