This document discusses the JSON renderer objects as returned by the REST API.
The following renderers are discussed here:
A renderer that uses one symbol only.
The type property for simple renderers is simple.
{
"type" : "simple",
"symbol" : <symbol>,
"label" : "<label>",
"description" : "<description>"
}
{
"type": "simple",
"symbol":
{
"type": "esriSMS",
"style": "esriSMSCircle",
"color": [255,0,0,255],
"size": 5,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"outline":
{
"color": [0,0,0,255],
"width": 1
}
},
"label": "",
"description": ""
}
A unique value renderer symbolizes groups of features that have matching field values.
The type property for unique value renderers is uniqueValue.
{
"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>
}
]
}
{
"type" : "uniqueValue",
"field1" : "SubtypeCD",
"field2" : null,
"field3" : null,
"fieldDelimiter" : ", ",
"defaultSymbol" :
{
"type" : "esriSLS",
"style" : "esriSLSSolid",
"color" : [130,130,130,255],
"width" : 1
},
"defaultLabel" : "\u003cOther values\u003e",
"uniqueValueInfos" : [
{
"value" : "1",
"label" : "Duct Bank",
"description" : "Duct Bank description",
"symbol" :
{
"type" : "esriSLS",
"style" : "esriSLSDash",
"color" : [76,0,163,255],
"width" : 1
}
},
{
"value" : "2",
"label" : "Trench",
"description" : "Trench description",
"symbol" :
{
"type" : "esriSLS",
"style" : "esriSLSDot",
"color" : [115,76,0,255],
"width" : 1
}
}
]
}
A class breaks renderer symbolizes each feature based on the value of some numeric field. The type property for class breaks renderers is classBreaks.
New in 10.1
classificationMethod: Use classificationMethod to determine the classification method that was used to generate class breaks.normalizationField, normalizationType, and normalizationTotal: Use normalizationType to determine how the data was normalized. If this property is missing then it means no normalization was applied. When normalization type is "esriNormalizeByField", use normalizationField to determine the field used to normalize the data. When normalization type is "esriNormalizeByPercentOfTotal", use normalizationTotal to determine the total value. classMinValue: Use classMinValue to specify discontinuous class breaks. If this value is null or is missing then map server would calculate minimum value based on the preceding class maximum value.defaultSymbol: Use defaultSymbol to symbolize features whose value does not belong in any of the specified classBreaks.backgroundFillSymbol: To symbolize polygon features with proportional symbols, use backgroundFillSymbol to specify a simple fill symbol to represent polygon features and use marker symbol of varying sizes in classBreakInfos 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>,
"classBreakInfos" : [
{
"classMinValue" : <classMinValue1>, //optional
"classMaxValue" : <classMaxValue1>,
"label" : "<label1>",
"description" : "<description1>",
"symbol" : <symbol1>
},
{
"classMinValue" : <classMinValue2>,
"classMaxValue" : <classMaxValue2>,
"label" : "<label2>",
"description" : "<description2>",
"symbol" : <symbol2>
}
]
}
defaultSymbol.
{
"type" : "classBreaks",
"field" : "Shape.area",
"classificationMethod" : "esriClassifyManual",
"defaultSymbol": {
"type": "esriSFS",
"style": "esriSFSDiagonalCross",
"color": [255,0,0,255],
"outline": {
"type": "esriSLS",
"style": "esriSLSSolid",
"color": [110,110,110,255],
"width": 0.5
}
}
"minValue" : 10.0,
"classBreakInfos" : [
{
"classMaxValue" : 1000,
"label" : "10.0 - 1000.000000",
"description" : "10 to 1000",
"symbol" :
{
"type" : "esriSFS",
"style" : "esriSFSSolid",
"color" : [236,252,204,255],
"outline" :
{
"type" : "esriSLS",
"style" : "esriSLSSolid",
"color" : [110,110,110,255],
"width" : 0.4
}
}
},
{
"classMaxValue" : 5000,
"label" : "1000.000001 - 5000.000000",
"description" : "1000 to 5000",
"symbol" :
{
"type" : "esriSFS",
"style" : "esriSFSSolid",
"color" : [218,240,158,255],
"outline" :
{
"type" : "esriSLS",
"style" : "esriSLSSolid",
"color" : [110,110,110,255],
"width" : 0.4
}
}
},
{
"classMinValue" : 8000,
"classMaxValue" : 10000,
"label" : "8000.000001 - 10000.000000",
"description" : "1000 to 5000",
"symbol" :
{
"type" : "esriSFS",
"style" : "esriSFSSolid",
"color" : [255,255,0,255],
"outline" :
{
"type" : "esriSLS",
"style" : "esriSLSSolid",
"color" : [110,110,110,255],
"width" : 0.4
}
}
}
]
}