org.geotools.brewer.color
Class StyleGenerator

java.lang.Object
  extended byorg.geotools.brewer.color.StyleGenerator

public class StyleGenerator
extends java.lang.Object

Generates a style/featureTypeStyle using ColorBrewer.
WARNING: this is unstable and subject to change.

Author:
Cory Horner, Refractions Research Inc.

Field Summary
static int ELSEMODE_IGNORE
           
static int ELSEMODE_INCLUDEASMAX
           
static int ELSEMODE_INCLUDEASMIN
           
 
Constructor Summary
StyleGenerator(java.awt.Color[] colors, ClassificationFunction function, java.lang.String typeId)
          Creates an instance of the StyleGenerator with the components it needs.
 
Method Summary
 FeatureTypeStyle createFeatureTypeStyle()
           
 ClassificationFunction getClassifier()
           
 FeatureCollection getCollection()
           
 java.awt.Color[] getColors()
           
 Stroke getDefaultStroke()
           
 Expression getExpression()
           
 int getNumClasses()
           
 double getOpacity()
           
static boolean isRanged(java.lang.String styleExpression)
          Determines if a string is an instance of a ranged expression or unique values.
static void modifyFTS(FeatureTypeStyle fts, int ruleIndex, java.lang.String styleExpression)
           
 void setClassifier(ClassificationFunction function)
           
 void setCollection(FeatureCollection collection)
           
 void setColors(java.awt.Color[] colors)
           
 void setDefaultStroke(Stroke defaultStroke)
           
 void setElseMode(int elseMode)
           
 void setExpression(Expression expression)
           
 void setNumClasses(int numClasses)
           
 void setOpacity(double opacity)
           
 void setTitleSpacer(java.lang.String titleSpacer)
          Sets the text displayed between ranged values (by default " to ").
 void setTypeId(java.lang.String typeId)
          Sets the semantic type identifier, which will be prefixed with "colorbrewer:"
static Filter toExplicitFilter(java.lang.String styleExpression, Expression attribExpr)
           Creates a filter with each value explicitly defined.
static Filter toExplicitFilter(java.lang.String styleExpression, FeatureType featureType, java.lang.String attributeTypeName)
           Creates a filter with each value explicitly defined.
static Filter[] toFilter(java.lang.String[] styleExpression, FeatureType[] featureType, java.lang.String[] attributeTypeName)
           Converts an array of styleExpressions and attributes into Filters styleExpression[0] = "1..5";
styleExpression[1] = "5..10";
styleExpression[2] = "11, -13";
--->
filter[0] = [[1 <= attr] AND [attr < 5]]
filter[1] = [[6 <= attr] AND [attr <= 10]]
filter[2] = [[attr = 11] OR [attr = -13]]
static Filter toRangedFilter(java.lang.String styleExpression, FeatureType featureType, java.lang.String attributeTypeName, boolean upperBoundClosed)
           Creates a filter for a range of values.
static java.lang.String toStyleExpression(Filter filter)
           
