BuildingComponentSublayerView

类: geoscene/views/layers/BuildingComponentSublayerView
继承于:BuildingComponentSublayerView Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.17

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

// query all sublayers for features that satisfy the sql expression
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) {
  // get the sublayer view of the component sublayer with id 1
  const sublayerView = bslv.sublayerViews.find(function(sublayerView) {
    return sublayerView.sublayer.id === 1;
  });
  const query = sublayerView.createQuery();
  query.spatialRelationship = "contains";
  query.geometry = polygonGeometry;
  // query sublayer view
  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

更新子图层时,值为 true;例如,如果它正在获取数据。

更多详情
BuildingComponentSublayerView

属性详细信息

availableFields String[]readonly

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

另请参阅
declaredClass Stringreadonly inherited

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

起始版本:GeoScene Maps SDK for JavaScript 4.18

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

已知限制

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

正在查看的子图层。

suspended Booleanreadonly

如果子图层被挂起 (即,当范围发生更改时,子图层将不会重绘或更新),则值为 true

updating Booleanreadonly

更新子图层时,值为 true;例如,如果它正在获取数据。

方法概述

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

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

更多详情
Accessor
Query

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

更多详情
BuildingComponentSublayerView
Boolean

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

更多详情
Accessor
Handle

突出显示给定的要素。

更多详情
BuildingComponentSublayerView
Promise<Object>

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

更多详情
BuildingComponentSublayerView
Promise<number>

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

更多详情
BuildingComponentSublayerView
Promise<FeatureSet>

对图层视图中的要素执行查询,并返回 FeatureSet

更多详情
BuildingComponentSublayerView
Promise<number[]>

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

更多详情
BuildingComponentSublayerView

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

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() 进行删除。如果未提供键,则句柄将被添加到默认组。

createQuery(){Query}

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

返回
类型 描述
Query 查询对象
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");
}
highlight(target){Handle}

突出显示给定的要素。

参数
optional

要突出显示的要素。传递图形或图形数组时,每个要素都必须具有有效的 objectID。您也可以将一个或多个 objectID 作为单个数字或数组传递。

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

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

更多关于查询的信息,请参阅 BuildingSceneLayer 类描述的查询部分。

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

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

已知限制

  • 空间查询具有与投影引擎文档中列出的查询相同的限制。
  • 计算与查询几何的空间关系时,BuildingComponentSublayerView 上的空间查询使用要素的范围,而不是轮廓线。这意味着,即使要素的轮廓线与几何不存在空间关系,也可能从查询中返回要素。
  • 目前,空间查询仅支持 intersectscontainsdisjoint spatialRelationships
  • 如果 BuildingComponentSublayerView 具有以下任何一个 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
    • ISN2016 (8086) - 冰岛
    • SVY21 (4757) - 新加坡
参数
optional
自动转换自 Object

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

options Object
optional

具有以下属性的对象。

规范
optional

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

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

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

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

为了在 BuildingSceneLayerView 上进行基于属性的查询,需要在 BuildingComponentSublayer 的 outFields 属性中指定必填字段,以确保客户端上的属性值可用于查询。您可以使用 availableFields 来检查客户端上可用的字段。更多关于查询的信息,请参阅 BuildingSceneLayer 类描述的查询部分。

已知限制

  • 空间查询具有与投影引擎文档中列出的查询相同的限制。
  • 计算与查询几何的空间关系时,BuildingComponentSublayerView 上的空间查询使用要素的范围,而不是轮廓线。这意味着,即使要素的轮廓线与几何不存在空间关系,也可能从查询中返回要素。
  • 目前,空间查询仅支持 intersectscontainsdisjoint spatialRelationships
  • 如果 BuildingSceneLayerView 具有以下任何一个 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
    • ISN2016 (8086) - 冰岛
    • SVY21 (4757) - 新加坡
参数
optional
自动转换自 Object

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

options Object
optional

具有以下属性的对象。

规范
optional

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

返回
类型 描述
Promise<number> 解析后,可返回满足查询的要素数。
queryFeatures(query, options){Promise<FeatureSet>}

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

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

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

已知限制

  • 空间查询具有与投影引擎文档中列出的查询相同的限制。
  • 计算与查询几何的空间关系时,BuildingComponentSublayerView 上的空间查询使用要素的范围,而不是轮廓线。这意味着,即使要素的轮廓线与几何不存在空间关系,也可能从查询中返回要素。
  • 目前,空间查询仅支持 intersectscontainsdisjoint spatialRelationships
  • 如果 BuildingSceneLayerView 具有以下任何一个 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
    • ISN2016 (8086) - 冰岛
    • SVY21 (4757) - 新加坡
参数
optional
自动转换自 Object

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

options Object
optional

具有以下属性的对象。

规范
optional

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

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

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

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

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

已知限制

  • 空间查询具有投影引擎文档中所列的限制。
  • 计算与查询几何的空间关系时,BuildingSceneLayerView 上的空间查询使用要素的范围,而不是轮廓线。这意味着,即使要素的轮廓线与几何不存在空间关系,也可能从查询中返回要素。
  • 目前,空间查询仅支持 intersectscontainsdisjoint spatialRelationships
  • 如果 BuildingSceneLayerView 具有以下任何一个 SpatialReferences,则当前不支持空间查询:
    • GDM 2000 (4742) - 马来西亚
    • Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
    • ISN2016 (8086) - 冰岛
    • SVY21 (4757) - 新加坡
参数
optional
自动转换自 Object

指定查询的属性。如果未提供查询参数,则返回所有加载的要素。

options Object
optional

具有以下属性的对象。

规范
optional

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

返回
类型 描述
Promise<number[]> 解析后,返回一个数字数组,表示满足查询的要素的 ObjectID。
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");

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