@Test public void testLinearNumericInterpolation() throws Exception { System.out.println(" testLinearNumericInterpolation"); setupParameters(data, values); parameters.add(ff2.literal(InterpolateFunction.METHOD_NUMERIC)); parameters.add(ff2.literal(InterpolateFunction.MODE_LINEAR)); Function fn = finder.findFunction("interpolate", parameters); Double result; double expected; for (int i = 1; i < data.length; i++) { double testValue = (data[i] + data[i-1]) / 2.0; result = fn.evaluate(feature(Double.valueOf(testValue)), Double.class); expected = (values[i] + values[i-1]) / 2.0; assertEquals(expected, result, TOL); } for (int i = 0; i < data.length; i++) { result = fn.evaluate(feature(Double.valueOf(data[i])), Double.class); expected = values[i]; assertEquals(expected, result, TOL); } result = fn.evaluate(feature(Double.valueOf(data[0] - 10)), Double.class); assertEquals(values[0], result, TOL); result = fn.evaluate(feature(Double.valueOf(data[data.length - 1] + 10)), Double.class); assertEquals(values[values.length - 1], result, TOL); }
public Object evaluate(Object object) { return evaluate(object, Object.class); }
InterpolateFunction implements Function { public Object evaluate(Object object) { return evaluate(object, Object.class); } }
InterpolateFunction implements Function { public Object evaluate(Object object) { return evaluate(object, Object.class); } InterpolateFunction();  InterpolateFunction(List<Expression> parameters, Literal fallback); }
InterpolateFunction implements Function { public Object evaluate(Object object) { return evaluate(object, Object.class); } InterpolateFunction();  InterpolateFunction(List<Expression> parameters, Literal fallback); String getName(); FunctionName getFunctionName(); List<Expression> getParameters(); Object accept(ExpressionVisitor visitor, Object extraData); Object evaluate(Object object); T evaluate(Object object, Class<T> context); Literal getFallbackValue(); }
InterpolateFunction implements Function { public Object evaluate(Object object) { return evaluate(object, Object.class); } InterpolateFunction();  InterpolateFunction(List<Expression> parameters, Literal fallback); String getName(); FunctionName getFunctionName(); List<Expression> getParameters(); Object accept(ExpressionVisitor visitor, Object extraData); Object evaluate(Object object); T evaluate(Object object, Class<T> context); Literal getFallbackValue(); static final String MODE_LINEAR; static final String MODE_COSINE; static final String MODE_CUBIC; static final String METHOD_NUMERIC; static final String METHOD_COLOR; static final String RASTER_DATA; static final FunctionName NAME; }