static java.lang.String[] toStyleExpression(Filter[] filter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ELSEMODE_IGNORE

public static final int ELSEMODE_IGNORE
See Also:
Constant Field Values

ELSEMODE_INCLUDEASMIN

public static final int ELSEMODE_INCLUDEASMIN
See Also:
Constant Field Values

ELSEMODE_INCLUDEASMAX

public static final int ELSEMODE_INCLUDEASMAX
See Also:
Constant Field Values
Constructor Detail

StyleGenerator

public StyleGenerator(java.awt.Color[] colors,
                      ClassificationFunction function,
                      java.lang.String typeId)
Creates an instance of the StyleGenerator with the components it needs.

Parameters:
colors -
function - classificationFunction containing our desired breaks
typeId - "colorbrewer:"+typeId = SemanticTypeIdentifier
Method Detail

getCollection

public FeatureCollection getCollection()

setCollection

public void setCollection(FeatureCollection collection)

getColors

public java.awt.Color[] getColors()

setColors

public void setColors(java.awt.Color[] colors)

getExpression

public Expression getExpression()

setExpression

public void setExpression(Expression expression)

getNumClasses

public int getNumClasses()

setNumClasses

public void setNumClasses(int numClasses)

getOpacity

public double getOpacity()

setOpacity

public void setOpacity(double opacity)

getDefaultStroke

public Stroke getDefaultStroke()

setDefaultStroke

public void setDefaultStroke(Stroke defaultStroke)

getClassifier

public ClassificationFunction getClassifier()

setClassifier

public void setClassifier(ClassificationFunction function)

setTypeId

public void setTypeId(java.lang.String typeId)
Sets the semantic type identifier, which will be prefixed with "colorbrewer:"

Parameters:
typeId -

setTitleSpacer

public void setTitleSpacer(java.lang.String titleSpacer)
Sets the text displayed between ranged values (by default " to ").

Parameters:
titleSpacer -

setElseMode

public void setElseMode(int elseMode)

createFeatureTypeStyle

public FeatureTypeStyle createFeatureTypeStyle()
                                        throws IllegalFilterException
Throws:
IllegalFilterException

modifyFTS

public static void modifyFTS(FeatureTypeStyle fts,
                             int ruleIndex,
                             java.lang.String styleExpression)
                      throws IllegalFilterException
Throws:
IllegalFilterException

toStyleExpression

public static java.lang.String toStyleExpression(Filter filter)

toStyleExpression

public static java.lang.String[] toStyleExpression(Filter[] filter)

toFilter

public static Filter[] toFilter(java.lang.String[] styleExpression,
                                FeatureType[] featureType,
                                java.lang.String[] attributeTypeName)
                         throws IllegalFilterException

Converts an array of styleExpressions and attributes into Filters

styleExpression[0] = "1..5";
styleExpression[1] = "5..10";
styleExpression[2] = "11, -13";
--->
filter[0] = [[1 <= attr] AND [attr < 5]]
filter[1] = [[6 <= attr] AND [attr <= 10]]
filter[2] = [[attr = 11] OR [attr = -13]]

Parameters:
styleExpression - strings of ranged expressions "lowValue..highValue" or explicit values "value1, value2"
Returns:
all the filters
Throws:
IllegalFilterException

toRangedFilter

public static Filter toRangedFilter(java.lang.String styleExpression,
                                    FeatureType featureType,
                                    java.lang.String attributeTypeName,
                                    boolean upperBoundClosed)
                             throws IllegalFilterException

Creates a filter for a range of values.

Examples:
"1..5", closed=true --> [[1 <= attr] AND [attr <= 5]]
"1..10", closed=false --> [[1 <= attr] AND [attr < 10]]

Parameters:
styleExpression - the ranged style expression (minValue..maxValue)
upperBoundClosed - is the upper bound include the max value? (true: <=, false: <)
Returns:
a filter
Throws:
IllegalFilterException

isRanged

public static boolean isRanged(java.lang.String styleExpression)
Determines if a string is an instance of a ranged expression or unique values.


toExplicitFilter

public static Filter toExplicitFilter(java.lang.String styleExpression,
                                      FeatureType featureType,
                                      java.lang.String attributeTypeName)
                               throws IllegalFilterException

Creates a filter with each value explicitly defined.

Examples:
"LIB" --> [PARTY = LIB]
"LIB, NDP" --> [[PARTY = LIB] OR [PARTY = NDP]]

Parameters:
styleExpression - the list of attribute values, separated by commas (and optional spaces)
Returns:
a filter
Throws:
IllegalFilterException

toExplicitFilter

public static Filter toExplicitFilter(java.lang.String styleExpression,
                                      Expression attribExpr)
                               throws IllegalFilterException

Creates a filter with each value explicitly defined.

Examples:
"LIB" --> [PARTY = LIB]
"LIB, NDP" --> [[PARTY = LIB] OR [PARTY = NDP]]

Parameters:
styleExpression - the list of attribute values, separated by commas (and optional spaces)
attribExpr - an Expression to compare each value with (simple case = attributeExpression)
Returns:
a filter
Throws:
IllegalFilterException


Copyright © GeoTools. All Rights Reserved.