Package org.geotools.brewer.color
Class StyleGenerator
- Object
-
- StyleGenerator
-
public class StyleGenerator extends Object
Generates a style/featureTypeStyle using ColorBrewer.
WARNING: this is unstable and subject to radical change.- Author:
- Cory Horner, Refractions Research Inc.
-
-
Field Summary
Fields Modifier and Type Field Description static int
ELSEMODE_IGNORE
static int
ELSEMODE_INCLUDEASMAX
static int
ELSEMODE_INCLUDEASMIN
-
Constructor Summary
Constructors Modifier Constructor Description protected
StyleGenerator()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static FeatureTypeStyle
createFeatureTypeStyle(Classifier classifier, Expression expression, Color[] colors, String typeId, GeometryDescriptor geometryAttrType, int elseMode, double opacity, Stroke defaultStroke)
Merges a classifier, array of colors and other data into a FeatureTypeStyle object.static boolean
isRanged(String styleExpression)
Determines if a string is an instance of a ranged expression or unique values.static void
modifyFTS(FeatureTypeStyle fts, int ruleIndex, String styleExpression)
Used to update an existing style based on the provided input.static Filter
toExplicitFilter(String styleExpression, SimpleFeatureType featureType, String attributeTypeName)
Creates a filter with each value explicitly defined.static Filter
toExplicitFilter(String styleExpression, Expression attribExpr)
Creates a filter with each value explicitly defined.static Filter[]
toFilter(String[] styleExpression, SimpleFeatureType[] featureType, String[] attributeTypeName)
Converts an array of styleExpressions and attributes into Filtersstatic Filter
toRangedFilter(String styleExpression, SimpleFeatureType featureType, String attributeTypeName, boolean upperBoundClosed)
Creates a filter for a range of values.static String
toStyleExpression(Filter filter)
static String[]
toStyleExpression(Filter[] filter)
-
-
-
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
-
-
Method Detail
-
createFeatureTypeStyle
public static FeatureTypeStyle createFeatureTypeStyle(Classifier classifier, Expression expression, Color[] colors, String typeId, 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:
typeId
- semantic type identifier, which will be prefixed with "colorbrewer:"- Throws:
IllegalFilterException
-
modifyFTS
public static void modifyFTS(FeatureTypeStyle fts, int ruleIndex, String styleExpression) throws IllegalFilterException
Used to update an existing style based on the provided input.- Throws:
IllegalFilterException
-
toFilter
public static Filter[] toFilter(String[] styleExpression, SimpleFeatureType[] featureType, String[] attributeTypeName) throws IllegalFilterException
Converts an array of styleExpressions and attributes into FiltersstyleExpression[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:
- an array with all the filters
- Throws:
IllegalFilterException
-
toRangedFilter
public static Filter toRangedFilter(String styleExpression, SimpleFeatureType featureType, 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 featureTypeattributeTypeName
- the attributeTypeName whose values correspond toupperBoundClosed
- does the upper bound include the max value? (true: <=, false: <)- Returns:
- a filter
- Throws:
IllegalFilterException
-
isRanged
public static boolean isRanged(String styleExpression)
Determines if a string is an instance of a ranged expression or unique values.
-
toExplicitFilter
public static Filter toExplicitFilter(String styleExpression, SimpleFeatureType featureType, 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 Filter toExplicitFilter(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
-
-