Package org.geotools.renderer.label
Class LabelCacheItem
- Object
-
- LabelCacheItem
-
- All Implemented Interfaces:
Comparable<LabelCacheItem>
public class LabelCacheItem extends Object implements Comparable<LabelCacheItem>
The Labelling information that is put in the label cache.- Author:
- jeichar, dblasby, simone giannecchini, Andrea Aime - OpenGeo
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classLabelCacheItem.GraphicResize
-
Constructor Summary
Constructors Constructor Description LabelCacheItem(String layerId, TextStyle2D textStyle, LiteShape2 shape, String label, TextSymbolizer symbolizer)ConstructLabelCacheItem.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowOverruns()Wheter labels are allowed to go past the start/end of the lineintcompareTo(LabelCacheItem other)booleanequals(Object obj)intgetAutoWrap()Automatically wraps long labels when the label width, in pixels, exceeds the autowrap lengthint[]getDisplacementAngles()defines the actual angle towards which displacement of label will take place (applies only in polygon or point features)intgetFontShrinkSizeMin()GeometrygetGeometry()Returns an example geometry from the list of geometries.List<Geometry>getGeoms()The list of geometries this item maintainsdoublegetGoodnessOfFit()int[]getGraphicMargin()TextSymbolizer.GraphicPlacementgetGraphicPlacement()LabelCacheItem.GraphicResizegetGraphicsResize()StringgetLabel()Set<String>getLayerIds()Return a modifiable set of idsdoublegetMaxAngleDelta()Max angle between two subsequence characters in a curved label, in degrees.intgetMaxDisplacement()Max amount of pixels the label will be moved around trying to find a non conflicting location (how and if the moving will be done is geometry type dependent)intgetMinGroupDistance()doublegetPriority()intgetRepeat()When enabled, repeats labels every "repeat" pixels (works on lines only atm)intgetSpaceAround()space around - "dont put any label near me by this # of pixels"TextStyle2DgetTextStyle()The textstyle that is used to label the shape.doublegetWordSpacing()inthashCode()booleanisConflictResolutionEnabled()Checks if conflict resolution has been enabled for this labelbooleanisFollowLineEnabled()Enables curved labels on linear featuresbooleanisForceLeftToRightEnabled()If enabled, text will be forced to follow a left to right alignement (that makes it readable) no matter what the natural orientation of the line isbooleanisPartialsEnabled()booleanisTextStrikethrough()booleanisTextUnderlined()booleanlabelAllGroup()When grouping, wheter we should label only the biggest geometry, or the others as wellbooleanremoveGroupOverlaps()voidsetAllowOverruns(boolean allowOverruns)voidsetAutoWrap(int autoWrap)voidsetConflictResolutionEnabled(boolean conflictResolutionEnabled)Sets conflict resolution for this label.voidsetDisplacementAngles(int[] displacementAngles)voidsetFollowLineEnabled(boolean followLineEnabled)voidsetFontShrinkSizeMin(int fontShrinkSize)voidsetForceLeftToRightEnabled(boolean forceLeftToRight)voidsetGoodnessOfFit(double goodnessOfFit)A value between 0 and 1 representing the portion of the label that overlaps with the geometry (atm used only for polygons)voidsetGraphicMargin(int[] graphicMargin)voidsetGraphicPlacement(TextSymbolizer.GraphicPlacement graphicPlacement)voidsetGraphicsResize(LabelCacheItem.GraphicResize graphicsResize)voidsetLabel(String l)voidsetLabelAllGroup(boolean labelAllGroup)voidsetMaxAngleDelta(double maxAngleDelta)voidsetMaxDisplacement(int maxDisplacement)voidsetMinGroupDistance(int minGroupDistance)Minimum cartesian distance between two labels in the same group, in pixelsvoidsetPartialsEnabled(boolean partialsEnabled)voidsetPriority(double d)voidsetRemoveGroupOverlaps(boolean removeGroupOverlaps)voidsetRepeat(int repeat)voidsetSpaceAround(int space)space around - "dont put any label near me by this # of pixels"voidsetTextStrikethrough(boolean textStrikethrough)voidsetTextUnderlined(boolean textUnderlined)voidsetWordSpacing(double wordSpacing)
-
-
-
Constructor Detail
-
LabelCacheItem
public LabelCacheItem(String layerId, TextStyle2D textStyle, LiteShape2 shape, String label, TextSymbolizer symbolizer)
ConstructLabelCacheItem.
-
-
Method Detail
-
getGoodnessOfFit
public double getGoodnessOfFit()
-
setGoodnessOfFit
public void setGoodnessOfFit(double goodnessOfFit)
A value between 0 and 1 representing the portion of the label that overlaps with the geometry (atm used only for polygons)
-
getLabel
public String getLabel()
-
setLabel
public void setLabel(String l)
-
getSpaceAround
public int getSpaceAround()
space around - "dont put any label near me by this # of pixels"
-
setSpaceAround
public void setSpaceAround(int space)
space around - "dont put any label near me by this # of pixels"
-
getPriority
public double getPriority()
-
setPriority
public void setPriority(double d)
-
getTextStyle
public TextStyle2D getTextStyle()
The textstyle that is used to label the shape.
-
getGeometry
public Geometry getGeometry()
Returns an example geometry from the list of geometries.
-
getMaxDisplacement
public int getMaxDisplacement()
Max amount of pixels the label will be moved around trying to find a non conflicting location (how and if the moving will be done is geometry type dependent)
-
setMaxDisplacement
public void setMaxDisplacement(int maxDisplacement)
-
getDisplacementAngles
public int[] getDisplacementAngles()
defines the actual angle towards which displacement of label will take place (applies only in polygon or point features)
-
setDisplacementAngles
public void setDisplacementAngles(int[] displacementAngles)
-
getRepeat
public int getRepeat()
When enabled, repeats labels every "repeat" pixels (works on lines only atm)
-
setRepeat
public void setRepeat(int repeat)
-
labelAllGroup
public boolean labelAllGroup()
When grouping, wheter we should label only the biggest geometry, or the others as well
-
setLabelAllGroup
public void setLabelAllGroup(boolean labelAllGroup)
-
removeGroupOverlaps
public boolean removeGroupOverlaps()
-
setRemoveGroupOverlaps
public void setRemoveGroupOverlaps(boolean removeGroupOverlaps)
-
allowOverruns
public boolean allowOverruns()
Wheter labels are allowed to go past the start/end of the line
-
setAllowOverruns
public void setAllowOverruns(boolean allowOverruns)
-
getMinGroupDistance
public int getMinGroupDistance()
-
setMinGroupDistance
public void setMinGroupDistance(int minGroupDistance)
Minimum cartesian distance between two labels in the same group, in pixels
-
isFollowLineEnabled
public boolean isFollowLineEnabled()
Enables curved labels on linear features
-
setFollowLineEnabled
public void setFollowLineEnabled(boolean followLineEnabled)
-
getMaxAngleDelta
public double getMaxAngleDelta()
Max angle between two subsequence characters in a curved label, in degrees. Good visual results are obtained with an angle of less than 25 degrees.
-
setMaxAngleDelta
public void setMaxAngleDelta(double maxAngleDelta)
-
getAutoWrap
public int getAutoWrap()
Automatically wraps long labels when the label width, in pixels, exceeds the autowrap length
-
setAutoWrap
public void setAutoWrap(int autoWrap)
-
compareTo
public int compareTo(LabelCacheItem other)
- Specified by:
compareToin interfaceComparable<LabelCacheItem>
-
isForceLeftToRightEnabled
public boolean isForceLeftToRightEnabled()
If enabled, text will be forced to follow a left to right alignement (that makes it readable) no matter what the natural orientation of the line is
-
setForceLeftToRightEnabled
public void setForceLeftToRightEnabled(boolean forceLeftToRight)
-
isConflictResolutionEnabled
public boolean isConflictResolutionEnabled()
Checks if conflict resolution has been enabled for this label
-
setConflictResolutionEnabled
public void setConflictResolutionEnabled(boolean conflictResolutionEnabled)
Sets conflict resolution for this label. When on, this label outline/bbox will be stored in the conflict resolution map and will prevent every other label to be drawn in the same area
-
getGraphicsResize
public LabelCacheItem.GraphicResize getGraphicsResize()
-
setGraphicsResize
public void setGraphicsResize(LabelCacheItem.GraphicResize graphicsResize)
-
getGraphicMargin
public int[] getGraphicMargin()
-
setGraphicMargin
public void setGraphicMargin(int[] graphicMargin)
-
isPartialsEnabled
public boolean isPartialsEnabled()
-
setPartialsEnabled
public void setPartialsEnabled(boolean partialsEnabled)
-
isTextUnderlined
public boolean isTextUnderlined()
-
setTextUnderlined
public void setTextUnderlined(boolean textUnderlined)
-
isTextStrikethrough
public boolean isTextStrikethrough()
-
setTextStrikethrough
public void setTextStrikethrough(boolean textStrikethrough)
-
getWordSpacing
public double getWordSpacing()
-
setWordSpacing
public void setWordSpacing(double wordSpacing)
-
getFontShrinkSizeMin
public int getFontShrinkSizeMin()
-
setFontShrinkSizeMin
public void setFontShrinkSizeMin(int fontShrinkSize)
-
getGraphicPlacement
public TextSymbolizer.GraphicPlacement getGraphicPlacement()
-
setGraphicPlacement
public void setGraphicPlacement(TextSymbolizer.GraphicPlacement graphicPlacement)
-
-