FeatureFilter

AMD: require(["geoscene/views/layers/support/FeatureFilter"], (FeatureFilter) => { /* 代码 */ });
ESM: import FeatureFilter from "@geoscene/core/views/layers/support/FeatureFilter";
类: geoscene/views/layers/support/FeatureFilter
继承: FeatureFilter Accessor
起始版本: GeoScene API for JavaScript 4.11
已弃用 从 4.22 版开始。 请改用  geoscene/layers/support/FeatureFilter

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

您可以按 属性时间几何距离几何设置过滤器。 仅显示满足过滤器中指定要求的要素。 过滤器仅影响要素可见性。 它们不返回与过滤要素相关的几何或属性信息。 必须调用 queryFeatures 方法才能访问附加信息。

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

// 显示水量百分比超过 30% 的雨量计
// 以及雨量计是否完全包含在过滤器
// 几何形状周围 10 英里的缓冲区中 
featureLayerView.filter = new FeatureFilter({
  where: "percentile >= 30",
  geometry: filterPolygon,
  spatialRelationship: "contains",
  distance: 10,
  units: "miles"
});

screen-size-perspective

另见:

构造函数

new FeatureFilter(properties)
参数:
properties Object
optional

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

示例:
// 典型用法
const filter = new FeatureFilter({
  where: "magnitude >= 3"
});
layerView.filter = filter;

属性概述

设置任何属性,检索或收听。请参见使用属性主题。
展示继承属性 隐藏继承的属性
名称 类型 总结
String更多信息

类名称。

更多信息Accessor
Number更多信息

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

更多信息FeatureFilter
Geometry更多信息

几何应用到空间滤波器。

更多信息FeatureFilter
Number[]更多信息

要过滤要素的识别符的数组。

更多信息FeatureFilter
String更多信息

对于空间过滤器,对于空间过滤器,此参数定义空间关系,以根据过滤器几何过滤图层视图中的要素。

更多信息FeatureFilter
TimeExtent更多信息

与开始和结束日期的时间范围。

更多信息FeatureFilter
String更多信息

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

更多信息FeatureFilter
String更多信息

要素过滤器的 where 子句。

更多信息FeatureFilter

属性详述

declaredClass Stringreadonly inherited

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

distance Number

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

geometry Geometryautocast

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

已知限制

 当前不支持 Mesh 几何类型。

objectIds Number[]

要过滤要素的识别符的数组。

spatialRelationship String

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

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

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

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

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

已知限制

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

intersects

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

contains

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

crosses

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

envelope-intersects

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

overlaps

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

touches

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

within

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

disjoint

默认值:intersects
另见:
例子:
// 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;

方法概述

名称 返回类型 总结
FeatureFilter更多信息

创建 FeatureFilter 对象的深拷贝。

更多信息FeatureFilter
Query更多信息

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

更多信息FeatureFilter
*更多信息

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

更多信息FeatureFilter
Object更多信息

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

更多信息FeatureFilter

方法详述

clone(){FeatureFilter}

创建 FeatureFilter 对象的深拷贝。

返回:
类型 描述
FeatureFilter FeatureFilter 对象的新实例等于用于调用 .clone()的对象。
createQuery(){Query}
起始版本: GeoScene API for JavaScript 4.12

创建可用于获取满足图层当前过滤器和定义的要素的 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;

// 使用修改后的 params 对象查询图层
layerView.queryFeatures(queryParams)
  .then(function(results){
    // 将结果图形数组打印到控制台
    console.log(results.features);
  });
fromJSON(json){*}static

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

参数:
json Object

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

返回:
类型 描述
* 返回此类的新实例。
toJSON(){Object}

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

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

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.