用途:在 ArcGIS Maps SDK for JavaScript 中为图层应用视觉效果、要素过滤(FeatureEffect/FeatureFilter)、显示过滤、3D 场景聚焦区域和混合模式,用于高亮要素、空间过滤与掩膜。
主要能力:1) FeatureEffect 按过滤器把要素分入包含/排除两组,分别应用 CSS 风格效果,如 opacity、grayscale、blur、drop-shadow、bloom、brightness、contrast、invert、sepia、saturate、hue-rotate,多个效果以空格分隔并按顺序应用,支持按 scale 的数组形式。2) 过滤器类型支持属性 where、几何与 spatialRelationship(intersects、contains、within 等)、距离与单位、objectIds、timeExtent。3) 聚焦区域(3D SceneView)用 FocusArea 与 Collection<Polygon>,可设 title、id、enabled、outline,并通过 view.focusAreas.style 切换 bright/dark。4) 整个图层效果 layer.effect 与混合模式 layer.blendMode。5) 显示过滤 displayFilterInfo,可完全隐藏要素并按比例尺分段。6) 可与 histogram、slider、点击 hitTest 等交互组合。
使用方式:以 ESM 引入,如 import FeatureEffect from "@arcgis/core/layers/support/FeatureEffect.js";,CDN 用 await $arcgis.import([...])。
限制:几何/距离过滤仅支持 layerView.featureEffect,不支持 layer.featureEffect;timeExtent 需图层配置时间信息;blur、bloom 等复杂效果影响性能,可先用显示过滤减少要素;效果字符串须空格分隔,错误语法会静默失败;FocusArea 仅支持 Polygon;比例尺效果数组建议至少两个停靠点。layer 与 layerView 设置的效果作用范围不同。