@Override
protected GridCoverage2D readCoverage(GridCoverage2DReader reader, Object params, GridGeometry2D readGG) throws IOException {
GeneralParameterValue[] readParams = (GeneralParameterValue[]) params;
Interpolation interpolation = getRenderingInterpolation();
GridCoverageReaderHelper helper;
try {
helper = new GridCoverageReaderHelper(reader,
readGG.getGridRange2D(),
ReferencedEnvelope.reference(readGG.getEnvelope2D()),
interpolation);
return helper.readCoverage(readParams);
} catch (InvalidGridGeometryException | FactoryException e) {
throw new IOException("Failure reading the coverage", e);
}
}
};
Object result = helper.applyRenderingTransformation(transform, featureSource, definitionQuery,
styleQuery, gridGeometry, sourceCrs, java2dHints);
if(result == null) {
return;
} else if (result instanceof FeatureCollection) {
features = (FeatureCollection) result;