BuildingComponentSublayerView

类: geoscene/views/layers/BuildingComponentSublayerView
继承于: BuildingComponentSublayerView Accessor
起始版本: GeoScene API for JavaScript 4.22

表示 BuildingComponentSublayer 的子层视图。图层视图可用于查询视图中加载的要素。 子层视图可以通过 BuildingSceneLayerView 上的 sublayerViews 属性访问 :

// 在所有子层中查询满足 sql 表达式的要素
let query = new Query();
query.where = "FamilyType = 'Landscape'";
view.whenLayerView(buildingSceneLayer).then(function(bslv) {
   bslv.sublayerViews.forEach(function(componentSublayerView) {
     componentSublayerView.queryFeatures(query).then(function(result) {
       console.log(result.features);
     });
   });
});

对 BuildingComponentSublayerView 的查询是针对已为当前视图加载的要素执行的。这意味着,一旦图层完成更新,只有可见要素才能保证可用。 当意图是在整个数据集中进行查询或搜索时,不应使用 BuildingComponentSublayerView 上的查询方法,而应使用 BuildingComponentSublayer 上的查询方法。

可以在特定的子图层视图上调用 highlight 方法

view.whenLayerView(buildingSceneLayer).then(function(bslv) {
  // 获取id为1的组件子层的子层视图
  const sublayerView = bslv.sublayerViews.find(function(sublayerView) {
    return sublayerView.sublayer.id === 1;
  });
  const query = sublayerView.createQuery();
  query.spatialRelationship = "contains";
  query.geometry = polygonGeometry;
  // 查询子层视图
  sublayerView.queryObjectIds(query).then(function(result) {
    sublayerView.highlight(result);
  });
});
示例:

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String[]更多信息

为每个要素提取的属性字段列表,包括图层 渲染 所需的字段以及在BuildingComponentSublayer.outFieldsBuildingSceneLayer.outFields 上定义的其他字段。

更多信息BuildingComponentSublayerView
String更多信息

类名。

更多信息Accessor
FeatureFilter更多信息

将客户端 FeatureFilter 应用于显示的数据。

更多信息BuildingComponentSublayerView
BuildingComponentSublayer更多信息

正在查看的子图层。

更多信息BuildingComponentSublayerView
Boolean更多信息

如果子图层被暂停,则值为 true (即,当范围更改时,子图层不会重绘或更新自身)。

更多信息BuildingComponentSublayerView
Boolean更多信息

sublayer 更新时值为 true ;例如,如果它正在获取数据的过程中。

更多信息BuildingComponentSublayerView

属性详细说明

availableFields String[]readonly

为每个要素提取的属性字段列表,包括图层 渲染 所需的字段以及在BuildingComponentSublayer.outFieldsBuildingSceneLayer.outFields 上定义的其他字段。当图层视图完成 更新 时,availableFields 会被填充。 在 客户端 查询要素时使用此列表。

示例:
declaredClass Stringreadonly inherited

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

起始版本: GeoScene API for JavaScript 4.22

将客户端 FeatureFilter 应用于显示的数据。 仅显示满足过滤器的要素。用于过滤器的字段必须存在于图层视图的 availableFields 列表中。

已知限制

  • SceneLayerView 过滤器不支持 timeExtent 属性。
  • 仅支持将 spatialRelationship 设置为 contains, intersectsdisjoint 的空间过滤器。
sublayer BuildingComponentSublayerreadonly

正在查看的子图层。

suspended Booleanreadonly

如果子图层被暂停,则值为 true (即,当范围更改时,子图层不会重绘或更新自身)。

updating Booleanreadonly

sublayer 更新时值为 true ;例如,如果它正在获取数据的过程中。

方法列表

属性 返回值类型 描述
Query更多信息

创建一个查询参数对象,该对象可用于在显示要素时获取要素。

更多信息BuildingComponentSublayerView
Handle更多信息

高亮给定的要素。

更多信息BuildingComponentSublayerView
Promise<Object>更多信息

