org.geotools.brewer.color
Class StyleGenerator

java.lang.Object
  extended by org.geotools.brewer.color.StyleGenerator

public class StyleGenerator
extends java.lang.Object

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

Author:
Cory Horner, Refractions Research Inc.

Field Summary
static int ELSEMODE_IGNORE
           
static int ELSEMODE_INCLUDEASMAX
           
static int ELSEMODE_INCLUDEASMIN
           
 
Constructor Summary
protected StyleGenerator()
           
 
Method Summary
static FeatureTypeStyle createFeatureTypeStyle(Classifier classifier, org.opengis.filter.expression.Expression expression, java.awt.Color[] colors, java.lang.String typeId, org.opengis.feature.type.GeometryDescriptor geometryAttrType, int elseMode, double opacity, Stroke defaultStroke)
          Merges a classifier, array of colors and other data into a FeatureTypeStyle object.
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)
           
static org.opengis.filter.Filter toExplicitFilter(java.lang.String styleExpression, org.opengis.filter.expression.Expression attribExpr)
           Creates a filter with each value explicitly defined.
static org.opengis.filter.Filter toExplicitFilter(java.lang.String styleExpression, org.opengis.feature.simple.SimpleFeatureType featureType, java.lang.String attributeTypeName)
           Creates a filter with each value explicitly defined.
static org.opengis.filter.Filter[] toFilter(java.lang.String[] styleExpression, org.opengis.feature.simple.SimpleFeatureType[] featureType, java.lang.String[] attributeTypeName)
           Converts an array of styleExpressions and attributes into Filters
static org.opengis.filter.Filter toRangedFilter(java.lang.String styleExpression, org.opengis.feature.simple.SimpleFeatureType featureType, java.lang.String attributeTypeName, boolean upperBoundClosed)
           Creates a filter for a range of values.
static java.lang.String toStyleExpression(org.opengis.filter.Filter filter)
           
static java.lang.String[] toStyleExpression(org.opengis.filter.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

protected StyleGenerator()
Method Detail

createFeatureTypeStyle

public static FeatureTypeStyle createFeatureTypeStyle(Classifier classifier,
                                                      org.opengis.filter.expression.Expression expression,
                                                      java.awt.Color[] colors,
                                                      java.lang.String typeId,
                                                      org.opengis.feature.type.GeometryDescriptor geometryAttrType,
                                                      int elseMode,
                                                      double opacity,
                                                      Stroke defaultStroke)
                                               throws IllegalFilterException
Merges a classifier, array of colors and other data into a FeatureTypeStyle object. Yes, this constructor is insane and likely to change very soon.

Parameters:
classifier -
colors -
typeId - semantic type identifier, which will be prefixed with "colorbrewer:"
geometryAttrType -
elseMode -
opacity -
defaultStroke -
Returns:
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(org.opengis.filter.Filter filter)

toStyleExpression

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

toFilter

public static org.opengis.filter.Filter[] toFilter(java.lang.String[] styleExpression,
                                                   org.opengis.feature.simple.SimpleFeatureType[] 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"
featureType -
attributeTypeName -
Returns:
an array with all the filters
Throws:
IllegalFilterException

toRangedFilter

public static org.opengis.filter.Filter toRangedFilter(java.lang.String styleExpression,
                                                       org.opengis.feature.simple.SimpleFeatureType 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]] "..10, closed=true --> [attr <= 10]

Parameters:
styleExpression - the ranged style expression (minValue..maxValue)
featureType - the featureType
attributeTypeName - the attributeTypeName whose values correspond to
upperBoundClosed - does 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 org.opengis.filter.Filter toExplicitFilter(java.lang.String styleExpression,
                                                         org.opengis.feature.simple.SimpleFeatureType 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)
attributeTypeName - A Sting with the attributeTypeName whose values correspond to
Returns:
a filter
Throws:
IllegalFilterException

toExplicitFilter

public static org.opengis.filter.Filter toExplicitFilter(java.lang.String styleExpression,
                                                         org.opengis.filter.expression.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 © 1996-2010 Geotools. All Rights Reserved.