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 Properties
A list of all supported ArcGIS Maps SDK for Native Apps labeling properties, their values and ArcGIS Pro export interpretations.
1.1.0 angle
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 Label
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, Label
and Label
are used to specify the layout of the text at that position.
1.1.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | null | "label |
1.1.2 Property values
Values | Summary |
---|---|
angle | Specifies how the angle (in degrees) is calculated from the feature attributes,using an Arcade expression. |
rotation | 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
.
Rotation (point features)
- label class properties -> position options -> placement
- label class properties -> position options -> position properties -> rotation -> rotation field -> expression builder
- label class properties -> position options -> position properties -> rotation -> rotation field
- label class properties -> position options -> position properties -> rotation -> additional rotation
- label class properties -> position options -> position properties -> rotation -> rotation type
Rotation | angle |
---|---|
rotation expression | angle.angle |
rotation field AN | angle.angle |
rotation type | angle.rotation |
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
.
Rotation (point features)
- label class properties -> position options -> position properties -> angles
Rotation | angle |
---|---|
place label at specified angles AN | angle.angle |
place label at an angle specified by a field | angle.angle |
1.2.0 deconfliction Strategy
The strategy for moving labels to avoid overlapping feature, annotation, dimension or graphic symbols or higher priority labels. In 3D Label
is selected by default.
The default is Label
(which will be interpreted as Label
i.e. use preferred location unless it would overlap an obstacle).
1.2.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | static | "deconfliction |
1.2.2 Property values
Values | Summary |
---|---|
automatic | The label will use the default deconfliction strategy (Label . |
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. |
dynamic | 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
- 2.1 priority x deconflictionStrategy
- 2.3 featureBoundaryOverlapStrategy x deconflictionStrategy
- 2.4 featureInteriorOverlapStrategy x deconflictionStrategy
1.2.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 deconfliction
.
Position options (point features)
- label class properties -> position options -> placement properties -> position
- label class properties -> position options -> zones
- label class properties -> position options -> conflict resolution properties -> unplaced labels -> never remove
Position options | deconfliction |
---|---|
position I | dynamic |
position I | dynamic |
(position I | none |
(position I | static |
Position options (line features)
- label class properties -> position options -> placement properties -> offset along line
- label class properties -> position options -> conflict resolution properties -> unplaced labels -> never remove
Position options | deconfliction |
---|---|
offset along line I | dynamic |
offset along line I | dynamic |
offset along line I | none |
offset along line I | static |
Position options (polygon features)
- label class properties -> position options -> placement properties -> place label at fixed position within polygon
- label class properties -> position options -> conflict resolution properties -> unplaced labels -> never remove
Position options | deconfliction |
---|---|
place label at fixed position I | none |
place label at fixed position I | static |
place label at fixed position I | dynamic |
place label at fixed position I | 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 deconfliction
.
Position options (point features)
- label class properties -> position options -> priority
- label class properties -> position options -> place overlapping labels
Position options | deconfliction |
---|---|
priority zone count MOR | dynamic |
priority zone count MOR | dynamic |
zones or angles count EQUA | none |
zones or angles count EQUA | static |
Position options (line features)
- label class properties -> position options
- label class properties -> position options -> location along the line
- label class properties -> position options -> place overlapping labels
Position options | deconfliction |
---|---|
position I | dynamic |
position I | dynamic |
position I | dynamic |
position I | dynamic |
position I | none |
position I | static |
position I | dynamic |
position I | dynamic |
position I | dynamic |
position I | dynamic |
position I | none |
position I | static |
Position options (polygon features)
- label class properties -> position options -> place overlapping labels
Position options | deconfliction |
---|---|
place overlapping labels I | none |
place overlapping labels I | 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: Arcade
, Simple
or Webmap
.
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 Label
subclass and assigning it to Label
.
The default value is an empty Arcade
, 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.
"
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:
"
for bold text<BOL ></ BOL >" "
for underlined text<UND ></ UND >" "
for italic text<ITA ></ ITA >" "
for colored text<CL R red='256' ></ CLR >" "
for text using a different size or font (if available on client).<FN T name=' Arial' size='18' ></ FNT >"
Tags can be upper or lower case, but not a mixture. Tags can be nested e.g. "
.
Full documentation of the tag parameters is available in the document Text formatting tags.
1.3.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | | "label |
1.3.2 Property values
Values | Summary |
---|---|
expression | The label expression script string. |
object | The type of the label expression. |
1.3.3 Other property relationships
None
1.3.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 expression
.
expression (all features)
- label properties -> class options -> expression
- label properties -> class options -> language
expression | expression |
---|---|
expression AN | expression.arcade |
expression I | expression.simple |
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 (all features)
- label properties -> label expression
- label properties -> label expression -> language
expression | expression |
---|---|
expression AN | expression.arcade |
expression I | expression.simple |
1.4.0 feature Boundary Overlap Strategy
The strategy for whether other labels are allowed to overlap the boundary of polygon features/graphics being labeled by this Label
. In 3D scenes, labels will be allowed to overlap the boundaries of polygon features.
The default is Label
, which will give the same behavior as Label
.
1.4.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | allow | "allow |
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 feature
.
Boundary weight (polygon features)
- label weight ranking -> feature layers
Boundary weight | feature |
---|---|
polygon boundary weight I | allow |
polygon boundary weight I | avoid |
polygon boundary weight I | 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 feature
.
None, not supported for feature
1.5.0 feature Interior Overlap Strategy
The strategy for whether other labels are allowed to overlap the interior of polygon features/graphics being labeled by this Label
. In 3D scenes, labels will be allowed to overlap the interiors of polygon features.
The default is Label
which will give the same behavior as Label
.
1.5.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | allow | "allow |
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 feature
.
Feature weight (all features)
- label weight ranking -> feature layers
Feature weight | feature |
---|---|
feature weight I | allow |
feature weight I | avoid |
feature weight I | 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 feature
.
Feature weight (all features)
- label class properties -> position options -> conflict resolution properties -> feature weight
Feature weight | feature |
---|---|
feature weight I | allow |
feature weight I | allow |
feature weight I | avoid |
feature weight I | exclude |
1.6.0 label Overlap Strategy
The strategy for whether other labels are allowed to overlap labels created by this Label
. 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 Label
which will give the same behavior as Label
.
1.6.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | exclude | "allow |
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 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 label
.
Background label (all features)
- label class properties -> position options -> conflict resolution properties -> background labels
Background label | label |
---|---|
background label I | allow |
background label I | 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 label
.
Label weight (all features)
- label class properties -> position -> conflict resolution -> label weight
Label weight | label |
---|---|
label weight I | allow |
label medium I | avoid |
label high I | exclude |
1.7.0 line Connection
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 Label
, which will be interpreted as Label
.
1.7.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | minimize | "line |
1.7.2 Property values
Values | Summary |
---|---|
automatic | The default approach for connectable features is to connect them (Label ) |
minimize | 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. |
unambiguous | 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 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 line
.
Connect features (all features)
- label class properties -> position options -> conflict resolution properties -> line connection
Connect features | line |
---|---|
connect features I | none |
connect features I | minimize |
connect features I | unambiguous |
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 line
.
Line connection (all features)
- default
Line connection | line |
---|---|
default | none |
1.8.0 max Scale
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 Label
is 1:10000, then the labels will be visible (because 1/12000 < 1/10000). A Label
of 0, which is the default, indicates no upper limit on the viewing scale.
1.8.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
double | 0 | "max |
1.8.2 Property values
Values | Summary |
---|---|
0 | Always visible at all scales |
GREATE | Show label when viewing scale is less than or equal to max |
1.8.3 Other property relationships
None
1.8.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 max
.
visibility range (all features)
- label class properties -> class -> visibility range -> in beyond
visibility range | max |
---|---|
in beyond value | max |
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 max
.
visibility range (all features)
- label class properties -> class -> visibility range -> in beyond
visibility range | max |
---|---|
in beyond value | max |
1.9.0 min Scale
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 Label
is 1:20000, then the labels will be visible (because 1/12000 > 1/20000). A Label
of 0, which is the default, indicates no lower limit on the viewing scale.
1.9.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
double | 0 | "min |
1.9.2 Property values
Values | Summary |
---|---|
0 | Always visible at all scales |
GREATE | Show label when viewing scale is greater than or equal to min |
1.9.3 Other property relationships
None
1.9.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 min
.
visibility range (all features)
- label class properties -> class -> visibility range -> out beyond
visibility range | min |
---|---|
out beyond value | min |
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 min
.
visibility range (all features)
- label class properties -> class -> visibility range -> out beyond
visibility range | min |
---|---|
out beyond value | min |
1.10.0 multipart Strategy
The strategy for how many labels should be placed on each polyline or polygon (multi-ring) feature.
The default is Label
.
1.10.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | label | "multi |
1.10.2 Property values
Values | Summary |
---|---|
automatic | Labeling will use the default distribution of labels across multi-part features. |
label | If a feature consists of multiple parts, only the largest one will be assigned a label. |
label | One label per feature, but not supported yet in runtime. |
label | If a feature consists of multiple geometries, each geometry will be assigned a label. |
label | One label per segment, but not supported yet in runtime. |
1.10.3 Other property relationships
None
1.10.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 multipart
.
Label largest (polygon features)
- label class properties -> position options -> conflict resolution properties -> label largest part
Label largest | multipart |
---|---|
label largest feature part I | label |
label largest feature part I | label |
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 multipart
.
Duplicate labels (polygon features)
- label class properties -> position options -> position properties -> duplicate labels
Duplicate labels | multipart |
---|---|
remove all duplicates | label |
one label per feature | label |
one label per part | label |
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 Example |
---|---|---|
String | | "name" |
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 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 name
.
Label class name (all features)
- label class properties -> general -> name
Label class 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
.
Label class name (all features)
- label class properties -> general -> name
Label class name | name |
---|---|
name | name |
1.12.0 offset Distance
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 Example |
---|---|---|
double | 1 | "offset |
1.12.2 Property values
Values | Summary |
---|---|
number | signed numeric value |
1.12.3 Other property relationships
None
1.12.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 offset
.
Preferred offset (all features)
- label class properties -> position option -> placement properties -> placement
Preferred offset | offset |
---|---|
preferred offset | offset |
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 offset
.
None, not supported for offset
1.13.0 overrun Strategy
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 Label
which will give different behavior depending on the type of feature that the label might overrun.
1.13.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | automatic | "allow |
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 Label 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 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 overrun
.
overrun (line features)
- label class properties -> position properties -> placement options -> placement properties -> offset along line
- label class properties -> position properties -> conflicting resolution properties -> overrun -> maximum
- label class properties -> position options -> conflict resolution properties -> unplaced labels -> never remove
overrun | overrun |
---|---|
offset along line I | allow |
offset along line I | allow |
offset along line I | none |
overrun (polygon features)
- label class properties -> position options -> position properties -> overrun -> maximum
overrun | overrun |
---|---|
maximum I | allow |
maximum I | 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 overrun
.
overlap (line features)
- label class properties -> position options -> position properties -> location along the line
- label class properties -> conflict resolution properties -> place overlapping labels
overlap | overrun |
---|---|
location along the line I | allow |
location along the line I | none |
only place label inside polygon (polygon features)
- label class properties -> position options -> only place label inside polygon
only place label inside polygon | overrun |
---|---|
true | none |
false | allow |
1.14.0 placement
The preferred position of the text label, with respect to its feature geometry.
The default is Labeling
. The effect of this is the same as one of the following, depending on the type of feature geometry:
Labeling
for point featuresPlacement.point Above Right Labeling
for polygon featuresPlacement.polygon Always Horizontal Labeling
for line featuresPlacement.line Above Along
1.14.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Labeling | automatic | "label |
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. |
line | Lower-left corner of label is at final geometry coord; label extrapolates the last geometry segment. |
line | Lower midpoint of label prefers the midpoint of the geometry; label follows the geometry segments. |
line | Lower right corner of label is at first geometry coord; label extrapolates the first geometry segment. |
line | Lower right corner of label is at final geometry coord; label follows the last geometry segments. |
line | Lower left corner of label is at first geometry coord, label follows the first geometry segments. |
line | Upper left corner of label is at final geometry coord, label extrapolates the last geometry segment. |
line | Upper midpoint of label prefers the midpoint of the geometry, label follows the geometry segments. |
line | Upper right corner of label is at first geometry coord, label extrapolates the first geometry segment. |
line | Upper right corner of label is at final geometry coord, label follows the last geometry segments. |
line | Upper left corner of label is at first geometry coord, label follows the first geometry segments. |
line | Left midpoint of label is at final geometry coord, label extrapolates the last geometry segment. |
line | Center of label prefers the midpoint of the geometry, label follows the geometry segments. |
line | Right midpoint of label is at first geometry coord, label extrapolates the first geometry segment. |
line | Right midpoint of label is at final geometry coord, label follows the last geometry segments. |
line | Left midpoint of label is at first geometry coord, label follows the first geometry segments. |
point | Lower midpoint of label is offset north of point symbol. |
point | Lower-right corner of the label is offset northwest of point symbol. |
point | Lower left corner of the label is offset North-east of point symbol. |
point | Upper midpoint of label is offset South of point symbol. |
point | Upper right corner of the label is offset South-west of point symbol. |
point | Upper left corner of the label is offset South-east of point symbol. |
point | Center of label is placed on geometry point. |
point | Right midpoint of label is offset West of point symbol. |
point | Left midpoint of label is offset East of point symbol. |
polygon | 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
.
Label placement (point features)
- label class properties -> position options -> placement properties -> placement
- label class properties -> position options -> placement properties -> zones
Label placement | placement |
---|---|
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
placement I | point |
Label placement (line features)
- label class properties -> position options -> placement properties -> placement
- label class properties -> position options -> placement properties -> constrain offset
- label class properties -> position options -> placement properties -> offset along line
Label placement | placement |
---|---|
placement I | above |
placement I | above |
placement I | below |
placement I | below |
placement I | above |
placement I | above |
placement I | above |
placement I | above |
placement I | above |
placement I | center |
placement I | center |
placement I | center |
placement I | center |
placement I | center |
placement I | below |
placement I | below |
placement I | below |
placement I | below |
placement I | below |
Label placement (polygon features)
- default
Label placement | placement |
---|---|
default | polygon |
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
.
Label placement (point features)
- label class properties -> position options -> position properties -> priority
- label class properties -> position options -> position properties -> place label on top of point
- label class properties -> position options -> position properties -> offset label horizontally around the point
Label placement | placement |
---|---|
place label on top of point I | point |
place label at specified angles | point |
place label at an angle specified by a field | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
offset label horizontally around the point AN | point |
Label placement (line features)
- label class properties -> position options -> align to
- label class properties -> position options -> on the line
- label class properties -> position options -> left of the line
- label class properties -> position options -> right of the line
- label class properties -> position options -> location along the line
Label placement | placement |
---|---|
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
align to I | line |
default (polygon features)
- default
default | placement |
---|---|
default | polygon |
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.:
- 0 is the most important
- 5 is high priority
- 15 is medium priority
- Higher values indicate lower priority
If set to -1 or not set at all, then default values are used, depending on the geometry types of the features:
- 12 for point features
- 15 for line features
- 18 for polygon 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 Example |
---|---|---|
double | -1 | "priority" |
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 ranking (all features)
- labeling ribbon -> more -> priorities
Priority ranking | 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 ranking (all features)
- labeling ribbon -> more -> priorities
Priority ranking | priority |
---|---|
label class priority order | priority |
1.16.0 remove Duplicates Distance
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 Label
is enabled. The default value is 0. This indicates that duplicates should be removed from the entire extent.
1.16.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
double | 0 | "remove |
1.16.2 Property values
Values | Summary |
---|---|
0 | all duplicates should be removed from the entire extent |
GREATE | remove duplicate distance |
1.16.3 Other property relationships
None
1.16.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 remove
.
Search Radius (all features)
- label class properties -> position options -> conflict resolution properties -> remove duplicate labels -> search radius
Search Radius | remove |
---|---|
remove within fixed distance I | remove duplicate distance value converted to points |
remove all I | 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 remove
.
Default (all features)
- default
Default | remove |
---|---|
default | 0 |
1.17.0 remove Duplicates Strategy
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 Label
, which will be interpreted as Label
indicating that all labels should be shown if possible.
The distance within which to look for duplicates is controlled by Label
.
1.17.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | automatic | "remove |
1.17.2 Property values
Values | Summary |
---|---|
automatic | The default approach to duplicate labels to is keep them (Label . |
all | Remove nearby duplicate labels. |
feature | Remove nearby duplicate labels, if they belong to the same Feature Type. |
label | 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 remove
.
Remove duplicate labels (all features)
- label class properties -> position options -> conflict resolution properties -> remove duplicate labels
Remove duplicate labels | remove |
---|---|
remove duplicate labels I | none |
remove duplicate labels I | feature |
remove duplicate labels I | feature |
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 remove
.
Duplicate labels (all features)
- label class properties -> position options -> position properties -> duplicate labels
Duplicate labels | remove |
---|---|
duplicate labels I | all |
duplicate labels I | none |
duplicate labels I | none |
1.18.0 repeat Distance
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 Label
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 Example |
---|---|---|
double | 216 | "repeat |
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 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 repeat
.
Repeat minimal interval (line features)
- label class properties -> position options -> conflict resolution properties -> repeat -> minimum interval
Repeat minimal interval | repeat |
---|---|
minimum interval | converted to repeat |
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 repeat
.
None, not supported for repeat
1.19.0 repeat Strategy
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 Label
.
The frequency of repetition is controlled by the Label
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 Example |
---|---|---|
Label | automatic | "repeat |
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 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 repeat
.
{"repeatLabel":true, "repeatLabelDistance":200} (line features)
- label class properties -> position properties -> placement options -> placement properties -> offset along line
- label class properties -> position options -> conflict resolution properties -> repeat -> minimum interval
{"repeatLabel":true, "repeatLabelDistance":200} | repeat |
---|---|
offset along line I | 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 repeat
.
None, not supported for repeat
1.20.0 stack Alignment
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 Text
assigned to the Label
. By using the Label
.stackAlignment property, the user can choose to use the Text
.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 Label
(which will have the same effect on labels as Label
.
This property has no effect if Label
.stackStrategy = Label
.
1.20.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | text | "stack |
1.20.2 Property values
Values | Summary |
---|---|
automatic | The default behavior is to use Label . |
dynamic | Set the alignment depending upon the label's position with respect to its feature. |
text | Follow the alignment specified by the Text . |
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 stack
.
Horizontal alignment (all features)
- label class properties -> position options -> fitting strategy properties -> stack -> horizontal alignment
Horizontal alignment | stack |
---|---|
horizontal alignment I | dynamic |
horizontal alignment I | dynamic |
horizontal alignment I | text |
horizontal alignment I | text |
horizontal alignment I | text |
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 stack
.
None, not supported for stack
1.21.0 stack Row Length
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 Label
, the break may be inserted before the breaking word, or after.
The default value is -1 which means to use a default length determined by ArcGIS Runtime (currently 13 characters but may vary with feature-geometry in the future).
This property has no effect if Label
= Label
.
1.21.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
double | -1 | "stack |
1.21.2 Property values
Values | Summary |
---|---|
-1 | defaults to 13 characters |
GREATE | 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 stack
.
Maximum characters per line (all features)
- label class properties -> position options -> fitting strategy properties -> stack -> maximum characters per line
Maximum characters per line | stack |
---|---|
maximum characters per line | stack |
1.21.5 Standard labeling publishing rules
None, not supported for stack
1.22.0 stack Separators
The stack separators that should be used for automatic line breaking of label text.
Each Label
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 Label
is a String
intended to describe one code point.
For example:
- To use a comma as a separator, the
Label
string would be just ","Stack Separator.separator - To use a Hebrew punctuation Paseq as a separator, the
Label
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 stringsStack Separator.separator - To use higher range unicode code points such as Aegean Word Separator Dot which has utf32 hex value 10101, the
Label
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 stringsStack Separator.separator
If it is found, then the Label
also specifies whether:
- The text should always be broken here
- Whether the separator code point should remain visible
- Whether the separator code point should appear at the end of one row, or the beginning of the next
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.
This property has no effect if Label
= Label
.
1.22.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Mutable | [",", " ", "-"] | "stack |
1.22.2 Property values
Values | Summary |
---|---|
label | Gets or sets the position where the separator will be written, if used and remaining visible. |
label | Gets or sets a value indicating whether a line break must be inserted when the Separator is encountered. |
is | 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 stack
.
Stacking separators (all features)
- label class properties -> position options -> fitting strategy properties -> stack -> stacking separators
Stacking separators | stack |
---|---|
stacking separators | stacking |
1.22.5 Standard labeling publishing rules
None, not supported for stack
1.23.0 stack Strategy
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 Label
, meaning that stacking will be enabled for point and polygon features and disabled for line features.
1.23.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | automatic | "stack |
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 Label limit. |
1.23.3 Other property relationships
- 2.8 stackAlignment x stackStrategy
- 2.9 stackRowLength x stackStrategy
- 2.10 stackSeparators x stackStrategy
1.23.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 stack
.
Stack label (all features)
- label class properties -> position options -> fitting strategy properties -> stack -> stack label
Stack label | stack |
---|---|
stack label I | allow |
1.23.5 Standard labeling publishing rules
None, not supported for stack
1.24.0 text Layout
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:
- Horizontally
- Straight (i.e. parallel) to the tangent to the line feature
- Straight in line with the point feature positioning angle
- Perpendicular to the tangent or positioning angle
- following the geometry of the line feature
The default is Label
, which will be interpreted as:
Label
for labels attached to point featuresText Layout.horizontal Label
for labels attached to line featuresText Layout.follow Feature Label
for labels attached to polygon featuresText Layout.horizontal
1.24.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | automatic | "text |
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 Label text layout. |
straight | Text will be written along a straight line, following the point positioning angle or at a tangent to the line feature. |
follow | 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 text
.
Point layout (point features)
- label class properties -> position options -> placement properties -> rotation -> alignment type
Point layout | text |
---|---|
alignment type I | horizontal |
alignment type I | straight |
alignment type I | perpendicular |
Line layout (line features)
- label class properties -> position options -> placement properties -> placement
Line layout | text |
---|---|
placement I | straight |
placement I | follow |
placement I | perpendicular |
placement I | horizontal |
placement I | straight |
placement I | follow |
placement I | perpendicular |
placement I | horizontal |
Polygon layout (polygon features)
- default
Polygon layout | text |
---|---|
default | horizontal |
1.24.5 Standard labeling publishing rules
None, not supported for text
1.25.0 text Orientation
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 Label
, which is interpreted as Label
.
1.25.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Label | automatic | "text |
1.25.2 Property values
Values | Summary |
---|---|
automatic | Use the default text orientation (Label . |
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 text
.
Keep label upright (all features)
- label class properties -> position options -> placement properties -> placement -> rotation
Keep label upright | text |
---|---|
keep label upright I | direction |
keep label upright I | 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 text
.
default (all features)
- default
default | text |
---|---|
default | page |
1.26.0 text Symbol
The text symbol which describes the overall appearance of label text (e.g. font and size).
If no Label
has been set, then no labels can be created.
1.26.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
Text | null | "symbol" |
1.26.2 Property values
Values | Summary |
---|---|
background | The color for the text symbol background. |
color | The color for the text symbol. |
font | The type of font decoration for the text symbol. |
font | The font family of the text symbol. |
font | The font style of the text symbol. |
font | The font weight of the text symbol. |
halo | The color for the halo around the text symbol. |
halo | The size of the halo around the text symbol, in DIPs. |
horizontal | The horizontal alignment of the text symbol. |
kerning | If kerning needs to be enabled. It is disabled by default. |
outline | The color for the text symbol outline. |
outline | The width of the text symbol outline, in DIPs. |
size | The font size of the text symbol. |
text | The text of the text symbol. |
vertical | The vertical alignment of the text symbol. |
1.26.3 Other property relationships
None
1.26.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 text
.
symbol (all features)
- label class properties -> symbol
symbol | text |
---|---|
| exported as CI |
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 text
.
symbol (all features)
- label class properties -> symbol
symbol | text |
---|---|
| exported as CI |
1.27.0 use Coded Values
Specifies whether the data source should translate domain identifiers into meanings using a Coded
.
For any translation to occur, the data source must have one or more Coded
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 Example |
---|---|---|
bool | true | "use |
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 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 use
.
Use coded values (all features)
- label class properties -> class -> label expression -> language
- label class properties -> class -> use coded value descriptions
- label class properties -> class -> label expression -> expression
Use coded values | use |
---|---|
language I | false |
language I | 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 use
.
Use coded values (all features)
- label class properties -> class -> label expression -> language
- label class properties -> class -> use coded value descriptions
- label class properties -> class -> label expression -> expression
Use coded values | use |
---|---|
language I | false |
language I | use coded value descriptions value |
1.28.0 where Clause
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)"
(Only label features with NAME attribute values starting with 'A')NAM E LIK E ' A%'" "(
(Only label features whose attributes satisfy the SQL condition)LENGT H > CAPACIT Y) and ( TYP E = 1)"
The default value is ""
which will allow all features in the data source and extent to be labeled.
1.28.1 Overview
Data Type | Default Value | JSON Example |
---|---|---|
String | | "where" |
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 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 where
.
SQL expression (all features)
- label class properties -> class -> SQL query
SQL expression | where |
---|---|
new expression | where |
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 where
.
SQL expression (all features)
- label class properties -> class -> SQL query
SQL expression | where |
---|---|
new expression | where |
2.0 Label Property relationships
2.1 priority x deconflictionStrategy
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
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
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
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
IF 'placement IS offset from point'
THEN 'label position IS calculated from angle'
2.6 angle x textLayout x placement
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
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
IF 'stackStrategy IS set to none'
THEN 'stackAlignment has no effect'
2.9 stackRowLength x stackStrategy
IF 'stackStrategy IS set to none'
THEN 'stackRowLength has no effect'
2.10 stackSeparators x stackStrategy
IF 'stackStrategy IS set to none'
THEN 'stackSeparators has no effect'