对图层视图中的要素执行 Query,并返回满足查询条件的要素的 3D Extent

更多信息BuildingComponentSublayerView
Promise<Number>更多信息

对图层视图中的要素执行 Query,并返回满足查询的要素数。

更多信息BuildingComponentSublayerView
Promise<FeatureSet>更多信息

对图层视图中的要素执行 Query 并返回 FeatureSet

更多信息BuildingComponentSublayerView
Promise<Number[]>更多信息

对图层视图中的要素执行 Query ,并返回满足输入查询的要素的 ObjectID 数组。

更多信息BuildingComponentSublayerView

方法详细说明

createQuery(){Query}

创建可用于在显示要素时获取要素的查询参数对象。它将查询参数的 outFields 属性设置为 ["*"] 并将 returnGeometry 设置为 true。 输出空间参考设置为视图的空间参考。当前应用于子层视图的 geoscene/layers/buildingSublayers/BuildingComponentSublayer.html#definitionExpression 也包含在返回的查询对象中。

返回值:
类型 描述
Query 查询对象
highlight(target){Handle}

高亮给定的要素。

参数:
optional

要高亮的要素。传入 graphic 或 graphics 数组时,每个要素都要有有效的 objectID。您也可以将一个或多个 objectIDs 作为单个数字或数组传递。

返回值:
类型 描述
Handle 返回一个带有 remove() 方法的高亮处理程序, 可以调用该方法来删除高亮显示。
queryExtent(query, options){Promise<Object>}

对图层视图中的要素执行 查询 ,并返回满足查询的要素的 3D 范围。如果未提供查询参数,则返回所有已加载的要素的范围和计数。

在 BuildingSceneLayer 类描述的查询部分中阅读有关查询的更多信息。

要直接从场景服务中查询要素的范围,而不是为当前视图加载的要素范围,您必须使用 BuildingComponentSublayer.queryExtent() 方法。

要在 BuildingComponentSublayerView上进行基于属性的查询,您需要在 BuildingComponentSublayer的 outFields 属性中指定必填字段,以确保客户端上的属性值可用于查询。您可以使用 availableFields 来检查客户端上可用的字段。

已知限制

  • 空间查询具有 projection engine 文档中列出的空间查询相同的限制。
  • 在计算与 查询几何 的空间关系时,BuildingSceneLayerView 上的空间查询使用要素的 范围 而不是足迹。 这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
  • 目前只有 intersects, contains, 和 disjoint spatialRelationships 支持空间 查询.
  • 如果 BuildingComponentSublayerView 具有以下任何 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克
    • ISN2016 (8086) - Ic冰岛eland
    • SVY21 (4757) - 新加坡
参数:
query Query autocast
optional
自动转换自 Object

指定查询的属性和空间过滤器。 当没有参数传递给此方法时,将返回客户端中的所有要素。

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。

返回值:
类型 描述
Promise<Object> 解析后,返回满足输入查询的要素的范围和计数。 有关详细信息,请参阅下面的对象规范表。
属性 类型 描述
count Number 满足输入查询的要素数量。
extent Extent 满足查询的要素范围。
queryFeatureCount(query, options){Promise<Number>}

对图层视图中的要素执行 查询 ,并返回满足查询的要素数。如果未提供查询参数,则返回所有已加载的要素数。在 BuildingSceneLayer 类说明的 Query 部分阅读有关查询的更多信息。

要直接从场景服务而不是为当前视图加载的要素数量查询,您必须使用 BuildingComponentSublayer.queryFeatureCount() 方法。

要在 BuildingSceneLayerView 上进行基于属性的查询,您需要在 BuildingComponentSublayer 的 outFields 属性中指定必填字段,以确保客户端上的属性值可用于查询。您可以使用 availableFields 来检查客户端上可用的字段。

