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: \" NEWLINE [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": "" } ]