Collection of Labeling enumerations. More...
Header | #include <Labeling |
Types
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
(since Esri enum class | Label |
Detailed Description
Type Documentation
[since Esri::ArcGISRuntime 100.11]
enum class LabelAngleRotationType
How the placement angle should be interpreted.
The type of rotation applied to the LabelAngle::angleExpression should be interpreted as LabelAngleRotationType::Arithmetic (counter-clockwise from East) or LabelAngleRotationType::Geographic (clockwise from North).
The LabelAngleRotationType can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The angle uses the default interpretation ( |
Label | 1 | The angle is interpreted as arithmetic, i.e., counterclockwise from East. |
Label | 2 | The angle is interpreted as geographic, i.e., clockwise from North. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.14]
enum class LabelBarrierWeight
The weight of features when considered as barriers to labeling.
An AnnotationLayer or a DimensionLayer that has no LabelDefinition of its own can be added to a map's operational layers. Their features will be automatically considered by the labeling process, to block labels from being placed such that they overlap the features. This LabelBarrierWeight property controls how much labels must avoid the layer's features.
Note: Other layer types that have their own LabelDefinition can also have their features treated as barriers, but this is controlled by their LabelDefinition::featureBoundaryOverlapStrategy and LabelDefinition::featureInteriorOverlapStrategy properties.
The LabelBarrierWeight can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The feature will not act as a barrier to labels. |
Label | 1 | Labels will avoid overlapping this feature unless there are no other placement positions. In this case, the label will overlap the feature. |
Label | 2 | Labels will only overlap this feature after first unsuccessfully attempting other placement positions. In this case, the label will overlap the feature.``` This is similar to Label |
Label | 3 | The feature is an exclusion zone for labels. Labels that overlap the feature will not be placed unless the label is using a deconfliction strategy of Label |
This enum was introduced in Esri::ArcGISRuntime 100.14.
[since Esri::ArcGISRuntime 100.11]
enum class LabelDeconflictionStrategy
The strategy for moving labels to avoid overlapping point symbols or higher priority labels.
The LabelDeconflictionStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The label will use the default deconfliction strategy ( |
Label | 1 | Place the label in the preferred location, but move to an alternative location to not overlap higher priority labels or or feature/graphic symbols. This label is placed only if it can be moved to a location that will not overlap a higher priority label. |
Label | 2 | Place the label in the preferred location, regardless of overlaps with other features, graphics, or labels. |
Label | 3 | Place the label in the preferred location, unless it would overlap a higher priority label or feature/graphic symbol. If it overlaps a lower priority label, then the lower priority label may disappear or move (depending on its Label |
Label | 4 | Place the label in the preferred location, but move to an alternative location to minimize overlapping higher priority labels or point feature symbols. This label is always placed, even if it overlaps a higher priority label. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelExpressionType
The type of the label expression.
The type specifies which language interpreter should be used to read and evaluate the expression.
The LabelExpressionType can be one of:
Constant | Value | Description |
---|---|---|
Label | 1 | The Label |
Label | 2 | The Label |
Label | 3 | The Label |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 200.3]
enum class LabelGeometryStrategy
The strategy for how to use the geometry of the feature when calculating the label position.
The LabelGeometryStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Labeling will use the default Label
|
Label | 1 | The feature's entire geometry will be used to calculate the position of the label. This may result in a label not being visible because the preferred location is outside the extent. For example, a line label placed at the start or end of the line might be off-screen if the start or end of the feature geometry are off-screen. |
Label | 2 | The subset of the feature's geometry within the screen extent will be used to calculate the position of the label. The label is more likely to be visible on-screen, if there is room. However, the label may move position as the user pans the screen and different parts of the feature geometry are used to calculate the label position. |
This enum was introduced in Esri::ArcGISRuntime 200.3.
[since Esri::ArcGISRuntime 100.11]
enum class LabelLineConnection
The strategy for whether line features with the same label, and matching end vertices, should be joined before sharing a label.
The LabelLineConnection can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The default approach for connectable features is to connect them ( |
Label | 1 | Line geometries with the same label and coincident end vertices should be considered together as a single, continuous geometry when placing labels. For example, if a single label is being placed on a line feature, then the single location will be chosen along the combined geometries. This combining will ignore junctions, so it may be ambiguous which line feature after a junction is the continuation of the earlier geometry. |
Label | 2 | Keep one label per line feature geometry. |
Label | 3 | Line geometries with the same label and coincident end vertices should be joined, until they hit a junction. For example, if a single label is being placed on a line geometry (composed of multiple features' geometries, but all having the same label text), then a label will be placed on both sides of any junction, to make it unambiguous which geometries are the continuation of the initial geometry. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 200.1]
enum class LabelLineOrientation
Whether LabelDefinition::placement above or below a line geometry will be interpreted as above or below on the `screen`, or with respect to the `direction` of line's geometry (that is, the digitization order in which the vertices are listed).
The LabelLineOrientation can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 |
|
Label | 1 |
|
Label | 2 | The label will be offset perpendicularly to whichever side of the line geometry has space (defaulting to ` |
This enum was introduced in Esri::ArcGISRuntime 200.1.
[since Esri::ArcGISRuntime 100.11]
enum class LabelMultipartStrategy
The strategy for the number of labels to be placed on a multi-part feature.
The LabelMultipartStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Labeling will use the default distribution of labels across multi-part features. This depends on Feature type |
Label | 1 | If a feature consists of multiple parts, only the largest one will be assigned a label. If a line feature consists of multiple part geometries, or a polygon feature consists of multiple ring geometries, only the largest one will be assigned a label. |
Label | 2 | One label per feature, but not supported yet in this AP |
Label | 3 | If a feature consists of multiple geometries, each geometry will be assigned a label. If a line feature consists of multiple line geometries, or a polygon feature consists of multiple ring geometries, each geometry will be assigned a label. |
Label | 4 | One label per segment, but not supported yet in this AP |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelOverlapStrategy
The strategy for whether another label is allowed to be placed over this feature or label
The LabelOverlapStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The other label will use the default overlap behavior, which depends on the object being overlapped. This value corresponds to no value being specified for a Label |
Label | 1 | The other label will be allowed to place itself in its preferred location, ignoring this obstacle. |
Label | 2 | The other label will move to minimize overlapping this obstacle, but will overlap if necessary. The other label can only move if its Label |
Label | 3 | The other label will not be placed rather than overlap this obstacle. The other label can only move if its Label |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelOverrunStrategy
The strategy for whether a label should be visible at viewing scales where the feature is too small for the label to fit.
The LabelOverrunStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | 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 |
Label | 1 | The label cannot run past the ends of its line geometry or edges of its polygon geometry. |
Label | 2 | The label can run past the ends of its line geometry or edges or its polygon geometry. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelRemoveDuplicatesStrategy
The strategy for whether labels should be removed if they have the same text as other labels, to reduce clutter and free up space.
The LabelRemoveDuplicatesStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The default approach to duplicate labels to is keep them ( |
Label | 1 | Remove nearby duplicate labels. The distance within which to look for duplicates is controlled by Label |
Label | 2 | Remove nearby duplicate labels, if they belong to the same Feature Type. Two features are considered the same type if they are both point features, both line features or both polygon features. The distance within which to look for duplicates is controlled by Label |
Label | 3 | Remove nearby duplicate labels, if they below to the same Label Class. Two labels are considered the same Label Class if they are both created from the same Label |
Label | 4 | No duplicates should be removed. Place all labels on the map, regardless of duplicates. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelRepeatStrategy
The strategy for whether a label should have multiple copies created and placed along or across the same feature.
The LabelRepeatStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Labeling will use the default repetition for the feature type. Line feature labels will use Label |
Label | 1 | Only place one label per feature. |
Label | 2 | Repeat the label along or across the feature. The frequency of repetition is controlled by the Label |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelStackAlignment
The strategy for how multi-row (stacked) text should be horizontally aligned.
Multi-row text labels can each be horizontally aligned on the left, right or at their center. By using the LabelStackAlignment, 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 LabelStackAlignment can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The default behavior is to use Label |
Label | 1 | Set the alignment depending upon the label's position with respect to its feature. Have the alignment decided 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. For example, a stack to the right of a point symbol will be left-aligned. |
Label | 2 | Follow the alignment specified by the Text |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelStackBreakPosition
The strategy for whether a row of text should be broken before or after it exceeds the ideal length.
If stacking is turned on, label placement can insert a line break before or after the word that overruns the maximum number of characters per row.
The LabelStackBreakPosition can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Use the default break position ( |
Label | 1 | Insert the line break after a word that has broken the stack |
Label | 2 | Insert the line break before a word that will break the stack |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelStackSeparatorBreakPosition
The position where the separator character in a label will be written, if used.
Determines whether the separator code point should appear at the end of one row, or the beginning of the next. This does not matter if the separator is not to be visible when used.
The LabelStackSeparatorBreakPosition can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Use the default position ( |
Label | 1 | Write the separator after the line break, at the start of the next row of text. |
Label | 2 | Write the separator before the line break, at the end of the previous row of text. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelStackStrategy
The strategy for whether the label text should be "stacked" (wrapped), rather than placed as a single line or row of text across the map.
The LabelStackStrategy can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Stacking will be enabled for some feature types. The default stacking behavior for labels will depend on their feature type |
Label | 1 | The text should not be broken (wrapped), no matter how long it is. |
Label | 2 | The label placement engine can break the text into two or more row (lines) if the rows are longer than the Label |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelTextLayout
The layout to use for label text, which can be either horizontal, straight, perpendicular, or follow the line feature.
The LabelTextLayout can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | The text layout will be determined by the individual feature type. For each label, the layout will be determined by the feature geometry type |
Label | 1 | Text will be written horizontally (with respect to the screen). If the map is rotated within the screen, then the text will be redrawn (and possibly repositioned) to remain horizontal with respect to the screen. |
Label | 2 | Text will be written perpendicular to the Label |
Label | 3 | Text will be written along a straight line, following the point positioning angle or at a tangent to the line feature. An angle for placement and orientation will be calculated for each label if the "label |
Centered point labels will stay centered on the point feature, but will be rotated to the angle (or horizontal, if none has been defined).
Offset point labels will be positioned around the point feature, at the position specified by the angle. The text will lie along this angle, so that it stretches radially from the edge of the point feature.
Note that if a label has an angle of zero then its text will be drawn horizontally with respect to the map. If the map is rotated within the screen, the text will rotate with the map.
Line labels will be positioned as usual, but then rotated (around their midpoint) to lie on a straight line at a tangent to the line geometry at that point.
Constant | Value | Description |
---|---|---|
Label | 4 | Text will bend to follow a curved or multi-segment line feature. Individual characters will be angled to follow the changes in angle of the line geometry. If the text overruns the beginning or end of the line geometry, then the remaining characters will be laid out in a straight line extrapolated from the last geometry segment. |
This enum was introduced in Esri::ArcGISRuntime 100.11.
[since Esri::ArcGISRuntime 100.11]
enum class LabelTextOrientation
The orientation of label text.
The LabelTextOrientation can be one of:
Constant | Value | Description |
---|---|---|
Label | 0 | Use the default text orientation ( |
Label | 1 | Text follows the placement angle direction, even if it means being drawn upside-down. |
Label | 2 | Text follows the screen orientation, and flips if necessary. Text should be flipped through 180 degrees to keep it readable on the screen. The text will flip whenever the feature 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). |
This enum was introduced in Esri::ArcGISRuntime 100.11.