FeatureFilter

AMD: require(["geoscene/layers/support/FeatureFilter"], (FeatureFilter) => { /* code goes here */ });
ESM: import FeatureFilter from "@geoscene/core/layers/support/FeatureFilter";
类: geoscene/layers/support/FeatureFilter
继承于:FeatureFilter Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.22

此类可定义用于在 featureEffect图层视图上设置客户端过滤器的参数。一旦定义了 FeatureFilter 的属性,就可使用它来设置图层视图或 FeatureEffectfilter 属性。

您可以按 attributestimegeometry 和具有 distance 的几何设置过滤器。仅显示满足过滤器中指定要求的要素。过滤器仅影响要素的可见性。它们不返回与过滤要素相关的几何或属性信息。必须调用 queryFeatures 方法才能访问其他信息。

FeatureFilter 针对可在客户端绘制的要素运行。客户端要素针对性能进行了优化,因此,要素过滤结果并不总是准确的。如果您需要针对图层中可用的所有要素运行过滤器,请使用图层的 queryFeatures() 方法或 definitionExpression 属性。有关更多信息,请参阅查询和过滤指南文档

// display rain gauges where their water percent is over 30%
// and if the gauges are completely contained by the 10-mile
// buffer around the filter geometry
featureLayerView.filter = new FeatureFilter({
  where: "percentile >= 30",
  geometry: filterPolygon,
  spatialRelationship: "contains",
  distance: 10,
  units: "miles"
});

screen-size-perspective

另请参阅

构造函数

new FeatureFilter(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

示例
// Typical usage
const filter = new FeatureFilter({
  where: "magnitude >= 3"
});
layerView.filter = filter;

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

类的名称。

更多详情
Accessor
Number

指定到空间过滤器中给定几何的搜索距离。

更多详情
FeatureFilter
Geometry

应用于空间过滤器的几何。

更多详情
FeatureFilter
Number[]

要过滤的要素的 objectIds 数组。

更多详情
FeatureFilter
String

对于空间过滤器,此参数定义了在图层视图中对过滤几何进行过滤要素的空间关系。

更多详情
FeatureFilter
TimeExtent

具有开始和结束日期的时间段。

更多详情
FeatureFilter
String

在空间过滤器中指定距离时计算缓冲距离的单位。

更多详情
FeatureFilter
String

要素过滤器的 where 子句。

更多详情
FeatureFilter

属性详细信息

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

distance Number

指定到空间过滤器中给定几何的搜索距离。units 属性表示测量单位。本质上,设置此属性会在输入几何周围创建一个指定大小的缓冲区。过滤器将使用该缓冲区显示在图层或图层视图中符合指定空间关系的要素。

应用于空间过滤器的几何。由 spatialRelationship 指定的空间关系将指示应如何使用几何图形来过滤要素。

已知限制

当前不支持网格几何类型。

objectIds Number[]

要过滤的要素的 objectIds 数组。

spatialRelationship String

对于空间过滤器,此参数定义了在图层视图中对过滤几何进行过滤要素的空间关系。空间关系可发现要素在空间上是如何相互关联的。例如,您可能想知道代表县的多边形是否完全包含代表定居点的点。

空间关系是由几何的边界或内部是否相交的决定。

  • 边界 - 线要素所有线性部分的端点,或多边形的线性轮廓。只有线和多边形具有边界。
  • 内部 - 点完全在内部,没有边界。对于线和多边形,内部是不属于边界的几何图形的任何部分。

该参数的可能值如下所述,图像突出显示为给定几何图形的指定空间关系返回的几何图形。

intersects 空间关系在图层视图中返回与过滤器几何相交的要素。

已知限制

具有 3D 对象场景图层的 SceneLayerView 的过滤器仅支持 containsintersectsdisjoint 空间关系。

intersects

contains 空间关系在图层视图中返回完全包含在过滤几何中的要素。

contains

当过滤几何的内部与图层视图中要素的内部或边界接触时,crosses 空间关系将返回图层视图中的要素。换句话说,几何图形共享一些内部区域,但不是所有内部区域。

crosses

envelope-intersects 空间关系在图层视图中返回与过滤器几何的包络 (或范围) 相交的要素。

envelope-intersects

overlaps 空间关系在图层视图中返回与过滤几何重叠的要素。只能比较相同几何的要素。

overlaps

touches 空间关系在图层视图中返回与过滤几何接触的要素。几何的边界相交,但内部不相交。

touches

within 空间关系在图层视图中返回完全包含过滤几何的要素。换句话说,过滤器几何完全 within 图层视图中的要素。它与 contains 相反。

within

disjoint 空间关系在图层视图中返回无论如何都不会与过滤几何相交的要素。与 intersects 相反。

disjoint

示例
// display features that are completely within state
let filter = new FeatureFilter({
  spatialRelationship: "contains",
  geometry: statePolygon
});
timeExtent TimeExtent

具有开始和结束日期的时间段。仅显示该时间范围内的要素。初始化图层时,应将用于 timeExtent 的 Date 字段添加到 outFields 列表中。这可确保在切换或更新时间过滤器的字段时获得最佳用户体验。

默认值:null
units String

在空间过滤器中指定距离时计算缓冲距离的单位。如果未指定 units,则从过滤几何的空间参考派生单位。

可能值"feet"|"miles"|"nautical-miles"|"us-nautical-miles"|"meters"|"kilometers"

默认值:null
where String

要素过滤器的 where 子句。允许对图层中的字段进行操作的任何合法 SQL92 where 子句。在 JavaScript 中编写 where 子句时,请务必使用正确的单引号和双引号顺序。

对于用户可以通过交互方式更改用于属性过滤器字段的应用程序,我们建议您在图层的 outFields 中包含所有可能的字段。这可确保在切换或更新属性过滤器的字段时获得最佳用户体验。

示例
filter.where = "NAME = '" + stateName + "'";
filter.where = "POP04 > " + population;

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
FeatureFilter

创建 FeatureFilter 对象的深度克隆。

更多详情
FeatureFilter
Query

创建可用于获取满足图层当前过滤器和定义的要素的查询参数。

更多详情
FeatureFilter
*

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。

更多详情
FeatureFilter
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor
Object

将此类的实例转换为 GeoScene Portal JSON 表示。

更多详情
FeatureFilter

方法详细说明

addHandles(handleOrHandles, groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

clone(){FeatureFilter}

创建 FeatureFilter 对象的深度克隆。

返回
类型 描述
FeatureFilter FeatureFilter 对象的新实例,其等于用于调用 .clone() 的对象。
createQuery(){Query}

创建可用于获取满足图层当前过滤器和定义的要素的查询参数。

返回
类型 描述
Query 表示图层过滤器和其他定义的查询对象。
示例
// Get a query object from the filter's current configuration
const queryParams = layerView.filter.createQuery();
// set a geometry for querying features by the view's extent
queryParams.geometry = view.extent;

// query the layer with the modified params object
layerView.queryFeatures(queryParams)
  .then(function(results){
    // prints the array of result graphics to the console
    console.log(results.features);
  });
fromJSON(json){*}static

创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入 json 参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。

参数
json Object

GeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回
类型 描述
* 返回该类的新实例。
hasHandles(groupKey){Boolean}inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
起始版本:GeoScene Maps SDK for JavaScript 4.25

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");
toJSON(){Object}

将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。

返回
类型 描述
Object 此类实例的 GeoScene Portal JSON 表示。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息