此类定义用于在图层视图上设置客户端过滤器的参数。 一旦定义了 FeatureFilter 对象的属性,就可以使用它来设置图层视图的 filter 属性。
您可以按 属性, 时间, 几何 和距离几何设置过滤器。 仅显示满足过滤器中指定要求的要素。 过滤器仅影响要素可见性。 它们不返回与过滤要素相关的几何或属性信息。 必须调用 queryFeatures 方法才能访问附加信息。
FeatureFilter 针对可在客户端绘制的功能运行。 客户端功能针对性能进行了优化,因此,要素过滤结果并不总是准确的。 如果您需要针对图层中可用的所有要素运行过滤器,请使用图层的 queryFeatures()
方法或 definitionExpression
属性。 有关更多信息,请参阅查询和过滤指南文档。
// 显示水量百分比超过 30% 的雨量计
// 以及雨量计是否完全包含在过滤器
// 几何形状周围 10 英里的缓冲区中
featureLayerView.filter = new FeatureFilter({
where: "percentile >= 30",
geometry: filterPolygon,
spatialRelationship: "contains",
distance: 10,
units: "miles"
});
构造函数
属性概述
名称 | 类型 | 总结 | 类 | |
---|---|---|---|---|
String | 更多信息 类名称。 | 更多信息 | Accessor | |
Number | 更多信息 指定搜索空间滤波器中的给定几何的距离。 | 更多信息 | FeatureFilter | |
Geometry | 更多信息 几何应用到空间滤波器。 | 更多信息 | FeatureFilter | |
Number[] | 更多信息 要过滤要素的识别符的数组。 | 更多信息 | FeatureFilter | |
String | 更多信息 对于空间过滤器,对于空间过滤器,此参数定义空间关系,以根据过滤器几何过滤图层视图中的要素。 | 更多信息 | FeatureFilter | |
TimeExtent | 更多信息 与开始和结束日期的时间范围。 | 更多信息 | FeatureFilter | |
String | 更多信息 在空间过滤器中指定距离时计算缓冲距离的单位。 | 更多信息 | FeatureFilter | |
String | 更多信息 要素过滤器的 where 子句。 | 更多信息 | FeatureFilter |
属性详述
-
类的名称。 声明的类名格式为
geoscene.folder.className
。
-
distance Number
-
指定到空间过滤器中给定几何的搜索距离。 units 属性 表示测量单位。 本质上,设置此属性会在输入几何图形周围创建一个指定大小的缓冲区。 过滤器将使用该缓冲区在图层或图层视图中显示符合指示空间关系的要素。
-
应用于空间过滤器的几何图形。 由 spatialRelationship 指定的空间关系将表示应如何使用几何来过滤要素。
已知限制
当前不支持 Mesh 几何类型。
-
要过滤要素的识别符的数组。
-
spatialRelationship String
-
对于空间过滤器,此参数定义空间关系,以根据过滤器几何过滤图层视图中的要素。 空间关系发现要素在空间上是如何相互关联的。 例如,您可能想知道代表县的多边形是否完全包含代表定居点的点。
空间关系是由几何图形的边界或内部是否相交的决定。
- 边界 - 线要素的所有线性部分的端点,或多边形的线性轮廓。 只有线和多边形有边界。
- 内部 — 点完全在内部,没有边界。 对于线和多边形,内部是几何图形中不属于边界的任何部分。
该参数的可能值如下所述,图像突出显示为给定几何图形的指定空间关系返回的几何图形。
相交
空间关系在图层视图中返回与过滤器几何相交的要素。已知限制
具有 3D 对象场景图层的 SceneLayerView 的过滤器仅支持
contains
,intersects
和disjoint
的空间关系。contains
空间关系在图层视图中返回完全由过滤器几何包含的几何。当过滤 几何的内部与图层视图中要素的内部或边界接触时,
crosses
空间关系将返回图层视图中的要素。 换句话说,几何图形共享一些内部区域,但不是所有内部区域。envelope-intersects
空间关系在图层视图中返回与过滤器几何的包络(或范围)几何的要素。overlaps
空间关系在图层视图中返回与过滤器几何重叠的要素。 只能比较相同几何形状的要素。touches
空间关系在图层视图中返回接触过滤器几何的要素。 几何形状的边界相交,但内部不相交。within
空间关系返回图层视图中完全包含过滤器几何的要素。 换句话说,过滤器几何完全在图层视图中的要素within
,与contains
相反。disjoint
的空间关系返回图层视图中无论如何都不与过滤器 几何相交的要素,与intersects
相反。- 默认值:intersects
例子:// display features that are completely within state let filter = new FeatureFilter({ spatialRelationship: "contains", geometry: statePolygon });
- 边界 - 线要素的所有线性部分的端点,或多边形的线性轮廓。 只有线和多边形有边界。
-
timeExtent TimeExtent
-
带有开始和结束日期的时间范围。 仅显示该时间范围内的要素。 初始化图层时,应将用于
timeExtent
的 Date 字段添加到 outFields 列表中。 这可确保在切换或更新时间过滤器字段时获得最佳用户体验。- 默认值:null
-
units String
-
可能值:"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 ObjectGeoScene 格式的实例的 JSON 表示。 有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回:类型 描述 * 返回此类的新实例。
-
toJSON(){Object}
-
将此类的实例转换为其 GeoScene portal JSON 表示。 有关更多信息,请参阅使用 fromJSON() 指南主题。
返回:类型 描述 Object 此类实例的 GeoScene portal JSON 表示。