首页 > 解决方案 > 是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?

问题描述

是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?

这是csv 文件

我的意图是

如果我们显示“类别”属性中的图例并且所有文档都在视图中。

是否可以根据相同的属性过滤项目?

也可以在饼图中显示详细信息吗?

标签: arcgisarcgis-js-api

解决方案


您可以使用客户端查询来检索有关可见数据的信息。使用 Codepen 中的CSVLayerSceneView,以下代码计算其中Category = 0或的特征数Category = 2

view
  .whenLayerView(csvLayer)
  .then(function(csvLayerView) {

    // Create query
    var query = csvLayerView.createQuery();
    query.outStatistics = [{
      onStatisticField: "CASE WHEN Category = 0 THEN 1 ELSE 0 END",
      outStatisticFieldName: "Category0Sum",
      statisticType: "sum"
    }, {
      onStatisticField: "CASE WHEN Category = 2 THEN 1 ELSE 0 END",
      outStatisticFieldName: "Category2Sum",
      statisticType: "sum"
    }];
    return csvLayerView.queryFeatures(query);
  })
  .then(function(response) {

    // Print query results
    console.log("Query results", response.features[0].attributes);
  }).catch(console.error);

每当视图更改并将新的一行结果打印到控制台时,以下 Codepen 都会运行此代码:https ://codepen.io/arnofiva/pen/b835cc7b626965332e802fd3385056e9

要查看其他查询选项或如何将结果显示为饼图,请查看以下资源:


推荐阅读