当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS FeatureLayer.queryFeatures用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/layers/FeatureLayer"], (FeatureLayer) => { /* code goes here */ });

ESM: import FeatureLayer from "@arcgis/core/layers/FeatureLayer";

类: esri/layers/FeatureLayer

继承: FeatureLayer > Layer > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

FeatureLayer.queryFeatures函数(或属性)的定义如下:

queryFeatures (query, options) {Promise<FeatureSet>}


对要素服务执行 Query 并返回 FeatureSet ,一旦 promise 解决,就可以使用 .then() 方法访问它。 FeatureSet 包含一组 Graphic 特征。有关如何从图层查询要素的详细信息,请参阅querying 部分。

要查询客户端上View 可用或可见的函数/图形,而不是进行服务器端查询,您必须使用FeatureLayerView.queryFeatures() 方法。

当查询包含z-values且没有vertical coordinate system信息的服务时,z-values将自动转换以匹配outSpatialReference单位。示例:服务具有使用 feet 单位的水平空间参考,并且基于 meter 单位使用 outSpatialReference 进行查询,然后 queryFeatures() 自动将值从 feet 转换为 meter 单位。

参数:

类型说明
query Query autocast
可选的
来自 Object

指定查询的属性和空间过滤器。如果未指定参数,则返回满足层配置/过滤器的所有特征。

options Object
可选的

具有以下属性的对象。

规格:
signal

AbortSignal

可选的

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

返回:

类型 说明
Promise<FeatureSet> 解析后,将返回包含图形特征数组的 FeatureSet

例子:

// Queries for all the features matching the layer's configurations
// e.g. definitionExpression
layer.queryFeatures().then(function(results){
  // prints the array of result graphics to the console
  console.log(results.features);
});
const layer = new FeatureLayer({
  url: fsUrl  // points to a Feature Service layer url
});

const query = new Query();
query.where = "STATE_NAME = 'Washington'";
query.outSpatialReference = { wkid: 102100 };
query.returnGeometry = true;
query.outFields = [ "CITY_NAME" ];

layer.queryFeatures(query).then(function(results){
  console.log(results.features);  // prints the array of features to the console
});
// Get a query object for the layer's current configuration
const queryParams = layer.createQuery();
// set a geometry for filtering features by a region of interest
queryParams.geometry = extentForRegionOfInterest;
// Add to the layer's current definitionExpression
queryParams.where = queryParams.where + " AND TYPE = 'Extreme'";

// query the layer with the modified params object
layer.queryFeatures(queryParams).then(function(results){
  // prints the array of result graphics to the console
  console.log(results.features);
});
const layer = new FeatureLayer({
  url: fsUrl  // points to a Feature Service layer url
});

// query all features from the layer and only return
// attributes specified in outFields.
const query = { // autocasts as Query
  where: "1=1", // select all features
  returnGeometry: false,
  outFields: ["State_Name", "City_Name", "pop2010"]
};

layer.queryFeatures(query).then(function(results){
  console.log(results.features);  // prints the array of features to the console
});

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 FeatureLayer.queryFeatures。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。