Interface TextSymbolizer

All Superinterfaces:
Symbolizer
All Known Implementing Classes:
TextSymbolizerImpl

public interface TextSymbolizer extends Symbolizer
Indicates how text will be drawn.
Since:
GeoAPI 2.2
Author:
Open Geospatial Consortium, Johann Sorel (Geomatys), Chris Dillard (SYS Technologies)
  • Field Details

    • GROUP_KEY

      static final String 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_GROUP
      Default grouping value, false
      See Also:
    • SPACE_AROUND_KEY

      static final String SPACE_AROUND_KEY
      The minimum distance between two labels, in pixels
      See Also:
    • DEFAULT_SPACE_AROUND

      static final int DEFAULT_SPACE_AROUND
      By default, don't add space around labels
      See Also:
    • MAX_DISPLACEMENT_KEY

      static final String 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_DISPLACEMENT
      Default max displacement
      See Also:
    • MIN_GROUP_DISTANCE_KEY

      static final String 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_DISTANCE
      Default min distance between labels in the same group (-1 means no min distance)
      See Also:
    • LABEL_REPEAT_KEY

      static final String 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_REPEAT
      Default repetition distance for labels (<= 0 -> no repetition)
      See Also:
    • LABEL_ALL_GROUP_KEY

      static final String 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_GROUP
      If in case of grouping all resulting lines have to be labelled
      See Also:
    • ALLOW_OVERRUNS_KEY

      static final String 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_OVERRUNS
      We allow labels that are longer than the line to appear by default
      See Also:
    • REMOVE_OVERLAPS_KEY

      static final String 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_OVERLAPS
      Default value for REMOVE_OVERLAPS_KEY
      See Also:
    • FOLLOW_LINE_KEY

      static final String 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_LINE
      If labels with a line placement should follow the line shape or be just tangent
      See Also:
    • UNDERLINE_TEXT_KEY

      static final String 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_TEXT
      If labels text should be underline or not.
      See Also:
    • STRIKETHROUGH_TEXT_KEY

      static final String 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_TEXT
      If labels text should be stroke through or not.
      See Also:
    • MAX_ANGLE_DELTA_KEY

      static final String 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_DELTA
      When 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

      static final String 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_WRAP
      Auto wrapping long labels default
      See Also:
    • FORCE_LEFT_TO_RIGHT_KEY

      static final String 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_RIGHT
      Force labels to a readable orientation (so that they don't look "upside down")
      See Also:
    • CONFLICT_RESOLUTION_KEY

      static final String 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_RESOLUTION
      By default, put each label in the conflict resolution map
      See Also:
    • GOODNESS_OF_FIT_KEY

      static final String 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_FIT
      Default value for the goodness of fit threshold
      See Also:
    • POLYGONALIGN_KEY

      static final String POLYGONALIGN_KEY
      Option overriding manual rotation to align label rotation automatically for polygons.
      See Also:
    • GRAPHIC_MARGIN_KEY

      static final String GRAPHIC_MARGIN_KEY
      Pixels between the stretched graphic and the text, applies when graphic stretching is in use
      See Also:
    • GRAPHIC_RESIZE_KEY

      static final String GRAPHIC_RESIZE_KEY
      Stretches the graphic below a label to fit the label size. Possible values are 'stretch', 'proportional'.
      See Also:
    • DEFAULT_POLYGONALIGN

      static final TextSymbolizer.PolygonAlignOptions DEFAULT_POLYGONALIGN
      Default value for the polygonAlign
    • PARTIALS_KEY

      static final String PARTIALS_KEY
      Option to truncate labels placed on the border of the displayArea (display partial labels).
      See Also:
    • DEFAULT_PARTIALS

      static final boolean DEFAULT_PARTIALS
      Default 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

      static final String KERNING_KEY
      Option to enable automatic adjustment of the space between characters
      See Also:
    • DEFAULT_KERNING

      static final boolean DEFAULT_KERNING
      Default behaviour is to perform kerning
      See Also:
    • CHAR_SPACING_KEY

      static final String 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_SPACING
      Default extra char spacing (no extra)
      See Also:
    • WORD_SPACING_KEY

      static final String 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_SPACING
      Default extra word spacing (no extra)
      See Also:
    • FONT_SHRINK_SIZE_MIN

      static final String 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_MIN
      Default font shrink size
      See Also:
    • DISPLACEMENT_MODE_KEY

      static final String DISPLACEMENT_MODE_KEY
      Option to control displacement of labels. Available values are defined as enum values @see TextSymbolizer.DisplacementMode
      See Also:
    • GRAPHIC_PLACEMENT_KEY

      static final String 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

      void setLabel(Expression label)
      Sets the expression that will be evaluated to determine what text is displayed. See getLabel() for details.
    • fonts

      List<Font> 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

      void setLabelPlacement(LabelPlacement labelPlacement)
      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

      void setHalo(Halo halo)
      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

      Object accept(TraversingStyleVisitor visitor, Object extraData)
      calls the visit method of a StyleVisitor
      Specified by:
      accept in interface Symbolizer
      Parameters:
      visitor - the style visitor
      Returns:
      value produced
    • setFill

      void setFill(Fill fill)
      Sets the object that indicates how the text will be filled. See getFill() for details.
    • setPriority

      void setPriority(Expression e)
      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

      Map<String,String> getOptions()
      return the map of option
      Specified by:
      getOptions in interface Symbolizer
      Returns:
      null - no options set
    • setFont

      void setFont(Font font)
      Set initial font used to render label. This will replace the initial entry in the fonts() 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

      void setGraphic(Graphic graphic)
      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

      void setSnippet(Expression expression)
    • getFeatureDescription

      Expression getFeatureDescription()
      Description is used by text oriented renders such as KML and RSS to specify a feature's description
    • setFeatureDescription

      void setFeatureDescription(Expression description)
    • getOtherText

      OtherText getOtherText()
      Other text can be used to allow open ended extensions on text oriented output formats
    • setOtherText

      void setOtherText(OtherText otherText)