已知限制

  • 空间查询具有 projection engine 文档中列出的空间查询相同的限制。
  • 在计算与 查询几何 的空间关系时,BuildingSceneLayerView 上的空间查询使用要素的 范围 而不是足迹。 这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
  • 目前只有 intersects, contains, 和 disjoint spatialRelationships 支持空间 查询.
  • 如果 BuildingSceneLayerView 具有以下任何 SpatialReferences,则当前不支持空间查询::
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克
    • ISN2016 (8086) - Ic冰岛eland
    • SVY21 (4757) - 新加坡
参数:
query Query autocast
optional
自动转换自 Object

指定查询的属性和空间过滤器。 当没有参数传递给此方法时,将返回客户端中的所有要素。如要只返回视图中可见的要素,请将查询对象中的参数 geometry 设置为视图的范围。

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。

返回值:
类型 描述
Promise<Number> 成功后,返回满足查询的要素数量。
queryFeatures(query, options){Promise<FeatureSet>}

对图层视图中的要素执行 Query 并返回 FeatureSet。 如果未提供查询参数,则返回所有加载的要素。

要针对场景服务中的所有要素执行查询,而不仅仅是为当前视图加载的要素,您必须使用 BuildingComponentSublayer.queryFeatures() 方法。

要在 BuildingComponentSublayerView 上进行基于属性的查询,您需要在 BuildingComponentSublayer 的 outFields 属性中指定必填字段,以确保客户端上的属性值可用于查询。您可以使用 availableFields 来检查客户端上可用的字段。

已知限制

  • 空间查询具有 projection engine 文档中列出的空间查询相同的限制。
  • 在计算与 查询几何 的空间关系时,BuildingSceneLayerView 上的空间查询使用要素的 范围 而不是足迹。 这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
  • 目前只有 intersects, contains, 和 disjoint spatialRelationships 支持空间 查询.
  • 如果 BuildingSceneLayerView 具有以下任何 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克
    • ISN2016 (8086) - Ic冰岛eland
    • SVY21 (4757) - 新加坡
参数:
query Query autocast
optional
自动转换自 Object

指定查询的属性和空间过滤器。 当没有参数传递给此方法时,客户端中的所有要素都将连同他们在 availableFields 中指定的属性一起返回。如要只返回视图中可见的要素,请将查询对象中的参数 geometry 设置为视图的范围。

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。

返回值:
类型 描述
Promise<FeatureSet> 成功后, 返回 FeatureSet。如果找到零个结果,则该集合将为空。
queryObjectIds(query, options){Promise<Number[]>}

对图层视图中的要素执行 Query ,并返回满足输入查询的要素的 ObjectIDs 数组。如果未提供查询参数,则返回所有已加载要素的 ObjectID。

要直接从场景服务查询要素的 ObjectID,而不是为当前视图加载的要素,您必须使用 BuildingComponentSublayer.queryObjectIds() 方法。

要在 BuildingSceneLayerView 上进行基于属性的查询,您需要在 BuildingComponentSublayer 的 outFields 属性中指定必填字段,以确保客户端上的属性值可用于查询。您可以使用 availableFields 来检查客户端上可用的字段。

已知限制

  • 空间查询具有 projection engine 文档中所列的限制。
  • 在计算与 查询几何 的空间关系时,BuildingSceneLayerView 上的空间查询使用要素的 范围 而不是足迹。 这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
  • 目前只有 intersects, contains, 和 disjoint spatialRelationships 支持空间 查询.
  • 如果 BuildingSceneLayerView 具有以下任何 SpatialReferences,则当前不支持空间查询::
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克
    • ISN2016 (8086) - Ic冰岛eland
    • SVY21 (4757) - 新加坡
参数:
query Query autocast
optional
自动转换自 Object

指定查询的属性。如果没有传入参数,将会返回所有已加载的要素。

options Object
optional

具有如下属性的对象。

规范:
signal AbortSignal
optional

可用于中止异步任务的 Signal 对象。 当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 AbortController 以获取有关如何构造可用于传递中止 signals 的控制器的更多信息。

返回值:
类型 描述
Promise<Number[]> 解析后,返回一个数字数组,该数组表示满足查询的要素的 ObjectID。

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