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

Is it possible to fetch the number of items with a certain property against the property from a CSVLayer in ArcGIS Javascript API?

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

这是csv file

我的意图是

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

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

是否可以在饼图中显示详细信息?

你可以在Codepen中使用client side queries to retrieve information about the visible data. Using the CSVLayer and SceneView,下面的代码统计Category = 0Category = 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

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