BuildingFilter
类定义了一组条件,可用于在 SceneView 中显示或隐藏 BuildingSceneLayer 的特定要素。
例如,如果您想查看位于二楼的建筑物部分,您可以设置过滤器以仅显示二楼。
通过将过滤器添加到 BuildingSceneLayer.filters 集合并将
id 分配给 BuildingSceneLayer.activeFilterId,可以在层上激活过滤器。
一旦过滤器被激活,只有满足 filterBlocks 定义的条件的要素才会显示在 SceneView 中。
// 定义 floor filter
const buildingFilter = new BuildingFilter({
filterBlocks: [{
// 使用 BldgLevel 字段过滤的 SQL 表达式
filterExpression: "BldgLevel = 3",
filterMode: {
type: "wire-frame",
edges: {
type: "solid",
color: [0, 0, 0, 0.8]
}
}
}]
});
// 在图层上的过滤器数组中设置过滤器
buildingLayer.filters = [buildingFilter];
// 指定应该应用哪个过滤器
buildingLayer.activeFilterId = buildingFilter.id;
构造函数
属性列表
属性 | 类型 | 描述 | 类 | |
---|---|---|---|---|
String | 更多信息
类名。 |
更多信息 | Accessor | |
String | 更多信息
在 UI 中显示的过滤器说明,例如在 GeoScene Pro 中编辑过滤器时。 |
更多信息 | BuildingFilter | |
Collection<BuildingFilterBlock> | 更多信息
过滤块定义了哪些要素应在受影响的 BuildingSceneLayer 中可见,以及如何绘制过滤的要素。 |
更多信息 | BuildingFilter | |
String | 更多信息
唯一的过滤器 ID。 |
更多信息 | BuildingFilter | |
String | 更多信息
用于在 UI 中显示的过滤器名称,例如在 GeoScene Pro 中编辑过滤器时。 |
更多信息 | BuildingFilter |
属性详细说明
-
类名。类的名称声明格式为
geoscene.folder.className
。
-
description String
-
在 UI 中显示的过滤器说明,例如在 GeoScene Pro 中编辑过滤器时。
-
filterBlocks Collection<BuildingFilterBlock>
-
过滤器块定义哪些要素应在受影响的 BuildingSceneLayer 中可见,以及过滤要素的绘制方式。 一个过滤器应该至少包含一个过滤器块。
过滤器块的顺序影响过滤器块的应用顺序。 例如,如果使用a
wire-frame
模式的过滤器块在集合中的solid
过滤器块之前,则匹配任一过滤器块的元素将被绘制为线框。
-
id Stringreadonly
-
唯一的过滤器 ID。将此 ID 分配给 BuildingSceneLayer.activeFilterId 以激活过滤器。
-
name String
-
用于在 UI 中显示的过滤器名称,例如在 GeoScene Pro 中编辑过滤器时。
方法列表
属性 | 返回值类型 | 描述 | 类 | |
---|---|---|---|---|
* | 更多信息
创建此类的新实例并使用从 GeoScene产品生成的 JSON 对象的值对其进行初始化。 |
更多信息 | BuildingFilter | |
Object | 更多信息
将此类的实例转换为其 GeoScene portal JSON 格式。 |
更多信息 | BuildingFilter |
方法详细说明
-
fromJSON(json){*}static
-
创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递给输入
json
参数的对象通常来自对 REST API 中的查询操作的响应,或者来自另一个 GeoScene产品的 toJSON() 方法。有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的 使用 fromJSON() 主题。参数:json Object实例的 json 表达式,以geoscene 格式显示。
返回值:类型 描述 * 返回一个该类的新实例。
-
toJSON(){Object}
-
将此类的实例转换为 GeoScene portal JSON 格式。 有关更多信息,请参阅 使用 fromJSON() 指南。
返回值:类型 描述 Object 此类实例的 GeoScene portal JSON 格式。
类型定义
-
BuildingFilterBlock Object
-
filterBlocks 集合中包含的对象:
- 属性:
-
filterExpression String
用于将要素与此过滤器块匹配的 SQL where 子句。只有满足过滤器表达式的要素才会显示在 SceneView 中。此属性使用缓存的属性在客户端上计算,并且仅支持标准化 SQL。
filterMode Object此对象包含有关过滤器块的筛选模式的信息。
- 规范:
-
type String默认值:solid
定义过滤器处于活动状态时如何绘制要素。
solid
模式使用原始纹理渲染特征。 使用wire-frame
模式,仅显示特征的边缘。x-ray
用白色渲染元素半透明。 为确保客户端应用程序的性能,不建议声明多个具有相同过滤模式的过滤器块。可选值:"solid"|"wire-frame"|"x-ray"
edges SolidEdges3D|SketchEdges3D定义用于显示以线框模式过滤的 BuildingSceneLayer 的边类型。 此属性只能与
wire-frame
模式的filterMode
一起使用。
title String用于在 UI 中显示的过滤器标题,例如在 GeoScene Pro 中编辑过滤器块时。