public class InterpolateFunction extends Object implements Function
The first parameter should be either the name of a numeric feature property or, if this function is being used as a raster colormap, the String "RasterData" (case-insensitive).
Following this there should be a sequence of interpolation points, each of which is described by two parameters: the first a datum and the second a return value. In the SE speicification these parameters are expected to be Literals but in this implementation more general Expressions are also supported.
Two optional parameters can be provided following the interpolation points: A "method" parameter which can take the values "numeric" or "color" and a "mode" parameter which can take the values "linear", "cosine" or "cubic" (Note: it would make more sense if these terms were reversed but we are adhering to their use as published in the OGC specification).
Number of points and interpolation modes
Exception is thrown.| Modifier and Type | Class and Description |
|---|---|
protected class |
InterpolateFunction.ConstantColorPoint |
protected class |
InterpolateFunction.ConstantNumericPoint |
protected class |
InterpolateFunction.ConstantPoint |
protected class |
InterpolateFunction.DynamicPoint |
protected class |
InterpolateFunction.InterpPoint |
| Modifier and Type | Field and Description |
|---|---|
protected List<InterpolateFunction.InterpPoint> |
interpPoints |
static String |
METHOD_COLOR
Use as a literal value to indicate interpolation method
|
static String |
METHOD_NUMERIC
Use as a literal value to indicate interpolation method
|
static String |
MODE_COSINE
Use as a literal value to indicate interpolation mode
|
static String |
MODE_CUBIC
Use as a literal value to indicate interpolation mode
|
static String |
MODE_LINEAR
Use as a literal value to indicate interpolation mode
|
static FunctionName |
NAME
Make the instance of FunctionName available in a consistent spot.
|
static String |
RASTER_DATA
Use as a PropertyName when defining a color map.
|
NIL| Constructor and Description |
|---|
InterpolateFunction() |
InterpolateFunction(List<Expression> parameters,
Literal fallback) |
| Modifier and Type | Method and Description |
|---|---|
Object |
accept(ExpressionVisitor visitor,
Object extraData)
Accepts a visitor.
|
boolean |
equals(Object o) |
Object |
evaluate(Object object)
Evaluates the given expression based on the content of the given object.
|
<T> T |
evaluate(Object object,
Class<T> context)
Evaluates the given expressoin based on the content of the given object and the context type.
|
Literal |
getFallbackValue()
The value of the fallbackValue attribute is used as a default value, if the SE implementation
does not support the function.
|
FunctionName |
getFunctionName()
Access to the FunctionName description as used in a FilterCapabilities document.
|
String |
getName()
Returns the name of the function to be called.
|
List<Expression> |
getParameters()
Returns the list subexpressions that will be evaluated to provide the parameters to the
function.
|
int |
hashCode() |
String |
toString()
Creates a String representation of this Function with the function name and the arguments.
|
public static final String MODE_LINEAR
public static final String MODE_COSINE
public static final String MODE_CUBIC
public static final String METHOD_NUMERIC
public static final String METHOD_COLOR
protected volatile List<InterpolateFunction.InterpPoint> interpPoints
public static final String RASTER_DATA
public static final FunctionName NAME
public InterpolateFunction()
public InterpolateFunction(List<Expression> parameters, Literal fallback)
public String getName()
Functioncos" or
"atan2".
You can use this name to look up the number of required parameters in a FilterCapabilities data structure. For the specific meaning of the required parameters you will need to consult the documentation.
public FunctionName getFunctionName()
FunctiongetFunctionName in interface Functionpublic List<Expression> getParameters()
FunctiongetParameters in interface Functionpublic Object accept(ExpressionVisitor visitor, Object extraData)
Expressionreturn visitor.visit(this, extraData);
accept in interface Expressionpublic Object evaluate(Object object)
Expressionevaluate in interface Expressionpublic <T> T evaluate(Object object, Class<T> context)
ExpressionThe context parameter is used to control the type of the result of the expression.
A particular expression may not be able to evaluate to an instance of context.
Therefore to be safe calling code should do a null check on the return value of this method,
and call Expression.evaluate(Object) if neccessary. Example:
Object input = ...;
String result = expression.evaluate( input, String.class );
if ( result == null ) {
result = expression.evalute( input ).toString();
}
...
Implementations that can not return a result as an instance of context should
return null.
evaluate in interface ExpressionT - The type of the returned object.object - The object to evaluate the expression against.context - The type of the resulting value of the expression.context.public Literal getFallbackValue()
FunctiongetFallbackValue in interface Functionpublic String toString()
Copyright © 1996–2021 Geotools. All rights reserved.