This document discusses the JSON labeling objects as returned by the REST API.
The following objects are discussed here:
Label placement is represented as a literal string. It specifies the placement of the label with respect to that of its feature. Below is a list of label placement values categorized by the geometry type of the feature.
| Label Placement Values For Point Features | ||
|---|---|---|
| esriServerPointLabelPlacementAboveCenter | esriServerPointLabelPlacementAboveLeft | esriServerPointLabelPlacementAboveRight |
| esriServerPointLabelPlacementBelowCenter | esriServerPointLabelPlacementBelowLeft | esriServerPointLabelPlacementBelowRight |
| esriServerPointLabelPlacementCenterCenter | esriServerPointLabelPlacementCenterLeft | esriServerPointLabelPlacementCenterRight |
| Label Placement Values For Line Features | ||
| esriServerLinePlacementAboveAfter | esriServerLinePlacementAboveAlong | esriServerLinePlacementAboveBefore |
| esriServerLinePlacementAboveStart | esriServerLinePlacementAboveEnd | |
| esriServerLinePlacementBelowAfter | esriServerLinePlacementBelowAlong | esriServerLinePlacementBelowBefore |
| esriServerLinePlacementBelowStart | esriServerLinePlacementBelowEnd | |
| esriServerLinePlacementCenterAfter | esriServerLinePlacementCenterAlong | esriServerLinePlacementCenterBefore |
| esriServerLinePlacementCenterStart | esriServerLinePlacementCenterEnd | |
| Label Placement Values For Polygon Features | ||
| esriServerPolygonPlacementAlwaysHorizontal | ||
A label class specifies the label definition for a given scale range.
New in 10.1
where: Use where to determine the features that are labeled with the label class that contains it.
labelExpression to adjust the formatting of labels. A label expression is limited to a single line of code. Apart from specifying a string value and/or an attribute field value, the following keywords are supported:
| Keyword | Description |
|---|---|
| CONCAT | Concatenate two values. Example: "\"State: \" CONCAT [State_Name]". |
| NEWLINE | Insert a new line. Example: "\"State: \" CONCAT NEWLINE CONCAT [State_Name]". |
| UCASE([Field]) | Convert string value to uppercase string. Example: "\"State: \" CONCAT UCASE([State_Name])". |
| LCASE([Field]) | Convert string value to lowercase string. Example: "\"State: \" CONCAT LCASE([State_Name])". |
| ROUND([Field], n) | Round a decimal number to set number of decimals as specified by (n). Example: "\"Area: \" CONCAT ROUND([Area], 3)". |
| FORMATDATETIME([Field], "FormatString") | Format a date/time value with the specified format (FormatString*). The following keywords are recognized: d - day of the month ddd - abbreviated day of the week dddd - full day of the week M - month in number MMM - abbreviated month name MMMM - full month name y - two digit year yyyy - four digit year h - hour in 12-hour format H - hour in 24-hour format m - two digit minute s - two digit second Example: "\"Date Modified: \" CONCAT FORMATDATETIME([modified],\"dddd, MMM d, yyyy\")" |
{
"labelPlacement" : "<labelPlacement>",
"labelExpression" : "<labelExpression>",
"useCodedValues": <true | false>
"symbol" : "<textSymbol>",
"minScale" : <minScale>,
"maxScale" : <maxScale>,
"where" : "<where clause>"
}
{
"labelPlacement": "esriServerPointLabelPlacementAboveRight",
"labelExpression": "[NAME]",
"useCodedValues": false,
"symbol": {
"type": "esriTS",
"color": [38,115,0,255],
"backgroundColor": null,
"borderLineColor": null,
"verticalAlignment": "bottom",
"horizontalAlignment": "left",
"rightToLeft": false,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"kerning": true,
"font": {
"family": "Arial",
"size": 11,
"style": "normal",
"weight": "bold",
"decoration": "none"
}
},
"minScale": 0,
"maxScale": 0,
"where" : "NAME LIKE 'A%'" //label only those feature where name begins with A
}
The labeling info object specifies the label definition for a layer. It is expressed as an array of label classes.
[
{
"labelPlacement": "esriServerPolygonPlacementAlwaysHorizontal",
"labelExpression": "[TAG]",
"useCodedValues": false,
"symbol": {
"type": "esriTS",
"color": [78,78,78,255],
"backgroundColor": null,
"borderLineColor": null,
"verticalAlignment": "bottom",
"horizontalAlignment": "left",
"rightToLeft": false,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"font": {
"family": "Arial",
"size": 12,
"style": "normal",
"weight": "bold",
"decoration": "none"
}
},
"minScale": 1999,
"maxScale": 0,
"where": ""
},
{
"labelPlacement": "esriServerPolygonPlacementAlwaysHorizontal",
"labelExpression": "[TAG]",
"useCodedValues": true,
"symbol": {
"type": "esriTS",
"color": [78,78,78,255],
"backgroundColor": null,
"borderLineColor": null,
"verticalAlignment": "bottom",
"horizontalAlignment": "left",
"rightToLeft": false,
"angle": 0,
"xoffset": 0,
"yoffset": 0,
"font": {
"family": "Arial",
"size": 12,
"style": "normal",
"weight": "bold",
"decoration": "none"
}
},
"minScale": 0,
"maxScale": 7100,
"where": ""
}
]