當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS GeoJSONLayer.queryFeatures用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

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

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

類: esri/layers/GeoJSONLayer

繼承: GeoJSONLayer > Layer > Accessor

自從:用於 JavaScript 4.11 的 ArcGIS API

用法說明

GeoJSONLayer.queryFeatures函數(或屬性)的定義如下:

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


對層執行 Query 並返回 FeatureSet ,一旦 promise 解決,就可以使用 .then() 方法訪問它。 FeatureSet 包含一組 Graphic 特征,可以將其添加到 view's graphics 。如果找到零個結果,則不會填充此數組。

已知限製

  • 針對圖層視圖執行的屬性查詢中使用的屬性值區分大小寫。
  • 空間查詢與 projection engine 文檔中列出的限製相同。
  • 如果圖層視圖具有以下任何一項,則當前不支持空間查詢SpatialReference
    • GDM 2000 (4742) - 馬來西亞
    • Gusterberg (Ferro) (8042) - 奧地利/捷克共和國
    • ISN2016 (8086) - 冰島
    • SVY21 (4757) - 新加坡

參數:

類型說明
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 GeoJSONLayer({
  url: geojsonUrl  // points to a GeoJSON data 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);
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 GeoJSONLayer.queryFeatures。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。