classBreaks
require(["esri/renderers/smartMapping/statistics/classBreaks"], function(classBreaks) { /* code goes here */ });
esri/renderers/smartMapping/statistics/classBreaks
Function for generating class breaks for an input field in a FeatureLayer based on a given classification method and normalization type.
Known Limitations
- Only FeatureLayer, SceneLayer, CSVLayer, and PointCloudLayer layer types are currently supported, except in the following scenarios:
- SceneLayers without the
supportsRenderer
andsupportsLayerQuery
capabilities enabled, unless a predefined statistics object is passed to thestatistics
parameter of the method in conjunction with the layer. To check a SceneLayer's capabilities, use the getFieldInfoUsage() method.
- SceneLayers without the
- You cannot generate statistics using SQL expressions for client-side FeatureLayers in a SceneView.
Method Overview
Name | Return Type | Summary | Function | |
---|---|---|---|---|
Promise<ClassBreaksResult> | Generates class breaks for an input field (or expression) of a FeatureLayer based on a given classification method and normalization type. more details | more details | classBreaks |
Method Details
- classBreaks(params){Promise<ClassBreaksResult>}
Generates class breaks for an input field (or expression) of a FeatureLayer based on a given classification method and normalization type.
Parameters:params ObjectSee the table below for details about parameters that may be passed to this function.
Specification:The layer from which to generate class breaks.
field StringoptionalThe class breaks will be generated based on values of this field. If a field is provided, the values from the given field from all features will be queried in the service.
normalizationField StringoptionalThe field by which to normalize the values returned from the given
field
.classificationMethod StringoptionalThe method for classifying the data. See the table below for a list of possible values.
Possible Value Description natural-breaks Data values that cluster are placed into a single class. Class breaks occur where gaps exist between clusters. You should use this method if your data is unevenly distributed; that is, many features have the same or similar values and there are gaps between groups of values. equal-interval Each class has an equal range of values; in other words, the difference between the high and low value is equal for each class. You should use this method if your data is evenly distributed and you want to emphasize the difference in values between the features. quantile Each class has roughly the same number of features. If your data is evenly distributed and you want to emphasize the difference in relative position between features, you should use the quantile classification method. If, for example, the point values are divided into five classes, points in the highest class would fall into the top fifth of all points. standard-deviation Class breaks are placed above and below the mean value at intervals of 1
,0.5
, or0.25
standard deviations until all the data values are included in a class.standardDeviationInterval NumberoptionalWhen
classificationMethod = "standard-deviation"
, this sets the interval at which each class break should be set (e.g.0.25
,0.33
,0.5
,1
).minValue NumberoptionalThe minimum bounding value for the class breaks definition. Use this in conjunction with
maxValue
to generate class breaks between lower and upper bounds.maxValue NumberoptionalThe maximum bounding value for the class breaks definition. Use this in conjunction with
minValue
to generate class breaks between lower and upper bounds.numClasses NumberoptionalIndicates the number of classes to generate for the class breaks definition.
valueExpression StringoptionalAn Arcade expression that returns a number. This expression can reference field values using the
$feature
global variable. This property overrides thefield
property and therefore is used instead of an inputfield
value.sqlExpression StringoptionalA SQL expression evaluating to a number.
sqlWhere StringoptionalA SQL where clause used to filter features for the statistics query. For example, this is useful in situations where you want to avoid dividing by zero as is the case with creating a predominance visualization.
view ViewoptionalA SceneView or MapView instance is required when a
valueExpression
is specified.features Graphic[]optionalA subset of features for which to generate the class breaks.
Returns:Type Description Promise<ClassBreaksResult> Resolves to an instance of ClassBreaksResult. Example:classBreaks({ layer: featureLayer, field: "COL_DEG", normalizationField: "TOT_POP", classificationMethod: "quantile", numClasses: 5 }).then(function(response){ // class break infos that may be passed to the // constructor of a ClassBreaksRenderer var breakInfos = response.classBreakInfos; });
Type Definitions
- ClassBreaksResult
Object returned from the classBreaks() method. This object describes classes generated from data in a FeatureLayer for a given field with a specified classification method.
- Properties:
- classBreaksInfos Object[]
An array of objects describing the class breaks generated from the classBreaks() method.
minValue NumberThe minimum value of features in the dataset. This will be the lower bound of the lowest class break.
maxValue NumberThe maximum value of features in the dataset. This will be the upper bound of the highest class break.
normalizationTotal NumberThe normalization total if
normalizationType
is set topercent-of-total
when generating class breaks with createClassBreaksRenderer().