是否可以根据ArcGIS Javascipt API中的CSVLayer的属性获取具有certian属性的项目数?

时间:2019-07-12 09:29:06

标签: arcgis arcgis-js-api

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

这是csv file

我的意图是

  • 类别0 -1
  • 类别1 -0
  • 类别2 -1
  • 类别3 -0

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

还可以基于相同的属性过滤项目吗?

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

1 个答案:

答案 0 :(得分:1)

您可以使用client side queries检索有关可见数据的信息。使用Codepen中的CSVLayerSceneView,以下代码计算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

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