arcgis - 是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?
问题描述
是否可以从 ArcGIS Javascript API 中的 CSVLayer 中获取具有特定属性的项目数?
这是csv 文件。
我的意图是
- 类别 0 - 1
- 类别 1 - 0
- 类别 2 - 1
- 类别 3 - 0
如果我们显示“类别”属性中的图例并且所有文档都在视图中。
是否可以根据相同的属性过滤项目?
也可以在饼图中显示详细信息吗?
解决方案
您可以使用客户端查询来检索有关可见数据的信息。使用 Codepen 中的CSVLayer和SceneView,以下代码计算其中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
要查看其他查询选项或如何将结果显示为饼图,请查看以下资源:
推荐阅读
- opencart - 将类别导入到 opencart 的脚本不起作用
- elasticsearch - 按 _source 中的字段聚合
- c# - 在 ASP.Net Core 中为每个请求创建一次 EF Core 上下文
- swift - 访问不可用此资源仅适用于注册开发者计划的开发者
- java - 如何从 URL 创建 XML 文件
- sap - 地址已在使用中:部署到 localhost 时的 JVM_Bind
- php-curl - abuseipdb API2 使用 php-cURL 检查
- java - 将 8bit 灰度图像字节数组转换为 BufferedImage
- javascript - 如何在 typescript 中为 MIME 类型应用程序/pdf 生成或创建数据 url
- javascript - 重定向到另一个页面后如何显示反应通知?