rdf4j-postgis  Version 0.1.0.0
Resample Class Reference
Inheritance diagram for Resample:
Collaboration diagram for Resample:

Public Member Functions

String getURI ()
 
GridCoverage modify (GridCoverage inputCoverage)
 
Value evaluate (ValueFactory valueFactory, Value... args) throws ValueExprEvaluationException
 

Member Function Documentation

◆ evaluate()

Value evaluate ( ValueFactory  valueFactory,
Value...  args 
) throws ValueExprEvaluationException
inherited
16  {
17  if (args.length != 1) {
18  throw new ValueExprEvaluationException(getURI() + " requires exactly 1 arguments, got " + args.length);
19  }
20  LiteralType l=LiteralRegistry.getLiteral(((Literal)args[0]).getDatatype().toString());
21  if(l instanceof RasterLiteral) {
22  GridCoverage geom=((RasterLiteral)l).read(args[0].stringValue());
23  GridCoverage result = modify(geom);
24  return valueFactory.createLiteral(((RasterLiteral) l).unparse(result),((Literal)args[0]).getDatatype());
25  }
26  return null;
27  }

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

◆ getURI()

String getURI ( )
16  {
17  return POSTGIS.st_resample.stringValue();
18  }

References POSTGIS.st_resample.

◆ modify()

GridCoverage modify ( GridCoverage  inputCoverage)

Reimplemented from RasterModifierFunction.

21  {
22  /*Interpolation interpolation = Interpolation.getInstance(Interpolation.INTERP_NEAREST);
23  switch (resamplingType) {
24  case BICUBIC:
25  interpolation = Interpolation.getInstance(Interpolation.INTERP_BICUBIC);
26  break;
27  case BILINEAR:
28  interpolation = Interpolation.getInstance(Interpolation.INTERP_BILINEAR);
29  break;
30  default:
31  interpolation = Interpolation.getInstance(Interpolation.INTERP_NEAREST);
32  break;
33  }
34 
35  // recalculate gridenvelope
36  CoordinateReferenceSystem crs = inputCoverage.getCoordinateReferenceSystem();
37  ReferencedEnvelope extent = RasterHelper.getResolvedEnvelope(new ReferencedEnvelope(
38  inputCoverage.getEnvelope()), cellSizeX, cellSizeY);
39 
40  Dimension dim = RasterHelper.getDimension(extent, cellSizeX, cellSizeY);
41  GridEnvelope gridRange = new GridEnvelope(0, 0, dim.width, dim.height);
42  GridGeometry gridGeometry = new GridGeometry(gridRange, extent);
43 
44  // execute resample
45  try {
46  return (GridCoverage) Operations.DEFAULT.resample(inputCoverage, crs, gridGeometry,
47  interpolation);
48  } catch (CoverageProcessingException e) {
49  throw new ProcessException(e);
50  }*/
51  return null;
52  }