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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。