org.geotools.renderer.label
Class LabelCacheItem

Object
  extended by 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
Module:
modules/library/render (gt-render.jar)

Constructor Summary
LabelCacheItem(String layerId, TextStyle2D textStyle, LiteShape2 shape, String label)
          Construct LabelCacheItem.
 
Method Summary
 boolean allowOverruns()
          Wheter labels are allowed to go past the start/end of the line
 int compareTo(LabelCacheItem other)
           
 boolean equals(Object arg0)
           
 int getAutoWrap()
          Automatically wraps long labels when the label width, in pixels, exceeds the autowrap length
 Geometry getGeometry()
          Returns an example geometry from the list of geometries.
 List<Geometry> getGeoms()
          The list of geometries this item maintains
 double getGoodnessOfFit()
           
 String getLabel()
           
 Set<String> getLayerIds()
          Return a modifiable set of ids
 double getMaxAngleDelta()
          Max angle between two subsequence characters in a curved label, in degrees.
 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)
 int getMinGroupDistance()
           
 double getPriority()
           
 int getRepeat()
          When enabled, repeats labels every "repeat" pixels (works on lines only atm)
 int getSpaceAround()
          space around - "dont put any label near me by this # of pixels"
 TextStyle2D getTextStyle()
          The textstyle that is used to label the shape.
 int hashCode()
           
 boolean isConflictResolutionEnabled()
          Checks if conflict resolution has been enabled for this label
 boolean isFollowLineEnabled()
          Enables curved labels on linear features
 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
 boolean labelAllGroup()
          When grouping, wheter we should label only the biggest geometry, or the others as well
 boolean removeGroupOverlaps()
           
 void setAllowOverruns(boolean allowOverruns)
           
 void setAutoWrap(int autoWrap)
           
 void setConflictResolutionEnabled(boolean conflictResolutionEnabled)
          Sets conflict resolution for this label.
 void setFollowLineEnabled(boolean followLineEnabled)
           
 void setForceLeftToRightEnabled(boolean forceLeftToRight)
           
 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)
 void setLabel(String l)
           
 void setLabelAllGroup(boolean labelAllGroup)
           
 void setMaxAngleDelta(double maxAngleDelta)
           
 void setMaxDisplacement(int maxDisplacement)
           
 void setMinGroupDistance(int minGroupDistance)
          Minimum cartesian distance between two labels in the same group, in pixels
 void setPriority(double d)
           
 void setRemoveGroupOverlaps(boolean removeGroupOverlaps)
           
 void setRepeat(int repeat)
           
 void setSpaceAround(int space)
          space around - "dont put any label near me by this # of pixels"
 
Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LabelCacheItem

public LabelCacheItem(String layerId,
                      TextStyle2D textStyle,
                      LiteShape2 shape,
                      String label)
Construct LabelCacheItem.

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)

Parameters:
goodnessOfFit -

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)

getLayerIds

public Set<String> getLayerIds()
Return a modifiable set of ids

Returns:

getGeoms

public List<Geometry> getGeoms()
The list of geometries this item maintains


getTextStyle

public TextStyle2D getTextStyle()
The textstyle that is used to label the shape.


equals

public boolean equals(Object arg0)
Overrides:
equals in class Object
See Also:
Object.equals(java.lang.Object)

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)

Returns:

setMaxDisplacement

public void setMaxDisplacement(int maxDisplacement)

getRepeat

public int getRepeat()
When enabled, repeats labels every "repeat" pixels (works on lines only atm)

Returns:

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

Returns:

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

Returns:

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

Parameters:
minGroupDistance -

isFollowLineEnabled

public boolean isFollowLineEnabled()
Enables curved labels on linear features

Returns:

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.

Returns:

setMaxAngleDelta

public void setMaxAngleDelta(double maxAngleDelta)

getAutoWrap

public int getAutoWrap()
Automatically wraps long labels when the label width, in pixels, exceeds the autowrap length

Returns:

setAutoWrap

public void setAutoWrap(int autoWrap)

hashCode

public int hashCode()
Overrides:
hashCode in class Object

compareTo

public int compareTo(LabelCacheItem other)
Specified by:
compareTo in interface Comparable<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

Returns:

setForceLeftToRightEnabled

public void setForceLeftToRightEnabled(boolean forceLeftToRight)

isConflictResolutionEnabled

public boolean isConflictResolutionEnabled()
Checks if conflict resolution has been enabled for this label

Returns:

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

Parameters:
conflictResolutionEnabled -


Copyright © 1996-2010 Geotools. All Rights Reserved.