对图层视图中的要素执行 Query 并返回满足查询的要素的 3D Extent。如果未提供查询参数,则返回所有已加载要素的范围和计数。
在SceneLayer 类说明的查询部分阅读更多关于查询的信息。
要直接从场景服务中查询要素的范围,而不是为当前视图加载的要素范围,您必须使用 SceneLayer.queryExtent() 方法。
要对 SceneLayerView 进行基于属性的查询,您需要在 SceneLayer 的 outFields 属性中指定必填字段,以确保属性值在客户端上可用于查询。您可以使用 availableFields 检查客户端上可用的字段。
已知限制
- 空间查询与 projection engine 文档中列出的限制相同。
- 在计算与 query geometry 的空间关系时,对 3D 对象 SceneLayerView 的空间查询使用要素的 Extent 而不是足迹。这意味着可能会从查询中返回一个要素,即使它的足迹与几何图形没有空间关系。
- 目前在空间 queries 上仅支持
intersects
、contains
和disjoint
spatialRelationships 。 - 如果 SceneLayerView 具有以下任何一项,则当前不支持空间查询SpatialReference:
- GDM 2000 (4742) - 马来西亚
- Gsterberg (Ferro) (8042) - 奥地利/捷克共和国
- ISN2016 (8086) - 冰岛
- SVY21 (4757) - 新加坡
参数:
类型 说明 可选的 来自 Object指定查询的属性和空间过滤器。当没有参数传递给此方法时,将返回客户端中的所有函数。
options Object可选的 具有以下属性的对象。
规格:signal可选的 可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被名为
AbortError
的 Error 拒绝。另请参阅AbortController,了解有关如何构建可用于传递中止信号的控制器的更多信息。返回:
类型 说明 Promise<Object> 解析后,返回满足输入查询的要素的范围和计数。有关详细信息,请参阅下面的对象规格表。 属性 类型 说明 count Number 满足输入查询的特征数。 extent Extent 满足查询的要素的范围。 例子:
let layer = new SceneLayer({ url: ssUrl // points to a Scene Service layer url }); view.whenLayerView(layer).then(function(layerView){ watchUtils.whenNotOnce(layerView, "updating") // watches when the layer finishes updating the first time .then(function() { return layerView.queryExtent(); }) .then(function(results) { view.goTo(results.extent); // go to the extent of all the graphics in the layer view }); });
基本信息
以下是所在类或对象的基本信息。
类:
esri/views/layers/SceneLayerView
继承: SceneLayerView > LayerView > Accessor
自从:用于 JavaScript 4.3 的 ArcGIS API
用法说明
SceneLayerView.queryExtent
函数(或属性)的定义如下:
相关用法
- JavaScript ArcGIS SceneLayerView.queryFeatureCount用法及代码示例
- JavaScript ArcGIS SceneLayerView.queryObjectIds用法及代码示例
- JavaScript ArcGIS SceneLayerView.queryFeatures用法及代码示例
- JavaScript ArcGIS SceneLayerView.when用法及代码示例
- JavaScript ArcGIS SceneLayerView.highlight用法及代码示例
- JavaScript ArcGIS SceneLayer用法及代码示例
- JavaScript ArcGIS SceneLayer layerview-create事件用法及代码示例
- JavaScript ArcGIS SceneLayer.portalItem用法及代码示例
- JavaScript ArcGIS SceneLayer.apiKey用法及代码示例
- JavaScript ArcGIS SceneLayer.queryCachedStatistics用法及代码示例
- JavaScript ArcGIS SceneLayer.definitionExpression用法及代码示例
- JavaScript ArcGIS SceneLayer.labelingInfo用法及代码示例
- JavaScript ArcGIS SceneLayer.version用法及代码示例
- JavaScript ArcGIS SceneLayer.renderer用法及代码示例
- JavaScript ArcGIS SceneLayer.visible用法及代码示例
- JavaScript ArcGIS SceneLayer.fieldsIndex用法及代码示例
- JavaScript ArcGIS SceneLayer.when用法及代码示例
- JavaScript ArcGIS SceneLayer.outFields用法及代码示例
- JavaScript ArcGIS SceneLayer.featureReduction用法及代码示例
- JavaScript ArcGIS SceneLayer.opacity用法及代码示例
- JavaScript ArcGIS SceneLayer.maxScale用法及代码示例
- JavaScript ArcGIS SceneLayer.fullExtent用法及代码示例
- JavaScript ArcGIS SceneLayer.layerId用法及代码示例
- JavaScript ArcGIS SceneLayer layerview-create-error事件用法及代码示例
- JavaScript ArcGIS SceneLayer.on用法及代码示例
注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 SceneLayerView.queryExtent。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。