Package org.geotools.api.style
Interface TextSymbolizer
- All Superinterfaces:
Symbolizer
- All Known Implementing Classes:
TextSymbolizerImpl
Indicates how text will be drawn.
- Since:
- GeoAPI 2.2
- Author:
- Open Geospatial Consortium, Johann Sorel (Geomatys), Chris Dillard (SYS Technologies)
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
DisplacementMode associates an angle with each enum valuestatic enum
GraphicPlacemnts controls the position of the Graphic associated with the labelstatic enum
Enumerated options that can be used with polygonAlign. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
When false does not allow labels on lines to get beyond the beginning/end of the line.static final String
Number of pixels are which a long label should be split into multiple lines.static final String
Option expand/shrink character spacing, expressed as a value in pixels.static final String
Enables conflict resolution (default, true) meaning no two labels will be allowed to overlap.static final boolean
We allow labels that are longer than the line to appear by defaultstatic final int
Auto wrapping long labels defaultstatic final double
Default extra char spacing (no extra)static final boolean
By default, put each label in the conflict resolution mapstatic final boolean
If labels with a line placement should follow the line shape or be just tangentstatic final int
Default font shrink sizestatic final boolean
Force labels to a readable orientation (so that they don't look "upside down")static final double
Default value for the goodness of fit thresholdstatic final boolean
Default grouping value, falsestatic final boolean
Default behaviour is to perform kerningstatic final boolean
If in case of grouping all resulting lines have to be labelledstatic final int
Default repetition distance for labels (<= 0 -> no repetition)static final double
When label follows line, the max angle change between two subsequent characters, keeping it low avoids chars overlaps.static final int
Default max displacementstatic final int
Default min distance between labels in the same group (-1 means no min distance)static final boolean
Default behaviour is to not truncate labels on the border of the display area.static final TextSymbolizer.PolygonAlignOptions
Default value for the polygonAlignstatic final boolean
Default value for REMOVE_OVERLAPS_KEYstatic final int
By default, don't add space around labelsstatic final boolean
If labels text should be stroke through or not.static final boolean
If labels text should be underline or not.static final double
Default extra word spacing (no extra)static final String
Option to control displacement of labels.static final String
When true activates curved labels on linear geometries.static final String
Option expressed in value of pixels.static final String
When true forces labels to a readable orientation, when false they make follow the line orientation even if that means the label will look upside down (useful when using TTF symbol fonts to add direction markers along a line)static final String
Sets the percentage of the label that must sit inside the geometry to allow drawing the label.static final String
Pixels between the stretched graphic and the text, applies when graphic stretching is in usestatic final String
Placement of the graphic element, see GraphicPlacement enumeration for possible valuestatic final String
Stretches the graphic below a label to fit the label size.static final String
If true, geometries with the same labels are grouped and considered a single entity to be labeled.static final String
Option to enable automatic adjustment of the space between charactersstatic final String
When false, only the biggest geometry in a group is labelled (the biggest is obtained by merging, when possible, the original geometries).static final String
When positive it's the desired distance between two subsequent labels on a "big" geometry.static final String
When drawing curved labels, max allowed angle between two subsequent characters.static final String
The distance, in pixel, a label can be displaced from its natural position in an attempt to find a position that does not conflict with already drawn labels.static final String
Minimum distance between two labels in the same label group.static final String
Option to truncate labels placed on the border of the displayArea (display partial labels).static final String
Option overriding manual rotation to align label rotation automatically for polygons.static final String
If, in case of grouping, self overlaps have to be taken into account and removed (expensive!)static final String
The minimum distance between two labels, in pixelsstatic final String
When TRUE labels text will be stroked through, the line will have the same color of the text.static final String
When TRUE labels text will be underline, the underline will have the same color of the text.static final String
Option expand word spacing, expressed as a value in pixels. -
Method Summary
Modifier and TypeMethodDescriptionaccept
(TraversingStyleVisitor visitor, Object extraData) calls the visit method of a StyleVisitorfonts()
Direct access to device independent Fonts used to render the label.Description is used by text oriented renders such as KML and RSS to specify a feature's descriptiongetFill()
Returns the object that indicates how the text will be filled.getFont()
Returns the Font to apply on the text.The nonstandard-SLD graphic element supports putting little graphical-bits onto labels.getHalo()
A halo fills an extended area outside the glyphs of a rendered text label to make the label easier to read over a background.getLabel()
Returns the expression that will be evaluated to determine what text is displayed.A LabelPlacement specifies how a text element should be rendered relative to its geometric point or line.return the map of optionOther text can be used to allow open ended extensions on text oriented output formatsPriority -- null = use the default labeling priority Expression = an expression that evaluates to a number (ie.Abstract is used by text oriented renderers such as KML and RSS to specify an abstract (RSS) or a snippet (KML)void
setFeatureDescription
(Expression description) void
Sets the object that indicates how the text will be filled.void
Set initial font used to render label.void
setGraphic
(Graphic graphic) The nonstandard-SLD graphic element supports putting little graphical-bits onto labels.void
A halo fills an extended area outside the glyphs of a rendered text label to make the label easier to read over a background.void
setLabel
(Expression label) Sets the expression that will be evaluated to determine what text is displayed.void
setLabelPlacement
(LabelPlacement labelPlacement) A LabelPlacement specifies how a text element should be rendered relative to its geometric point or line.void
setOtherText
(OtherText otherText) void
Priority -- null = use the default labeling priority Expression = an expression that evaluates to a number (ie.void
setSnippet
(Expression expression) Methods inherited from interface Symbolizer
accept, getDescription, getGeometry, getGeometryPropertyName, getName, getUnitOfMeasure, hasOption, setDescription, setGeometry, setGeometryPropertyName, setName, setUnitOfMeasure
-
Field Details
-
GROUP_KEY
If true, geometries with the same labels are grouped and considered a single entity to be labeled. This allows to avoid or control repeated labels- See Also:
-
DEFAULT_GROUP
static final boolean DEFAULT_GROUPDefault grouping value, false- See Also:
-
SPACE_AROUND_KEY
The minimum distance between two labels, in pixels- See Also:
-
DEFAULT_SPACE_AROUND
static final int DEFAULT_SPACE_AROUNDBy default, don't add space around labels- See Also:
-
MAX_DISPLACEMENT_KEY
The distance, in pixel, a label can be displaced from its natural position in an attempt to find a position that does not conflict with already drawn labels.- See Also:
-
DEFAULT_MAX_DISPLACEMENT
static final int DEFAULT_MAX_DISPLACEMENTDefault max displacement- See Also:
-
MIN_GROUP_DISTANCE_KEY
Minimum distance between two labels in the same label group. To be used when both displacement and repeat are used to avoid having two labels too close to each other- See Also:
-
DEFAULT_MIN_GROUP_DISTANCE
static final int DEFAULT_MIN_GROUP_DISTANCEDefault min distance between labels in the same group (-1 means no min distance)- See Also:
-
LABEL_REPEAT_KEY
When positive it's the desired distance between two subsequent labels on a "big" geometry. Works only on lines at the moment. If zero only one label is drawn no matter how big the geometry is- See Also:
-
DEFAULT_LABEL_REPEAT
static final int DEFAULT_LABEL_REPEATDefault repetition distance for labels (<= 0 -> no repetition)- See Also:
-
LABEL_ALL_GROUP_KEY
When false, only the biggest geometry in a group is labelled (the biggest is obtained by merging, when possible, the original geometries). When true, also the smaller items in the group are labeled. Works only on lines at the moment.- See Also:
-
DEFAULT_LABEL_ALL_GROUP
static final boolean DEFAULT_LABEL_ALL_GROUPIf in case of grouping all resulting lines have to be labelled- See Also:
-
ALLOW_OVERRUNS_KEY
When false does not allow labels on lines to get beyond the beginning/end of the line. By default a partial overrun is tolerated, set to false to disallow it.- See Also:
-
DEFAULT_ALLOW_OVERRUNS
static final boolean DEFAULT_ALLOW_OVERRUNSWe allow labels that are longer than the line to appear by default- See Also:
-
REMOVE_OVERLAPS_KEY
If, in case of grouping, self overlaps have to be taken into account and removed (expensive!)- See Also:
-
DEFAULT_REMOVE_OVERLAPS
static final boolean DEFAULT_REMOVE_OVERLAPSDefault value for REMOVE_OVERLAPS_KEY- See Also:
-
FOLLOW_LINE_KEY
When true activates curved labels on linear geometries. The label will follow the shape of the current line, as opposed to being drawn a tangent straight line- See Also:
-
DEFAULT_FOLLOW_LINE
static final boolean DEFAULT_FOLLOW_LINEIf labels with a line placement should follow the line shape or be just tangent- See Also:
-
UNDERLINE_TEXT_KEY
When TRUE labels text will be underline, the underline will have the same color of the text.- See Also:
-
DEFAULT_UNDERLINE_TEXT
static final boolean DEFAULT_UNDERLINE_TEXTIf labels text should be underline or not.- See Also:
-
STRIKETHROUGH_TEXT_KEY
When TRUE labels text will be stroked through, the line will have the same color of the text.- See Also:
-
DEFAULT_STRIKETHROUGH_TEXT
static final boolean DEFAULT_STRIKETHROUGH_TEXTIf labels text should be stroke through or not.- See Also:
-
MAX_ANGLE_DELTA_KEY
When drawing curved labels, max allowed angle between two subsequent characters. Higher angles may cause disconnected words or overlapping characters- See Also:
-
DEFAULT_MAX_ANGLE_DELTA
static final double DEFAULT_MAX_ANGLE_DELTAWhen label follows line, the max angle change between two subsequent characters, keeping it low avoids chars overlaps. When the angle is exceeded the label placement will fail.- See Also:
-
AUTO_WRAP_KEY
Number of pixels are which a long label should be split into multiple lines. Works on all geometries, on lines it is mutually exclusive with the followLine option- See Also:
-
DEFAULT_AUTO_WRAP
static final int DEFAULT_AUTO_WRAPAuto wrapping long labels default- See Also:
-
FORCE_LEFT_TO_RIGHT_KEY
When true forces labels to a readable orientation, when false they make follow the line orientation even if that means the label will look upside down (useful when using TTF symbol fonts to add direction markers along a line)- See Also:
-
DEFAULT_FORCE_LEFT_TO_RIGHT
static final boolean DEFAULT_FORCE_LEFT_TO_RIGHTForce labels to a readable orientation (so that they don't look "upside down")- See Also:
-
CONFLICT_RESOLUTION_KEY
Enables conflict resolution (default, true) meaning no two labels will be allowed to overlap. Symbolizers with conflict resolution off are considered outside of the conflict resolution game, they don't reserve area and can overlap with other labels.- See Also:
-
DEFAULT_CONFLICT_RESOLUTION
static final boolean DEFAULT_CONFLICT_RESOLUTIONBy default, put each label in the conflict resolution map- See Also:
-
GOODNESS_OF_FIT_KEY
Sets the percentage of the label that must sit inside the geometry to allow drawing the label. Works only on polygons.- See Also:
-
DEFAULT_GOODNESS_OF_FIT
static final double DEFAULT_GOODNESS_OF_FITDefault value for the goodness of fit threshold- See Also:
-
POLYGONALIGN_KEY
Option overriding manual rotation to align label rotation automatically for polygons.- See Also:
-
GRAPHIC_MARGIN_KEY
Pixels between the stretched graphic and the text, applies when graphic stretching is in use- See Also:
-
GRAPHIC_RESIZE_KEY
Stretches the graphic below a label to fit the label size. Possible values are 'stretch', 'proportional'.- See Also:
-
DEFAULT_POLYGONALIGN
Default value for the polygonAlign -
PARTIALS_KEY
Option to truncate labels placed on the border of the displayArea (display partial labels).- See Also:
-
DEFAULT_PARTIALS
static final boolean DEFAULT_PARTIALSDefault behaviour is to not truncate labels on the border of the display area. Instead, labels are hidden or moved to be fully displayed inside the area.- See Also:
-
KERNING_KEY
Option to enable automatic adjustment of the space between characters- See Also:
-
DEFAULT_KERNING
static final boolean DEFAULT_KERNINGDefault behaviour is to perform kerning- See Also:
-
CHAR_SPACING_KEY
Option expand/shrink character spacing, expressed as a value in pixels. A negative value will shrink spacing, making character eventually overlap.- See Also:
-
DEFAULT_CHAR_SPACING
static final double DEFAULT_CHAR_SPACINGDefault extra char spacing (no extra)- See Also:
-
WORD_SPACING_KEY
Option expand word spacing, expressed as a value in pixels. This option does not support negative values- See Also:
-
DEFAULT_WORD_SPACING
static final double DEFAULT_WORD_SPACINGDefault extra word spacing (no extra)- See Also:
-
FONT_SHRINK_SIZE_MIN
Option expressed in value of pixels. This option does not support negative values. Works only on polygons.- See Also:
-
DEFAULT_FONT_SHRINK_SIZE_MIN
static final int DEFAULT_FONT_SHRINK_SIZE_MINDefault font shrink size- See Also:
-
DISPLACEMENT_MODE_KEY
Option to control displacement of labels. Available values are defined as enum values @seeTextSymbolizer.DisplacementMode
- See Also:
-
GRAPHIC_PLACEMENT_KEY
Placement of the graphic element, see GraphicPlacement enumeration for possible value- See Also:
-
-
Method Details
-
getLabel
Expression getLabel()Returns the expression that will be evaluated to determine what text is displayed. If a Label element is not provided in a TextSymbolizer, then no text shall be rendered.- Returns:
- Expression
-
setLabel
Sets the expression that will be evaluated to determine what text is displayed. SeegetLabel()
for details. -
fonts
Direct access to device independent Fonts used to render the label. Fonts are used in order of priority given.- Returns:
- device independent Font used to render the label.
-
getFont
Font getFont()Returns the Font to apply on the text.- Returns:
- Font
-
getLabelPlacement
LabelPlacement getLabelPlacement()A LabelPlacement specifies how a text element should be rendered relative to its geometric point or line. -
setLabelPlacement
A LabelPlacement specifies how a text element should be rendered relative to its geometric point or line. -
getHalo
Halo getHalo()A halo fills an extended area outside the glyphs of a rendered text label to make the label easier to read over a background. -
setHalo
A halo fills an extended area outside the glyphs of a rendered text label to make the label easier to read over a background. -
getFill
Fill getFill()Returns the object that indicates how the text will be filled. -
accept
calls the visit method of a StyleVisitor- Specified by:
accept
in interfaceSymbolizer
- Parameters:
visitor
- the style visitor- Returns:
- value produced
-
setFill
Sets the object that indicates how the text will be filled. SeegetFill()
for details. -
setPriority
Priority -- null = use the default labeling priority Expression = an expression that evaluates to a number (ie. Integer, Long, Double...) Larger = more likely to be rendered -
getPriority
Expression getPriority()Priority -- null = use the default labeling priority Expression = an expression that evaluates to a number (ie. Integer, Long, Double...) Larger = more likely to be rendered -
getOptions
return the map of option- Specified by:
getOptions
in interfaceSymbolizer
- Returns:
- null - no options set
-
setFont
Set initial font used to render label. This will replace the initial entry in thefonts()
list. -
getGraphic
Graphic getGraphic()The nonstandard-SLD graphic element supports putting little graphical-bits onto labels. Useful for things like interstate road shields or labeled logos- Returns:
- - the Graphic object to be rendered under the label text
-
setGraphic
The nonstandard-SLD graphic element supports putting little graphical-bits onto labels. Useful for things like interstate road shields or labeled logos- Parameters:
graphic
- - the Graphic object which will be rendered under the label text
-
getSnippet
Expression getSnippet()Abstract is used by text oriented renderers such as KML and RSS to specify an abstract (RSS) or a snippet (KML) -
setSnippet
-
getFeatureDescription
Expression getFeatureDescription()Description is used by text oriented renders such as KML and RSS to specify a feature's description -
setFeatureDescription
-
getOtherText
OtherText getOtherText()Other text can be used to allow open ended extensions on text oriented output formats -
setOtherText
-