This manual describes the available properties for controlling labeling in your ArcGIS Maps SDKs for Native Apps application. For the purposes of labeling, graphics generated by ArcGIS Maps SDKs for Native Apps are treated as if they are features. References to features within this document can be assumed to refer to both features and graphics.
1.0 Label PropertiesA list of all supported ArcGIS Maps SDK for Native Apps labeling properties, their values and ArcGIS Pro export interpretations.
1.1.0angle
The angular positions and layout directions for labels on or around point feature symbols.
This optional object specifies how to position a label following the direction of an angle. The angular position may be different for each feature (driven by one or more feature attributes) or constant for all features (specified by a fixed number).
The LabelDefinition.placement
will still be used to indicate whether offset or centered positioning is required, but the exact position will be overridden by the angle calculated for the feature. Once the position has been determined, LabelDefinition.textLayout
and LabelDefinition.textOrientation
are used to specify the layout of the text at that position.
LabelAngle
null
"labelAngleInfo": { "angleExpressionInfo": {"expression": "iif($feature.type IS 11, $feature.SITE_ANGLE, 90-2*$feature["other angle"])","returnType": "number"},"rotationType": "arithmetic"}
1.1.2 Property values Values Summary angleExpression
Specifies how the angle (in degrees) is calculated from the feature attributes,using an Arcade expression. rotationType
Whether the angle should be interpreted as arithmetic or geographic. 1.1.3 Other property relationships
1.1.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property angle
.
angle
rotation expression
angle.angleExpression
rotation field AND additional rotation
angle.angleExpression
rotation type
angle.rotationType
1.1.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property angle
.
angle
place label at specified angles AND angle count MORE THAN 0
angle.angleExpression
place label at an angle specified by a field
angle.angleExpression
1.2.0 deconflictionStrategy
The strategy for moving labels to avoid overlapping feature, annotation, dimension or graphic symbols or higher priority labels. In 3D LabelDeconflictionStrategy.static
is selected by default.
The default is LabelDeconflictionStrategy.automatic
(which will be interpreted as LabelDeconflictionStrategy.static
i.e. use preferred location unless it would overlap an obstacle).
LabelDeconflictionStrategy
static
"deconflictionStrategy":"dynamic"
1.2.2 Property values Values Summary automatic
The label will use the default deconfliction strategy (LabelDeconflictionStrategy.static)
. dynamic
Place the label in the preferred location, but move to an alternative location to not overlap higher priority labels or feature/graphic symbols. none
Place the label in the preferred location, regardless of overlaps with other features, graphics or labels. static
Place the label in the preferred location, unless it would overlap a higher priority label or feature/graphic symbol. dynamicNeverRemove
Place the label in the preferred location, but move to an alternative location to minimize overlapping higher priority labels or feature/graphic symbols. 1.2.3 Other property relationships
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property deconflictionStrategy
.
deconflictionStrategy
position IS offset label around the point AND zone count MORE THAN 1 AND never remove IS true
dynamicNeverRemove
position IS offset label around the point AND zone count MORE THAN 1 AND never remove IS false
dynamic
(position IS centered label OR (position IS offset label around the point AND zone count EQUALS 1)) AND never remove IS true
none
(position IS centered label OR (position IS offset label around the point AND zone count EQUALS 1)) AND never remove IS false
static
Position options (line features)
deconflictionStrategy
offset along line IS best position AND never remove IS true
dynamicNeverRemove
offset along line IS best position AND never remove IS false
dynamic
offset along line IS before/after start/finish position AND never remove IS true
none
offset along line IS before/after start/finish position AND never remove IS false
static
Position options (polygon features)
deconflictionStrategy
place label at fixed position IS true AND never remove IS true
none
place label at fixed position IS true AND never remove IS false
static
place label at fixed position IS false AND never remove IS true
dynamicNeverRemove
place label at fixed position IS false AND never remove IS false
dynamic
1.2.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property deconflictionStrategy
.
deconflictionStrategy
priority zone count MORE THAN 1 AND place overlapping labels IS true
dynamicNeverRemove
priority zone count MORE THAN 1 AND place overlapping labels IS false
dynamic
zones or angles count EQUAL TO 1 AND place overlapping labels IS true
none
zones or angles count EQUAL TO 1 AND place overlapping labels IS false
static
Position options (line features)
deconflictionStrategy
position IS horizontal AND place overlapping labels IS true
dynamicNeverRemove
position IS horizontal AND place overlapping labels IS false
dynamic
position IS parallel AND location along the line IS at best AND place overlapping labels IS true
dynamicNeverRemove
position IS parallel AND location along the line IS at best AND place overlapping labels IS false
dynamic
position IS parallel AND location along the line IS NOT at best AND place overlapping labels IS true
none
position IS parallel AND location along the line IS NOT at best AND place overlapping labels IS false
static
position IS curved AND place overlapping labels IS true
dynamicNeverRemove
position IS curved AND place overlapping labels IS false
dynamic
position IS perpendicular AND location along the line IS at best AND place overlapping labels IS true
dynamicNeverRemove
position IS perpendicular AND location along the line IS at best AND place overlapping labels IS false
dynamic
position IS perpendicular AND location along the line IS NOT at best AND place overlapping labels IS true
none
position IS perpendicular AND location along the line IS NOT at best AND place overlapping labels IS false
static
Position options (polygon features)
deconflictionStrategy
place overlapping labels IS true
none
place overlapping labels IS false
static
1.3.0 expression
The expression script used to calculate the label text.
The expression may be a combination of literal text and attribute values from the feature being labeled. The syntax of the expression is determined by which label expression object is used: ArcadeLabelExpression
, SimpleLabelExpression
or WebmapLabelExpression
.
A label expression using one scripting language can be replaced by an expression using a different scripting language just by creating an object of the new LabelExpression
subclass and assigning it to LabelDefinition.expression
.
The default value is an empty ArcadeLabelExpression
, which will evaluate to an empty text label.
The expression needs to create a text string which will be used as the label text. The text string can be any legal UTF16 characters.
The text string can also include HTML-style formatting tags e.g.
"Hello <BOL>World</BOL>"
where the angle-bracketed tags will not appear in the label, but may change the presentation of the text. In the example, the "World" will appear in bold.
The available tags are:
"<BOL></BOL>"
for bold text"<UND></UND>"
for underlined text"<ITA></ITA>"
for italic text"<CLR red='256'></CLR>"
for colored text"<FNT name='Arial' size='18'></FNT>"
for text using a different size or font (if available on client).Tags can be upper or lower case, but not a mixture. Tags can be nested e.g. "<ITA>Hello <BOL>World</BOL></ITA>"
.
Full documentation of the tag parameters is available in the document Text formatting tags.
NoteNot all ArcGIS Pro tags are currently supported in the ArcGIS Maps SDKs for Native Apps. The <CLR>
tag is currently only supported for text in 2D views. Any unsupported tags are ignored and will not written as part of the label text.
LabelExpression
"labelExpressionInfo":{"expression":"round($feature.length,2) + "m^2""}
1.3.2 Property values Values Summary expression
The label expression script string. objectType
The type of the label expression. 1.3.3 Other property relationships
None
1.3.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property expression
.
expression
expression AND language IS arcade
expression.arcadeExpression
expression IS single field AND language NOT arcade
expression.simpleExpression
1.3.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property expression
.
expression
expression AND language IS arcade
expression.arcadeExpression
expression IS single field AND language NOT arcade
expression.simpleExpression
1.4.0 featureBoundaryOverlapStrategy
The strategy for whether other labels are allowed to overlap the boundary of polygon features/graphics being labeled by this LabelDefinition
. In 3D scenes, labels will be allowed to overlap the boundaries of polygon features.
The default is LabelOverlapStrategy.automatic
, which will give the same behavior as LabelOverlapStrategy.allow
.
LabelOverlapStrategy
allow
"allowOverlapOfFeatureBoundary":"avoid"
1.4.2 Property values Values Summary automatic
The other label will use the default overlap behavior which depends on the object being overlapped. allow
The other label will be allowed to place itself in its preferred location, ignoring this obstacle. avoid
The other label will move to minimize overlapping this obstacle, but will overlap if necessary. exclude
The other label will not be placed rather than overlap this obstacle. 1.4.3 Other property relationships
1.4.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property featureBoundaryOverlapStrategy
.
featureBoundaryOverlapStrategy
polygon boundary weight IS 0
allow
polygon boundary weight IS 1..999
avoid
polygon boundary weight IS 1000
exclude
1.4.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property featureBoundaryOverlapStrategy
.
None, not supported for featureBoundaryOverlapStrategy
featureInteriorOverlapStrategy
The strategy for whether other labels are allowed to overlap the interior of polygon features/graphics being labeled by this LabelDefinition
. In 3D scenes, labels will be allowed to overlap the interiors of polygon features.
The default is LabelOverlapStrategy.automatic
which will give the same behavior as LabelOverlapStrategy.allow
.
LabelOverlapStrategy
allow
"allowOverlapOfFeatureInterior":"exclude"
1.5.2 Property values Values Summary automatic
The other label will use the default overlap behavior which depends on the object being overlapped. allow
The other label will be allowed to place itself in its preferred location, ignoring this obstacle. avoid
The other label will move to minimize overlapping this obstacle, but will overlap if necessary. exclude
The other label will not be placed rather than overlap this obstacle. 1.5.3 Other property relationships
1.5.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property featureInteriorOverlapStrategy
.
featureInteriorOverlapStrategy
feature weight IS 0
allow
feature weight IS 1..999
avoid
feature weight IS 1000
exclude
1.5.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property featureInteriorOverlapStrategy
.
featureInteriorOverlapStrategy
feature weight IS none
allow
feature weight IS low
allow
feature weight IS medium
avoid
feature weight IS high
exclude
1.6.0 labelOverlapStrategy
The strategy for whether other labels are allowed to overlap labels created by this LabelDefinition
. In 3D, labels will not be allowed to overlap other labels. Overlapping labels will not be displayed until the user zooms in further so that the labels don't overlap.
The default is LabelOverlapStrategy.automatic
which will give the same behavior as LabelOverlapStrategy.exclude
.
LabelOverlapStrategy
exclude
"allowOverlapOfLabel":"avoid"
1.6.2 Property values Values Summary automatic
The other label will use the default overlap behavior which depends on the object being overlapped. allow
The other label will be allowed to place itself in its preferred location, ignoring this obstacle. avoid
The other label will move to minimize overlapping this obstacle, but will overlap if necessary. exclude
The other label will not be placed rather than overlap this obstacle. 1.6.3 Other property relationships
None
1.6.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property labelOverlapStrategy
.
labelOverlapStrategy
background label IS true
allow
background label IS false
exclude
1.6.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property labelOverlapStrategy
.
labelOverlapStrategy
label weight IS low
allow
label medium IS medium
avoid
label high IS high
exclude
1.7.0 lineConnection
The strategy for whether line features with the same label, and matching end vertices, should be joined before sharing a label. 3D line features will be treated as independent features with their own label.
The default is LabelLineConnection.automatic
, which will be interpreted as LabelLineConnection.minimizeLabels
.
LabelLineConnection
minimizeLabels
"lineConnection": "minimizeLabels"
1.7.2 Property values Values Summary automatic
The default approach for connectable features is to connect them (LabelLineConnection.minimizeLabels
) minimizeLabels
Line geometries with the same label and coincident end vertices should be considered together as a single, continuous geometry when placing labels. none
Keep one label per line feature geometry. unambiguousLabels
Line geometries with the same label and coincident end vertices should be joined, until they hit a junction. 1.7.3 Other property relationships
None
1.7.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property lineConnection
.
lineConnection
connect features IS false
none
connect features IS true AND line connection IS minimize labels
minimizeLabels
connect features IS true AND line connection IS unambiguous
unambiguousLabels
1.7.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property lineConnection
.
lineConnection
default
none
1.8.0 maxScale
The maximum scale at which labels will be visible. In 3D scenes,the scale range is between individual label and view plane instead of map and view plane.
Labels will only be visible when the viewing scale is smaller than (or equal to) the maxScale.
For example, if the viewing scale is 1:12000 and the LabelDefinition.maxScale
is 1:10000, then the labels will be visible (because 1/12000 < 1/10000). A LabelDefinition.maxScale
of 0, which is the default, indicates no upper limit on the viewing scale.
double
0
"maxScale": 10000
1.8.2 Property values Values Summary 0
Always visible at all scales GREATER THAN 0
Show label when viewing scale is less than or equal to maxScale
1.8.3 Other property relationships
None
1.8.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property maxScale
.
maxScale
in beyond value
maxScale value
1.8.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property maxScale
.
maxScale
in beyond value
maxScale value
1.9.0 minScale
The minimum scale at which labels will be visible. In 3D scenes, the scale range is between individual label and view plane instead of map and view plane.
Labels will only be visible when the viewing scale is larger than (or equal to) the minScale.
For example, if the viewing scale is 1:12000 and the LabelDefinition.minScale
is 1:20000, then the labels will be visible (because 1/12000 > 1/20000). A LabelDefinition.minScale
of 0, which is the default, indicates no lower limit on the viewing scale.
double
0
"minScale": 1250000
1.9.2 Property values Values Summary 0
Always visible at all scales GREATER THAN 0
Show label when viewing scale is greater than or equal to minScale
1.9.3 Other property relationships
None
1.9.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property minScale
.
minScale
out beyond value
minScale value
1.9.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property minScale
.
minScale
out beyond value
minScale value
1.10.0 multipartStrategy
The strategy for how many labels should be placed on each polyline or polygon (multi-ring) feature.
The default is LabelMultipartStrategy.automatic
.
LabelMultipartStrategy
labelPerPart
"multiPart": "labelPerPart"
1.10.2 Property values Values Summary automatic
Labeling will use the default distribution of labels across multi-part features. labelLargest
If a feature consists of multiple parts, only the largest one will be assigned a label. labelPerFeature
One label per feature, but not supported yet in ArcGIS Maps SDK for Native Apps. labelPerPart
If a feature consists of multiple geometries, each geometry will be assigned a label. labelPerSegment
One label per segment, but not supported yet in ArcGIS Maps SDK for Native Apps. 1.10.3 Other property relationships
None
1.10.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property multipartStrategy
.
multipartStrategy
label largest feature part IS true
labelLargest
label largest feature part IS false
labelPerPart
1.10.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property multipartStrategy
.
multipartStrategy
remove all duplicates
labelLargest
one label per feature
labelLargest
one label per part
labelPerPart
1.11.0 name
Text name for the class of labels.
This name is assigned by the map author to clarify the purpose of this label definition. It is used for display or debugging purposes. If no name is explicitly assigned, then an empty text string is stored.
1.11.1 Overview Data Type Default Value JSON ExampleString
"name": "Perimeter length"
1.11.2 Property values Values Summary
no name industrial buildings
typical name buildings-commercial-retail
more specific name 1.11.3 Other property relationships
None
1.11.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property name
.
name
name
name
1.11.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property name
.
name
name
name
1.12.0 offsetDistance
The distance (in points i.e. 1/72 inches) that text should be moved away from its features.
The distance is measured from the point symbol radius or line feature symbology edge. The distance is measured on the screen (i.e. not in the map) in points, comparable to the text font size.
This can be a negative value, to pull the label closer to the feature if, for example, the average size for a point symbol is overly conservative for the actual graphic shown.
If no value is set, then 1 point is assumed.
1.12.1 Overview Data Type Default Value JSON Exampledouble
1
"offsetDistance": 5
1.12.2 Property values Values Summary number
signed numeric value 1.12.3 Other property relationships
None
1.12.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property offsetDistance
.
offsetDistance
preferred offset
offsetDistance
1.12.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property offsetDistance
.
None, not supported for offsetDistance
overrunStrategy
The strategy for whether a label will be visible at scales where the feature is too small for the label to fit. Not supported by 3D scenes.
The default is LabelOverrunStrategy.automatic
which will give different behavior depending on the type of feature that the label might overrun.
LabelOverrunStrategy
automatic
"allowOverrun": false
1.13.2 Property values Values Summary automatic
The label will use the default overrun behavior which depends on the object being overrun.This value corresponds to no value being specified for the LabelDefinition.overrunStrategy
property. none
The label cannot run past the ends of its line geometry or edges of its polygon geometry. allow
The label can run past the ends of its line geometry or edges or its polygon geometry. 1.13.3 Other property relationships
None
1.13.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property overrunStrategy
.
overrunStrategy
offset along line IS best position AND maximum IS MORE THAN 0
allow
offset along line IS best position AND never remove IS true
allow
offset along line IS best position AND never remove IS false AND maximum IS 0
none
overrun (polygon features)
overrunStrategy
maximum IS EQUAL TO 0
allow
maximum IS LESS THAN 0
none
1.13.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property overrunStrategy
.
overrunStrategy
location along the line IS at best AND place overlapping labels IS true
allow
location along the line IS at best AND place overlapping labels IS false
none
only place label inside polygon (polygon features)
overrunStrategy
true
none
false
allow
1.14.0 placement
The preferred position of the text label, with respect to its feature geometry.
The default is LabelingPlacement.automatic
. The effect of this is the same as one of the following, depending on the type of feature geometry:
LabelingPlacement.pointAboveRight
for point featuresLabelingPlacement.polygonAlwaysHorizontal
for polygon featuresLabelingPlacement.lineAboveAlong
for line featuresLabelingPlacement
automatic
"labelPlacement": "esriServerPolygonPlacementAlwaysHorizontal"
1.14.2 Property values Values Summary automatic
Default position for the label, dependent on the type of feature being labeled. unknown
Preferred placement position has not been specified. lineAboveAfter
Lower-left corner of label is at final geometry coord; label extrapolates the last geometry segment. lineAboveAlong
Lower midpoint of label prefers the midpoint of the geometry; label follows the geometry segments. lineAboveBefore
Lower right corner of label is at first geometry coord; label extrapolates the first geometry segment. lineAboveEnd
Lower right corner of label is at final geometry coord; label follows the last geometry segments. lineAboveStart
Lower left corner of label is at first geometry coord, label follows the first geometry segments. lineBelowAfter
Upper left corner of label is at final geometry coord, label extrapolates the last geometry segment. lineBelowAlong
Upper midpoint of label prefers the midpoint of the geometry, label follows the geometry segments. lineBelowBefore
Upper right corner of label is at first geometry coord, label extrapolates the first geometry segment. lineBelowEnd
Upper right corner of label is at final geometry coord, label follows the last geometry segments. lineBelowStart
Upper left corner of label is at first geometry coord, label follows the first geometry segments. lineCenterAfter
Left midpoint of label is at final geometry coord, label extrapolates the last geometry segment. lineCenterAlong
Center of label prefers the midpoint of the geometry, label follows the geometry segments. lineCenterBefore
Right midpoint of label is at first geometry coord, label extrapolates the first geometry segment. lineCenterEnd
Right midpoint of label is at final geometry coord, label follows the last geometry segments. lineCenterStart
Left midpoint of label is at first geometry coord, label follows the first geometry segments. pointAboveCenter
Lower midpoint of label is offset north of point symbol. pointAboveLeft
Lower-right corner of the label is offset northwest of point symbol. pointAboveRight
Lower left corner of the label is offset North-east of point symbol. pointBelowCenter
Upper midpoint of label is offset South of point symbol. pointBelowLeft
Upper right corner of the label is offset South-west of point symbol. pointBelowRight
Upper left corner of the label is offset South-east of point symbol. pointCenterCenter
Center of label is placed on geometry point. pointCenterLeft
Right midpoint of label is offset West of point symbol. pointCenterRight
Left midpoint of label is offset East of point symbol. polygonAlwaysHorizontal
Center of label is as far inside polygon as possible. 1.14.3 Other property relationships
1.14.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property placement
.
placement
placement IS best position AND north zone IS highest priority
pointAboveCenter
placement IS best position AND north east zone IS highest priority
pointAboveRight
placement IS best position AND east zone IS highest priority
pointCenterRight
placement IS best position AND south east zone IS highest priority
pointBelowRight
placement IS best position AND south zone IS highest priority
pointBelowCenter
placement IS best position AND south west zone IS highest priority
pointBelowLeft
placement IS best position AND west zone IS highest priority
pointCenterLeft
placement IS best position AND north west zone IS highest priority
pointAboveLeft
placement IS centered on point
pointCenterCenter
placement IS top of point
pointAboveCenter
placement IS top right of point
pointAboveRight
placement IS right of point
pointCenterRight
placement IS bottom right of point
pointBelowRight
placement IS bottom of point
pointBelowCenter
placement IS bottom left of point
pointCenterLeft
placement IS left of point
pointAboveLeft
placement IS top left of point
pointAboveLeft
Label placement (line features)
placement
placement IS offset AND constrain offset IS above line AND offset along line IS best position
aboveAlong
placement IS offset AND constrain offset IS left of line AND offset along line IS best position
aboveAlong
placement IS offset AND constrain offset IS below line AND offset along line IS best position
belowAlong
placement IS offset AND constrain offset IS right of line AND offset along line IS best position
belowAlong
placement IS offset AND constrain offset IS above line AND offset along line IS before start of line
aboveBefore
placement IS offset AND constrain offset IS above line AND offset along line IS along line from start
aboveStart
placement IS offset AND constrain offset IS above line AND offset along line IS best position
aboveAlong
placement IS offset AND constrain offset IS above line AND offset along line IS along line from end
aboveEnd
placement IS offset AND constrain offset IS above line AND offset along line IS after end of line
aboveAfter
placement IS center AND offset along line IS before start of line
centerBefore
placement IS center AND offset along line IS along line from start
centerStart
placement IS center AND offset along line IS best position
centerAlong
placement IS center AND offset along line IS along line from end
centerEnd
placement IS center AND offset along line IS after end of line
centerAfter
placement IS offset AND constrain offset IS below line AND offset along line IS before start of line
belowBefore
placement IS offset AND constrain offset IS below line AND offset along line IS along line from start
belowStart
placement IS offset AND constrain offset IS below line AND offset along line IS best position
belowAlong
placement IS offset AND constrain offset IS below line AND offset along line IS along line from end
belowEnd
placement IS offset AND constrain offset IS below line AND offset along line IS after end of line
belowAfter
Label placement (polygon features)
placement
default
polygonCenterHorizontal
1.14.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property placement
.
placement
place label on top of point IS true
pointCenterCenter
place label at specified angles
pointAboveRight
place label at an angle specified by a field
pointAboveRight
offset label horizontally around the point AND north zone is highest priority
pointAboveCenter
offset label horizontally around the point AND north east zone is highest priority
pointAboveRight
offset label horizontally around the point AND east zone is highest priority
pointCenterRight
offset label horizontally around the point AND south east zone is highest priority
pointBelowRight
offset label horizontally around the point AND south zone is highest priority
pointBelowCenter
offset label horizontally around the point AND south west zone is highest priority
pointBelowLeft
offset label horizontally around the point AND west zone is highest priority
pointCenterLeft
offset label horizontally around the point AND north west zone is highest priority
pointAboveLeft
Label placement (line features)
placement
align to IS line AND left of the line IS true AND location along line IS at start
lineAboveStart
align to IS line AND left of the line IS true AND location along line IS at best
lineAboveAlong
align to IS line AND left of the line IS true AND location along line IS at end
lineAboveEnd
align to IS line AND on the line IS true AND location along line IS at start
lineCenterStart
align to IS line AND on the line IS true AND location along line IS at best
lineCenterAlong
align to IS line AND on the line IS true AND location along line IS at end
lineCenterEnd
align to IS line AND right of line IS true AND location along line IS at start
lineBelowStart
align to IS line AND right of line IS true AND location along line IS at best
lineBelowAlong
align to IS line AND right of line IS true AND location along line IS at end
lineBelowEnd
align to IS page AND above the line IS true AND location along line IS at start
lineAboveStart
align to IS page AND above the line IS true AND location along line IS at best
lineAboveAlong
align to IS page AND above the line IS true AND location along line IS at end
lineAboveEnd
align to IS page AND on the line IS true AND location along line IS at start
lineCenterStart
align to IS page AND on the line IS true AND location along line IS at best
lineCenterAlong
align to IS page AND on the line IS true AND location along line IS at end
lineCenterEnd
align to IS page AND below the line IS true AND location along line IS at start
lineBelowStart
align to IS page AND below the line IS true AND location along line IS at best
lineBelowAlong
align to IS page AND below the line IS true AND location along line IS at end
lineBelowEnd
default (polygon features)
placement
default
polygonCenterHorizontal
1.15.0 priority
Defines which labels are placed first, and can also supplant existing lower-priority labels (e.g. during panning).
Lower values indicate more important labels i.e.:
If set to -1 or not set at all, then default values are used, depending on the geometry types of the features:
This value does not have to be an integer because it is just a continuum of values for comparison. Users can use this to specify that a class of labels should have priority between two other classes with close priorities.
For example, PreferredRoutes might be given priority 13 to appear ahead of general line feature labels, but after general point feature labels. And HistoricSites might be given priority 12.5 to appear ahead of PreferredRoute labels, but still after general point feature labels.
1.15.1 Overview Data Type Default Value JSON Exampledouble
-1
"priority": 30
1.15.2 Property values Values Summary -1
automatically calculate based on feature geometry type 0
most important 12
default priority for point features 15
default priority for line 18
default priority for polygon features 1.15.3 Other property relationships
1.15.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property priority
.
priority
label class priority order
priority
1.15.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property priority
.
priority
label class priority order
priority
1.16.0 removeDuplicatesDistance
A value that controls the duplicate thinning radius (in points i.e. 1/72 inches).
The distance is measured on the screen (i.e. not in the map) in points, comparable to the text font size. This value is only used if LabelDefinition.removeDuplicatesStrategy
is enabled. The default value is 0. This indicates that duplicates should be removed from the entire extent.
double
0
"removeDuplicatesDistance": 300
1.16.2 Property values Values Summary 0
all duplicates should be removed from the entire extent GREATER THAN 0
remove duplicate distance 1.16.3 Other property relationships
None
1.16.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property removeDuplicatesDistance
.
removeDuplicatesDistance
remove within fixed distance IS true AND search radius value
remove duplicate distance value converted to points
remove all IS true
0
1.16.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property removeDuplicatesDistance
.
removeDuplicatesDistance
default
0
1.17.0 removeDuplicatesStrategy
The strategy for whether labels are removed if other features have the same text label. This can reduce clutter and free up space.
The default is LabelRemoveDuplicatesStrategy.automatic
, which will be interpreted as LabelRemoveDuplicatesStrategy.none
indicating that all labels should be shown if possible.
The distance within which to look for duplicates is controlled by LabelDefinition.removeDuplicatesDistance
.
LabelRemoveDuplicatesStrategy
automatic
"removeDuplicates": "featureType"
1.17.2 Property values Values Summary automatic
The default approach to duplicate labels to is keep them (LabelRemoveDuplicatesStrategy.none)
. all
Remove nearby duplicate labels. featureType
Remove nearby duplicate labels, if they belong to the same Feature Type. labelClass
Remove nearby duplicate labels, if they below to the same Label Class. none
No duplicates should be removed. 1.17.3 Other property relationships
1.17.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property removeDuplicatesStrategy
.
removeDuplicatesStrategy
remove duplicate labels IS do not remove
none
remove duplicate labels IS remove within fixed distance
featureType
remove duplicate labels IS remove all
featureType
1.17.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property removeDuplicatesStrategy
.
removeDuplicatesStrategy
duplicate labels IS remove all duplicates
all
duplicate labels IS one label per feature
none
duplicate labels IS one label per part
none
1.18.0 repeatDistance
The distance apart (in points i.e. 1/72 inches) that the repetitions should be. In 3D scenes, only one label will be placed per line feature.
This value is only used if LabelDefinition.repeatStrategy
is enabled. The distance is measured on the screen along the line feature. As the user zooms in closer, two repetitions move further apart on the screen, until there is room for a new repetition between them. The default is 216 points i.e. line labels should be repeated approximately every 3 inches along long features.
The distance is considered a guide for the approximate label separation and should not be used for precise distance markings.
A distance of 0 disables label repetition.
1.18.1 Overview Data Type Default Value JSON Exampledouble
216
"repeatLabelDistance":200
1.18.2 Property values Values Summary positive number
a signed numeric value 1.18.3 Other property relationships
None
1.18.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property repeatDistance
.
repeatDistance
minimum interval
converted to repeatDistance point value
1.18.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property repeatDistance
.
None, not supported for repeatDistance
repeatStrategy
The strategy for whether a label should have multiple copies created and placed along or across the same feature. In 3D scenes, only label will be placed per line feature.
The default is LabelRepeatStrategy.automatic
.
The frequency of repetition is controlled by the LabelDefinition.repeatDistance
property.
This property is currently only supported for line features, but will be extended to polygons in the future.
1.19.1 Overview Data Type Default Value JSON ExampleLabelRepeatStrategy
automatic
"repeatLabel": true
1.19.2 Property values Values Summary automatic
Labeling will use the default repetition for the feature type. none
Only place one label per feature. repeat
Repeat the label along or across the feature. 1.19.3 Other property relationships
None
1.19.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property repeatStrategy
.
repeatStrategy
offset along line IS best position AND minimum interval MORE THAN 0
repeat
1.19.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property repeatStrategy
.
None, not supported for repeatStrategy
stackAlignment
The strategy for how multi-row (stacked) text should be aligned.
Multi-row text labels can be horizontally aligned on the left, right or at its center. This preference can be specified by the TextSymbol
assigned to the LabelDefinition
. By using the LabelDefinition
.stackAlignment property, the user can choose to use the TextSymbol
.horizontalAlignment property for all labels, or can choose to have the most aesthetic alignment calculated case-by-case for each label depending on its placement position around its feature. This is particularly useful for labels of dense point features, where labels may move above, below, left or right of their point symbol, in order to fit on the display.
The default value is LabelStackAlignment.automatic
(which will have the same effect on labels as LabelStackAlignment.textSymbol)
.
This property has no effect if LabelDefinition
.stackStrategy = LabelStackStrategy.none
.
LabelStackAlignment
textSymbol
"stackAlignment": "dynamic"
1.20.2 Property values Values Summary automatic
The default behavior is to use LabelStackAlignment.textSymbol
. dynamic
Set the alignment depending upon the label's position with respect to its feature. textSymbol
Follow the alignment specified by the TextSymbol.horizontalAlignment
. 1.20.3 Other property relationships
1.20.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property stackAlignment
.
stackAlignment
horizontal alignment IS choose best
dynamic
horizontal alignment IS constrain left or right
dynamic
horizontal alignment IS constrain left
textSymbol
horizontal alignment IS constrain right
textSymbol
horizontal alignment IS constrain center
textSymbol
1.20.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property stackAlignment
.
None, not supported for stackAlignment
stackRowLength
A value that limits the number of characters in a row of stacked text.
This length guides the decision on when to break long text strings into separate rows. The line break will be inserted between words, not in the middle of a word, so rows may be longer or shorter than the ideal. Depending on LabelDefinition.stackBreakPosition
, the break may be inserted before the breaking word, or after.
The default value is -1 which means to use a default length. It is currently 13 characters but may vary with feature-geometry in the future.
This property has no effect if LabelDefinition.stackStrategy
= LabelStackStrategy.none
.
double
-1
"stackRowLength": 20
1.21.2 Property values Values Summary -1
defaults to 13 characters GREATER THAN 1
row length 1.21.3 Other property relationships
1.21.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property stackRowLength
.
stackRowLength
maximum characters per line
stackRowLength
1.21.5 Standard labeling publishing rules
None, not supported for stackRowLength
stackSeparators
The stack separators that should be used for automatic line breaking of label text.
Each LabelStackSeparator
specifies a code point to be looked for in the text. A code point is often thought of as a single character in the text, but may need several chars in a String
to describe it. So each LabelStackSeparator.separator
is a String
intended to describe one code point.
For example:
LabelStackSeparator.separator
string would be just ","LabelStackSeparator.separator
would need to encode the code point with utf16 value "\u05c0" if your SDK uses utf16 strings (e.g. Java, C#) or with the utf8 string "\x30\x35\x63\x30" if your SDK uses utf8 stringsLabelStackSeparator.separator
would need to encode the code point with utf16 value "\ud800\udd01" if your SDK uses utf16 strings (e.g. Java, C#) or with the utf8 string "\xf0\x90\x84\x81" if your SDK uses utf8 stringsIf it is found, then the LabelStackSeparator
also specifies whether:
Three default separators are provided: a comma, a space, and a hyphen. Custom separators can be added, and default separators can be removed if not required.
NoteA carriage return (\n
) in the label will always be considered a forced separator.
This property has no effect if LabelDefinition.stackStrategy
= LabelStackStrategy.none
.
MutableArray<LabelStackSeparator>
[",", " ", "-"]
"stackSeparators": [{separator:" ",visible:true,forced:false,breakPosition:"after"}, {separator:";",visible:false,forced:false,breakPosition:"after"}]
1.22.2 Property values Values Summary labelStackSeparator.breakPosition
Gets or sets the position where the separator will be written, if used and remaining visible. labelStackSeparator.isForced
Gets or sets a value indicating whether a line break must be inserted when the Separator is encountered. isVisible
Gets or sets a value indicating whether the separator should still be visible, if chosen as a line break position. separator
Gets or sets a string intended to describe one code point. 1.22.3 Other property relationships
1.22.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property stackSeparators
.
stackSeparators
stacking separators
stackingSeparators
1.22.5 Standard labeling publishing rules
None, not supported for stackSeparators
stackStrategy
The strategy for whether the text should be stacked or wrapped, rather than placed as long trailing labels across the map.
This property controls whether stacking is allowed, or not, or should be calculated automatically based on feature type. The default is LabelStackStrategy.automatic
, meaning that stacking will be enabled for point and polygon features and disabled for line features.
LabelStackStrategy
automatic
"stackLabel": true
1.23.2 Property values Values Summary automatic
Stacking will be enabled for some feature types. none
The text should not be broken, no matter how long it is. allow
The label placement engine can break the text into two or more rows,if the rows are longer than the LabelDefinition.stackRowLength
limit. 1.23.3 Other property relationships
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property stackStrategy
.
stackStrategy
stack label IS true
allow
1.23.5 Standard labeling publishing rules
None, not supported for stackStrategy
textLayout
The layout of the text, which can be either horizontal, straight, perpendicular, or follow the line feature.
Optional specification of whether, once the text is positioned, it should be written:
The default is LabelTextLayout.automatic
, which will be interpreted as:
LabelTextLayout.horizontal
for labels attached to point featuresLabelTextLayout.followFeature
for labels attached to line featuresLabelTextLayout.horizontal
for labels attached to polygon featuresLabelTextLayout
automatic
"textLayout":"horizontal"
1.24.2 Property values Values Summary automatic
The text layout will be determined by the individual feature type. horizontal
Text will be written horizontally (with respect to the screen). perpendicular
Text will be written perpendicular to the LabelTextLayout.straight
text layout. straight
Text will be written along a straight line, following the point positioning angle or at a tangent to the line feature. followFeature
Text will bend to follow a curved or multi-segment line feature. 1.24.3 Other property relationships
1.24.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property textLayout
.
textLayout
alignment type IS horizontal
horizontal
alignment type IS straight
straight
alignment type IS perpendicular
perpendicular
Line layout (line features)
textLayout
placement IS centered straight
straight
placement IS centered curved
followFeature
placement IS centered perpendicular
perpendicular
placement IS centered horizontal
horizontal
placement IS offset straight
straight
placement IS offset curved
followFeature
placement IS offset perpendicular
perpendicular
placement IS offset horizontal
horizontal
Polygon layout (polygon features)
textLayout
default
horizontal
1.24.5 Standard labeling publishing rules
None, not supported for textLayout
textOrientation
The orientation of the text, which can be either angle direction or screen-oriented. Not supported by 3D scenes.
Optional specification of whether text should follow the placement angle direction even if it means being rendered upside-down, or whether text should be flipped through 180 degrees to keep it screen-oriented. This setting will take effect whenever the feature geometry determines that the text is angled upside-down, or if the map is rotated within the screen to make the text upside-down (with respect to the screen). The default is LabelTextOrientation.automatic
, which is interpreted as LabelTextOrientation.screen
.
LabelTextOrientation
automatic
"textOrientation":"direction"
1.25.2 Property values Values Summary automatic
Use the default text orientation (LabelTextOrientation.screen)
. direction
Text follows the placement angle direction, even if it means being drawn upside-down. screen
Text follows the screen orientation, and flips if necessary. 1.25.3 Other property relationships
1.25.4 Maplex labeling publishing rules
Outlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property textOrientation
.
textOrientation
keep label upright IS true
direction
keep label upright IS false
screen
1.25.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property textOrientation
.
textOrientation
default
page
1.26.0 textSymbol
The text symbol which describes the overall appearance of label text (e.g. font and size).
If no LabelDefinition.textSymbol
has been set, then no labels can be created.
TextSymbol
null
"symbol": {"type": "esriTS", "color": [78,0,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"}}
1.26.2 Property values Values Summary backgroundColor
The color for the text symbol background. color
The color for the text symbol. fontDecoration
The type of font decoration for the text symbol. fontFamily
The font family of the text symbol. fontStyle
The font style of the text symbol. fontWeight
The font weight of the text symbol. haloColor
The color for the halo around the text symbol. haloWidth
The size of the halo around the text symbol, in DIPs. horizontalAlignment
The horizontal alignment of the text symbol. kerningEnabled
If kerning needs to be enabled. It is disabled by default. outlineColor
The color for the text symbol outline. outlineWidth
The width of the text symbol outline, in DIPs. size
The font size of the text symbol. text
The text of the text symbol. verticalAlignment
The vertical alignment of the text symbol. 1.26.3 Other property relationships
None
1.26.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property textSymbol
.
textSymbol
exported as CIM, un-editable in ArcGIS SDK
1.26.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property textSymbol
.
textSymbol
exported as CIM, un-editable in ArcGIS SDK
1.27.0 useCodedValues
Specifies whether the data source should translate domain identifiers into meanings using a CodedValueDomain
.
For any translation to occur, the data source must have one or more CodedValueDomain
s set up for the attribute fields. The default value is true i.e. translation will be done.
This property only affects Simple label expressions. Arcade expressions can use functions to specify when code translations should be carried out. Coded value translation for Webmap expressions is not currently supported.
1.27.1 Overview Data Type Default Value JSON Examplebool
true
"useCodedValues": true
1.27.2 Property values Values Summary boolean
a true or false value 1.27.3 Other property relationships
None
1.27.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property useCodedValues
.
useCodedValues
language IS arcade
false
language IS NOT arcade
use coded value descriptions value
1.27.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property useCodedValues
.
useCodedValues
language IS arcade
false
language IS NOT arcade
use coded value descriptions value
1.28.0 whereClause
A SQL where clause expression that limits the set of features for which labels will be generated and placed.
This is a SQL where clause that can refer to the attributes of the feature. For example:
""
(no limitations)"NAME LIKE 'A%'"
(Only label features with NAME attribute values starting with 'A')"(LENGTH > CAPACITY) and (TYPE = 1)"
(Only label features whose attributes satisfy the SQL condition)The default value is ""
which will allow all features in the data source and extent to be labeled.
String
"where": "LENGTH > 0"
1.28.2 Property values Values Summary string
a string representation of the where clause query 1.28.3 Other property relationships
None
1.28.4 Maplex labeling publishing rulesOutlines which Maplex Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property whereClause
.
whereClause
new expression
whereClause value
1.28.5 Standard labeling publishing rules
Outlines which Standard labeling Label class property settings are required to achieve a desired value for the ArcGIS Maps SDKs for Native Apps labeling property whereClause
.
whereClause
new expression
whereClause value
2.0 Label Property relationships 2.1 priority x deconflictionStrategy
Use dark colors for code blocks Copy
1
2
3
4
5
6
7
8
9
10
11
12
IF 'current label priority LESS THAN other overlapping label priority'
AND 'current label IS NOT overlapping a barrier feature symbol'
AND 'current label IS NOT overlapping an annotation symbol'
AND 'current label IS NOT overlapping a dimension symbol'
THEN 'place label'
IF 'label priority MORE THAN OR EQUAL to the other overlapping label priority'
IF 'deconflictionStrategy IS static'
THEN 'label will not be placed'
IF 'deconflictionStrategy IS dynamic'
THEN 'label will attempt to move'
2.2 priority x removeDuplicatesStrategy
Use dark colors for code blocks Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
IF 'current label priority LESS THAN other label priority'
THEN 'place label'
IF 'current label priority MORE THAN OR EQUAL TO other label priority'
IF 'current label removeDuplicatesStrategy IS None'
THEN 'place label'
IF 'current label text EQUALS other label text'
AND 'other label has been placed'
AND 'other label position within current label removeDuplicatesDistance'
IF 'current label removeDuplicatesStrategy IS in_Same_Feature_type'
AND 'current label featureType EQUALS other label featureType'
THEN 'Label will not be placed'
IF 'current label removeDuplicatesStrategy IS in_Same_Label_class'
AND 'current label labelClass EQUALS other label labelClass'
THEN 'Label will not be placed'
IF 'current label removeDuplicatesStrategy IS all'
THEN 'Label will not be placed'
OR
THEN 'place label'
OR
THEN 'place label'
2.3 featureBoundaryOverlapStrategy x deconflictionStrategy
Use dark colors for code blocks Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
IF 'current label featureBoundaryOverlapStrategy IS allow'
AND 'current label overlaps featureBoundary'
THEN 'label will be placed'
IF 'current label featureBoundaryOverlapStrategy IS avoid'
AND 'current label overlaps featureBoundary'
IF 'current label deconflictionStrategy IS static'
THEN 'label will be placed'
OR 'current label deconflictionStrategy IS dynamic'
THEN 'label will attempt to move, but may still be placed on feature boundary'
IF 'current label featureBoundaryOverlapStrategy IS exclude'
AND 'current label overlaps featureBoundary'
IF 'current label deconflictionStrategy IS static'
THEN 'label will not be placed'
OR 'current label deconflictionStrategy IS dynamic'
THEN 'label will attempt to move, but will definitely not be placed on feature boundary'
2.4 featureInteriorOverlapStrategy x deconflictionStrategy
Use dark colors for code blocks Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
IF 'current label featureInteriorOverlapStrategy IS allow'
AND 'current label overlaps featureInterior'
THEN 'label will be placed'
IF 'current label featureInteriorOverlapStrategy IS avoid'
AND 'current label overlaps featureInterior'
IF 'current label deconflictionStrategy IS static'
THEN 'label will be placed'
OR 'current label deconflictionStrategy IS dynamic'
THEN 'label will attempt to move, but may still be placed on feature interior'
IF 'current label featureInteriorOverlapStrategy IS exclude'
AND 'current label overlaps featureInterior'
IF 'current label deconflictionStrategy IS static'
THEN 'label will not be placed'
OR 'current label deconflictionStrategy IS dynamic'
THEN 'label will attempt to move, but will definitely not be placed on feature interior'
2.5 angle x placement
Use dark colors for code blocks Copy
1
2
IF 'placement IS offset from point'
THEN 'label position IS calculated from angle'
2.6 angle x textLayout x placement
Use dark colors for code blocks Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
IF 'textLayout IS horizontal'
IF 'placement IS offset from point'
THEN 'label position IS calculated from angle, and label layout IS horizontal'
OR
THEN 'label position IS centered on point, and label layout IS horizontal'
IF 'textLayout IS straight'
IF 'placement IS offset from point'
THEN 'label position IS calculated from angle, and label layout IS rotated by angle'
OR
THEN 'label position IS centered on point, and label layout IS rotated by angle'
IF 'textLayout IS perpendicular'
IF 'placement IS offset from point'
THEN 'label position IS calculated from angle, and label layout IS rotated by angle + 90'
OR
THEN 'label position IS centered on point, and label layout IS rotated by angle + 90'
IF 'textLayout IS followFeature'
THEN 'ignore angle'
2.7 angle x textOrientation
Use dark colors for code blocks Copy
1
2
3
4
5
6
IF 'label IS rotated upside down'
IF 'textOrientation IS set as direction'
THEN 'allow upside down label text'
IF 'textOrientation IS set as screen'
THEN 'label text will flipped to appear upright'
2.8 stackAlignment x stackstrategy
Use dark colors for code blocks Copy
1
2
IF 'stackStrategy IS set to none'
THEN 'stackAlignment has no effect'
2.9 stackRowLength x stackStrategy
Use dark colors for code blocks Copy
1
2
IF 'stackStrategy IS set to none'
THEN 'stackRowLength has no effect'
2.10 stackSeparators x stackStrategy
Use dark colors for code blocks Copy
1
2
IF 'stackStrategy IS set to none'
THEN 'stackSeparators has no effect'
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4