StatisticDefinition

require(["esri/tasks/support/StatisticDefinition"], function(StatisticDefinition) { /* code goes here */ });
Class: esri/tasks/support/StatisticDefinition
Inheritance: StatisticDefinition Accessor
Since: ArcGIS API for JavaScript 4.0

This class defines the parameters for querying a layer or layer view for statistics.

See also:
Examples:
// query for the sum of the population in all features
var sumPopulation = {
  onStatisticField: "POP_2015",  // service field for 2015 population
  outStatisticFieldName: "Pop_2015_sum",
  statisticType: "sum"
}
var query = layer.createQuery();
query.outStatistics = [ sumPopulation ];
layer.queryFeatures(query)
  .then(function(response){
     var stats = response.features[0].attributes;
     console.log("output stats": stats);
  });
// query for the average of the population change for all features
var populationChangeDefinition = {
  onStatisticField: "POP_2015 - POP_2010",  // service field for 2015 population
  outStatisticFieldName: "avg_pop_change_2015_2010",
  statisticType: "avg"
}
var query = layer.createQuery();
query.outStatistics = [ populationChangeDefinition ];
layer.queryFeatures(query)
  .then(function(response){
     var stats = response.features[0].attributes;
     console.log("Average change": stats.avg_pop_change_2015_2010);
  });

Constructors

new StatisticDefinition(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
String

The name of the class.

more details
more detailsAccessor
String

Defines the field for which statistics will be calculated.

more details
more detailsStatisticDefinition
String

Specifies the output field name for the requested statistic.

more details
more detailsStatisticDefinition
String

Defines the type of statistic.

more details
more detailsStatisticDefinition

Property Details

declaredClassStringreadonly inherited
Since: ArcGIS API for JavaScript 4.7

The name of the class. The declared class name is formatted as esri.folder.className.

onStatisticFieldString

Defines the field for which statistics will be calculated. This can be service field names or SQL expressions. See the snippets below for examples.

Examples:
// query for the sum of the population in all features
var sumPopulation = {
  onStatisticField: "POP_2015",  // service field for 2015 population
  outStatisticFieldName: "Pop_2015_sum",
  statisticType: "sum"
}
var query = layer.createQuery();
query.outStatistics = [ sumPopulation ];
layer.queryFeatures(query)
  .then(function(response){
     var stats = response.features[0].attributes;
     console.log("output stats": stats);
  });
// query for the average of the population change for all features
// Notice that you can pass a SQL expression as a field name to calculate statistics
var populationChangeDefinition = {
  onStatisticField: "POP_2015 - POP_2010",  // service field for 2015 population
  outStatisticFieldName: "avg_pop_change_2015_2010",
  statisticType: "avg"
}
var query = layer.createQuery();
query.outStatistics = [ populationChangeDefinition ];
layer.queryFeatures(query)
  .then(function(response){
     var stats = response.features[0].attributes;
     console.log("Average change": stats.avg_pop_change_2015_2010);
  });
outStatisticFieldNameString

Specifies the output field name for the requested statistic. Output field names can only contain alpha-numeric characters and an underscore. If no output field name is specified, the server assigns a field name to the returned statistic field.

statisticTypeString

Defines the type of statistic.

Possible Values: count | sum | min | max | avg | stddev | var

Method Overview

NameReturn TypeSummaryClass
*

Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform.

more details
more detailsStatisticDefinition
Object

Converts an instance of this class to its ArcGIS portal JSON representation.

more details
more detailsStatisticDefinition

Method Details

fromJSON(json){*}static

Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.

Parameter:
json Object

A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects.

Returns:
TypeDescription
*Returns a new instance of this class.
toJSON(){Object}

Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() topic in the Guide for more information.

Returns:
TypeDescription
ObjectThe ArcGIS portal JSON representation of an instance of this class.

API Reference search results

NameTypeModule
Loading...