arcigs js api 查询,使用group by 和sum 等聚合函数的使用
来源:互联网 发布:诺诺助手是什么软件 编辑:程序博客网 时间:2024/06/05 13:32
1.业务场景: (这里使用的arcgis js api 版本是 3.17版本)
最近使用arcgis js api 的时候,有这样一种需求,需要统计map server中 不同地块肥沃度好坏的 面积各有多少,用来做饼状图,比如:
好地:100亩
中等:50亩
差地:30亩
2.解决方法:
方法1:刚开始,采用的是,根据不同的肥沃度,分别去查询,但是如果肥沃度 有几个数据,那么 就要查询几次数据,而且要分别把查出来的数据的面积进行相加,从而实现功能,但是后面发现这样太慢了。然后就查阅官方arcgis js api,发现有 分组查询 ,和聚合函数的使用。下面就使用arcgis js api 提供的方法进行实现。
方法2:分析下,就不难,看出地块的肥沃程度,需要使用group by 来进行分组查询,然后对于面积 可以使用 sum 来进行聚合。
测试发现,要使用group by 必须指定 query.outStatistics = [ statDef ]; (statDef 是一个 StatisticDefinition对象,就是统计定义对象,这里官方文档中也有提到),这就是使用的前提。 下面是代码,其实很简单,相比第一种方法简单多了。
queryTask = new esri.tasks.QueryTask(countiesUrl); query = new esri.tasks.Query(); query.outFields = outFields; statDef = new esri.tasks.StatisticDefinition(); statDef.statisticType = "sum"; statDef.onStatisticField = "MJ"; statDef.outStatisticName = "MJ"; query.returnGeometry = false; query.where = "1=1"; query.outStatistics = [ statDef ];query.groupByFieldsForStatistics = ["GLCS"]; queryTask.execute(query, handleQueryResult, errorHandler);
1. new queryTask 对象
2.new query 对象
3.new statisticDefiniton 对象
4.设置query的outStatistics属性为 statistic Definiton ,然后定义query的 group by 字段 ,即可
这样 查询出来的结果 就会有类似这样的数据[glcs:好地,mj:50亩,glcs:中等,mj:30亩。。。。。。。。。。],
目前我发现的就是这种方法。如有其他,请指正。
3.总结:
其实就是仔细看api,多测试,就有结果了
- arcigs js api 查询,使用group by 和sum 等聚合函数的使用
- mysql中group by子句和聚合函数MAX(),MIN(),SUM(),AVG()等的使用
- 在oracle的聚合函数(sum、avg等)中使用group by来分组你的结果
- group by ,having, 聚合函数的使用
- group by和聚合函数、having关键字一起使用
- sql 聚合函数和group by 联合使用
- Oracle-24-聚合函数&group by的使用
- 聚合函数和分组(sum(),count(),group by having)
- 聚合函数和group by
- group by 和聚合函数
- 聚合函数和Group by
- Sql中sum()函数和group by 函数的使用
- SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用
- 查询之order by,group by和having的使用 .
- SQL语句中聚合函数和Group By一同使用时能取到符合条件的记录中哪些列的信息
- POJ1556 计算几何+Dijkstra(邻接矩阵)
- paypal标准支付流程图
- Oracle用户
- ARM处理器中的char
- django 模板中获取静态文件
- arcigs js api 查询,使用group by 和sum 等聚合函数的使用
- 2017.8.29
- Deployment failure on Tomcat 7.X部署不成功
- 第六章 Java中的类 解析
- Windows下PATH等环境变量详解
- 安装cordova和ionic很慢
- tensorflow LSTM实现sin(x)预测
- 线程的来回切换
- 拦截器、过滤器区别