【问题标题】:Is it possible to fetch the number of items with a certain property against the property from a CSVLayer in ArcGIS Javascript API?是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?
【发布时间】:2019-11-22 01:19:48
【问题描述】:

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

这是csv file

我的目的是

  • 0 类 - 1
  • 第 1 类 - 0
  • 第 2 类 - 1
  • 第 3 类 - 0

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

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

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

【问题讨论】:

    标签: arcgis arcgis-js-api


    【解决方案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

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

    【讨论】:

    • 是否可以过滤掉组件并仅显示具有特定属性的CSVLayer中的项目?
    • 我已经更新了客户端过滤的链接,它们基本上接受与查询相同的参数
    • 如果我提供几何所需的坐标,是否可以在 ArcGIS 中以编程方式绘制折线或多边形。折线的寿命我将为该线提供两个端点。
    • 它是:) 你能把这个作为一个新问题发布吗?我很乐意在答案中提供详细信息。
    • stackoverflow.com/questions/57389897/… 我已经在这里提出了另一个问题。
    猜你喜欢
    • 1970-01-01
    • 2013-11-26
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多