arcigs js api 查询,使用group by 和sum 等聚合函数的使用

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,多测试,就有结果了

### 回答1: arcgis是一个集成的地理信息系统(GIS)软件,它可以帮助用户分析和管理地理空间数据。在arcgis中,顺时针编号是指从某一个点开始,按照顺时针方向给周围的点标号。通常来说,这种编号方式被广泛应用于地图绘制和分析,例如区域划分、路径规划、位置标识等方面。 具体来说,顺时针编号的过程是这样的:首先确定一个起始点,然后按照顺时针方向遍历与该点相邻的点,并按照编号顺序依次标识。如果相邻点的数量超过了一个,那么还需要确定一个遍历的起点。通常情况下,起点可以选择与当前位置呈最小角度的相邻点。对于多边形区域的顺时针编号,通常选择区域内部的一个点作为起点,然后按照边界的顺时针方向依次遍历并标号。 总的来说,顺时针编号是一种常见的地理空间数据处理方法,它能够为地图绘制、路径分析等应用提供便利。在arcgis中,通过简单的操作,就能够实现对数据的快速编号和处理。 ### 回答2: ARCGIS 是一款地理信息系统软件,它经常用于地图制作、空间分析等方面。ARCGIS 中的顺时针编号是指在绘制多边形时,按照顺时针的方向将多边形的每一个点进行编号,从而形成一个多边形的边界。这个编号方式有助于识别多边形的内部和外部。 在 ARCGIS 中,编号的顺序通常是根据多边形的形状和方向来决定的。如果多边形的形状是凸的,那么顺时针方向可以被看作是从多边形外部开始,顺着边沿逆时针旋转到内部。如果多边形是凹的,编号方向将是自向外开始,环绕到内处理的顺时针方向。 顺时针编号在 ARCGIS 中的使用场景比较广泛,例如在空间分析里,可以通过顺时针编号判别一个多边形内部的点和外部的点,从而得出区域内部或外部的数据分析结果。同时,在地图制作中,利用顺时针编号可以清楚的表达出地图的边界信息,为地图制作者打下信息的基础。总之,顺时针编号在 ARCGIS 中是一个很重要的概念,掌握它的原理和应用对于使用 ARCGIS 进行空间分析和地图制作具有十分重要的意义。 ### 回答3: arcgis中的顺时针编号是指利用鼠标在地图上选择的点,以顺时针(从左上角开始)方向对点进行编号,以确定构成多边形的顺序。 在进行一些地理分析任务时,需要创建多边形,例如对某个区域进行统计、区分所属的地理单元、制作地形图等。这时,我们需要选取多个点,把它们链接起来形成一个多边形。如果多边形构造的方向是逆时针的,则这个多边形被称为一个外轮廓;如果多边形构造的方向是顺时针的,则这个多边形被称为一个内部轮廓。在arcgis中,通过顺时针编号可以保证多边形构造的方向是正确的,进而保证后续的分析工作准确无误。 在进行顺时针编号时,首先需要选中多边形区域的第一个点,并标记为序号1,然后选择相邻的下一个点,标记为序号2,依次往后,一直到最后一个点,并将最后一个点与第一个点相连。如果在过程中发现方向不对,则需要反转编号顺序,以确保多边形方向正确。 在arcgis中进行顺时针编号非常简单,只需要勾选“自动顺时针编号”选项即可在绘制多边形时自动进行编号,也可以手动进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值