This topic discusses the JSON representation of renderer objects. The following renderers are discussed here:
- Simple renderer
- Unique value renderer
- Class breaks renderer
Simple renderer
A simple renderer is a renderer that uses one symbol only. The type
property for simple renderers is simple
. The rotation
property controls the origin and direction of rotation. If the rotation
is defined as arithmetic
, the symbol is rotated from east in a counter-clockwise direction where east is the 0° axis. If the rotation
is defined as geographic
, the symbol is rotated from north in a clockwise direction where north is the 0° axis. The rotation
property is a constant value or an expression that derives the angle of rotation based on the feature attribute value. When an attribute name is specified in rotation
, it's enclosed in square brackets, for example, [
.
{
"type" : "simple",
"symbol" : <symbol>,
"label" : "<label>",
"description" : "<description>",
"rotationType": "<arithmetic | geographic>",
"rotationExpression": "<expression>"
}
Unique value renderer
A unique value renderer symbolizes groups of features that have matching field values. The type property for unique value renderers is uniqueValue. The rotationType property controls the origin and direction of rotation. If the rotationType is defined as arithmetic, the symbol is rotated from east in a counter-clockwise direction where east is the 0° axis. If the rotationType is defined as geographic, the symbol is rotated from north in a clockwise direction where north is the 0° axis. The rotation
property is a constant value or an expression that derives the angle of rotation based on the feature attribute value. When an attribute name is specified in rotation
, it's enclosed in square brackets, for example, [
.
{
"type" : "uniqueValue",
"field1" : "<field1>",
"field2" : "<field2>",
"field3" : "<field3>",
"fieldDelimiter" : "<fieldDelimiter>",
"defaultSymbol" : <symbol>,
"defaultLabel" : "<defaultLabel>",
"uniqueValueInfos" : [
{
"value" : "<value1>",
"label" : "<label1>",
"description" : "<description1>",
"symbol" : <symbol1>
},
{
"value" : "<value2>",
"label" : "<label2>",
"description" : "<description2>",
"symbol" : <symbol2>
}
],
"rotationType": "<arithmetic | geographic>",
"rotationExpression": "<expression>"
}
Class breaks renderer
A class breaks renderer symbolizes each feature based on the value of some numeric field. The type property for class breaks renderer is classBreaks. The rotationType property controls the origin and direction of rotation. If the rotationType is defined as arithmetic, the symbol is rotated from east in a counter-clockwise direction where east is the 0° axis. If the rotationType is defined as geographic, the symbol is rotated from north in a clockwise direction where north is the 0° axis. The rotation
property is a constant value or an expression that derives the angle of rotation based on the feature attribute value. When an attribute name is specified in rotation
, it's enclosed in square brackets, for example, [
.
The classification
property determines the classification method that was used to generate class breaks. The normalization
property accepts either normalization
, normalization
, and normalization
. Use normalization
to determine how the data was normalized. If normalization
is missing, it means no normalization was applied. When normalization
is esri
, use normalization
to determine the field used to normalize the data. When normalization
is esri
, use normalization
to determine the total value. The default
property symbolizes features whose value does not belong in any of the specified class
. The background
property symbolizes polygon features with proportional symbols, use background
to specify a simple fill symbol to represent polygon features, and use marker symbols of varying sizes in class
to indicate the quantity.
{
"type": "classBreaks",
"field": "<field>",
"classificationMethod": "<classification method>",
"normalizationType": "<esriNormalizeByField | esriNormalizeByLog | esriNormalizeByPercentOfTotal>",
"normalizationField": "<normalization field>", //when normalizationType is esriNormalizeByField
"normalizationTotal": <total value>, //when normalizationType is esriNormalizeByPercentOfTotal
"defaultSymbol": <symbol>,
"defaultLabel": "<label>",
"backgroundFillSymbol": <simple fill symbol>, //supported only for polygon features
"minValue": <minValue>, //when missing, it defaults to 0
"classBreakInfos": [
{
"classMaxValue": <classMaxValue1>,
"label": "<label1>",
"description": "<description1>",
"symbol": <symbol1>
},
{
"classMaxValue": <classMaxValue2>,
"label": "<label2>",
"description": "<description2>",
"symbol": <symbol2>
}
],
"rotationType": "<arithmetic | geographic>",
"rotationExpression": "<expression>"
}