A class breaks renderer symbolizes based on the value of some numeric attribute. The classBreakInfo define the values at which the symbology changes.
Referenced by: Raster Renderers, renderer
Properties
Property | Details |
---|---|
authoringInfo | An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients can ignore it. |
backgroundFillSymbol | A symbol used for polygon features as a background if the renderer uses point symbols, e.g. for bivariate types & size rendering. Only applicable to polygon layers. |
classBreakInfos[] | Array of classBreakInfo objects. |
classificationMethod | Determines the classification method that was used to generate class breaks. This has been replaced by authoringInfo. Valid values: esriClassifyDefinedInterval , esriClassifyEqualInterval , esriClassifyGeometricalInterval , esriClassifyManual , esriClassifyNaturalBreaks , esriClassifyQuantile , esriClassifyStandardDeviation |
defaultLabel | Label for the default symbol used to draw unspecified values. |
defaultSymbol | Symbol used when a value cannot be classified. |
field | Attribute field used for renderer. |
legendOptions | A legend containing one title, which is a string describing the renderer in the legend. |
minValue | The minimum numeric data value needed to begin class breaks. |
normalizationField | Used when normalizationType is field. The string value indicating the attribute field by which the data value is normalized. |
normalizationTotal | Used when normalizationType is percent-of-total, this number property contains the total of all data values. |
normalizationType | Determine how the data was normalized. Valid values:
|
rotationExpression | A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets. Rotation is set using a visual variable of type rotationInfo with a specified field or valueExpression property. |
rotationType | A string property which controls the origin and direction of rotation. If the rotationType is defined as arithmetic , the symbol is rotated from East in a couter-clockwise direction where East is the 0 degree axis. If the rotationType is defined as geographic , the symbol is rotated from North in a clockwise direction where North is the 0 degree axis.Valid values:
|
type | Specifies the type of renderer used. Valid value of this property classBreaks |
valueExpression | An Arcade expression evaluating to a number. |
valueExpressionTitle | The title identifying and describing the associated Arcade expression as defined in the valueExpression property. |
visualVariables[] | An array of objects used to set rendering properties. |
Additional information
If the Normalization Type property is defined then the class breaks contain a normalized min/max value instead of the actual value. The data value, obtained from the field property, is normalized using one of the following functions before it is compared with the class breaks. 1. Field - Divide the data value using the attribute value of the field specified by the normalizationField property. 2. Log - Compute the base 10 logarithm of the data value. This can be a useful approach for some data distributions because it reduced the influence of very large data values. 3. Percent-of-total - Divide the data value by the sum of all data values then multiply by 100. Use the normalizationTotal property to determine the total value.
Example
{
"visualVariables": [
{
"type": "colorInfo",
"field": "POPULATION",
"stops": [
{
"value": -99,
"color": [
255,
252,
212,
255
],
"label": "< -99"
},
{
"value": 705950,
"color": [
177,
205,
194,
255
]
},
{
"value": 1411999,
"color": [
98,
158,
176,
255
],
"label": "1,411,999"
},
{
"value": 2578189,
"color": [
56,
98,
122,
255
]
},
{
"value": 3744380,
"color": [
13,
38,
68,
255
],
"label": "> 3,744,380"
}
]
}
],
"type": "classBreaks",
"field": "POPULATION",
"minValue": -9007199254740991,
"classBreakInfos": [
{
"symbol": {
"color": [
170,
170,
170,
255
],
"size": 6,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"type": "esriSMS",
"style": "esriSMSCircle",
"outline": {
"color": [
153,
153,
153,
255
],
"width": 0.375,
"type": "esriSLS",
"style": "esriSLSSolid"
}
},
"classMaxValue": 9007199254740991
}
]
}
Example
{
"visualVariables": [
{
"type": "sizeInfo",
"field": "POPULATION",
"valueUnit": "unknown",
"minSize": 6,
"maxSize": 37.5,
"minDataValue": -99,
"maxDataValue": 23620000
}
],
"type": "classBreaks",
"field": "POPULATION",
"minValue": -9007199254740991,
"classBreakInfos": [
{
"symbol": {
"color": [
227,
139,
79,
255
],
"size": 9,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"type": "esriSMS",
"style": "esriSMSCircle",
"outline": {
"color": [
255,
255,
255,
255
],
"width": 0.75,
"type": "esriSLS",
"style": "esriSLSSolid"
}
},
"classMaxValue": 9007199254740991
}
]
}
Proportional reference size Example
This could also include opacity and color visual variables. Will post live example here...
{
"authoringInfo": {
"visualVariables": [
{
"type": "sizeInfo",
"theme": "reference-size",
"referenceSizeSymbolStyle": "hexagon-flat",
"field": "MEDVAL_CY",
"sizeStops": [
{
"value": 0,
"size": 0
},
{
"value": 530488,
"size": 53
}
],
"minSliderValue": 0,
"maxSliderValue": 530488
}
]
},
"type": "classBreaks",
"classBreakInfos": [
{
"classMaxValue": 9007199254740991,
"symbol": {
"type": "CIMSymbolReference",
"symbol": {
"type": "CIMPolygonSymbol",
"symbolLayers": [
{
"type": "CIMVectorMarker",
"enable": true,
"colorLocked": false,
"anchorPoint": {
"x": 0,
"y": 0
},
"anchorPointUnits": "Relative",
"primitiveName": "outerRing",
"frame": {
"xmin": 0,
"ymin": 0,
"xmax": 17,
"ymax": 17
},
"markerGraphics": [
{
"type": "CIMMarkerGraphic",
"geometry": {
"rings": [
[
[
12.75,
15.86
],
[
17,
8.5
],
[
12.75,
1.14
],
[
4.25,
1.14
],
[
0,
8.5
],
[
4.25,
15.86
],
[
12.75,
15.86
]
]
]
},
"symbol": {
"type": "CIMPolygonSymbol",
"symbolLayers": [
{
"type": "CIMSolidFill",
"enable": true,
"color": [
227,
139,
79,
255
],
"colorLocked": false,
"primitiveName": "symbolFill",
"width": 1.5,
"effects": [
{
"type": "CIMGeometricEffectDonut",
"width": 0.75
}
]
}
]
}
}
],
"scaleSymbolsProportionally": false,
"respectFrame": true,
"markerPlacement": null
},
{
"type": "CIMVectorMarker",
"enable": true,
"anchorPoint": {
"x": 0,
"y": 0
},
"anchorPointUnits": "Relative",
"primitiveName": "innerDot",
"frame": {
"xmin": 0,
"ymin": 0,
"xmax": 17,
"ymax": 17
},
"markerGraphics": [
{
"type": "CIMMarkerGraphic",
"geometry": {
"rings": [
[
[
12.75,
15.86
],
[
17,
8.5
],
[
12.75,
1.14
],
[
4.25,
1.14
],
[
0,
8.5
],
[
4.25,
15.86
],
[
12.75,
15.86
]
]
]
},
"symbol": {
"type": "CIMPolygonSymbol",
"symbolLayers": [
{
"type": "CIMSolidFill",
"enable": true,
"color": [
227,
139,
79,
255
],
"primitiveName": "symbolFill"
}
]
}
}
],
"scaleSymbolsProportionally": true,
"respectFrame": true,
"markerPlacement": null
}
]
},
"primitiveOverrides": [
{
"type": "CIMPrimitiveOverride",
"primitiveName": "outerRing",
"propertyName": "Size",
"valueExpressionInfo": {
"type": "CIMExpressionInfo",
"title": "Size in pixels of outer ring at maxScale",
"expression": "\nvar maxSize = 53;\nvar referenceScale = 36111.909643;\nreturn (maxSize * (referenceScale / $view.scale));",
"returnType": "Default"
}
},
{
"type": "CIMPrimitiveOverride",
"primitiveName": "innerDot",
"propertyName": "Size",
"valueExpressionInfo": {
"type": "CIMExpressionInfo",
"title": "Size in pixels of inner ring at maxScale",
"expression": "\n\nif(!HasKey($feature, \"MEDVAL_CY\")){\n return null;\n}\n$feature.MEDVAL_CY;\n\nvar value = $feature.MEDVAL_CY;\n\nvar referenceScale = 36111.909643;\nvar referenceScaleRatio = (referenceScale / $view.scale);\nvar maxSize = 53 * referenceScaleRatio;\nvar minSize = 0 * referenceScaleRatio;\n\nvar minDataValue = 0;\nvar maxDataValue = 530488;\n\nvar ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);\n\nvar innerDotSize = Constrain(maxSize * ratio, minSize, maxSize);\nreturn innerDotSize;",
"returnType": "Default"
}
}
]
}
}
],
"field": "MEDVAL_CY",
"minValue": -9007199254740991
}