rdf4j-postgis  Version 0.1.0.0
RasterAlgebraFunction Class Referenceabstract
Inheritance diagram for RasterAlgebraFunction:
Collaboration diagram for RasterAlgebraFunction:

Public Member Functions

Value evaluate (ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
 
abstract GridCoverage modify (GridCoverage coverage, Integer bd1, GridCoverage coverage2, Integer bd2)
 

Member Function Documentation

◆ evaluate()

Value evaluate ( ValueFactory  valueFactory,
Value...  args 
) throws ValueExprEvaluationException
16  {
17  if (args.length != 4) {
18  throw new ValueExprEvaluationException(getURI() + " requires exactly 4 arguments, got " + args.length);
19  }
20  LiteralType l=LiteralRegistry.getLiteral(((Literal)args[0]).getDatatype().toString());
21  LiteralType l2=LiteralRegistry.getLiteral(((Literal)args[2]).getDatatype().toString());
22  if(l instanceof RasterLiteral && l2 instanceof RasterLiteral) {
23  GridCoverage geom=((RasterLiteral)l).read(args[0].stringValue());
24  Integer bd1=Integer.valueOf(args[1].stringValue());
25  GridCoverage geom2=((RasterLiteral)l).read(args[2].stringValue());
26  Integer bd2=Integer.valueOf(args[3].stringValue());
27  GridCoverage result = modify(geom,bd1,geom2,bd2);
28  return valueFactory.createLiteral(((RasterLiteral) l).unparse(result),((Literal)args[0]).getDatatype());
29  }
30  return null;
31  }
abstract GridCoverage modify(GridCoverage coverage, Integer bd1, GridCoverage coverage2, Integer bd2)

References LiteralRegistry.getLiteral(), and RasterAlgebraFunction.modify().

Referenced by AddTest.testAdd(), AndTest.testAnd(), DivTest.testDiv(), LogTest.testLog(), MultTest.testMult(), OrTest.testOr(), SubtractTest.testSubtract(), and XorTest.testXor().

◆ modify()

abstract GridCoverage modify ( GridCoverage  coverage,
Integer  bd1,
GridCoverage  coverage2,
Integer  bd2 
)
abstract

Reimplemented in Xor, Threshold, Subtract, Or, Mult, Min, Mean, Max, Log, IDFT, IDCT, Div, DCT, And, Add, and Abs.

Referenced by RasterAlgebraFunction.evaluate().