matrix[3] = tx.get( "shearY") != null ? tx.get( "shearY") : matrix[3];
matrix[4] = tx.get( "scaleY") != null ? tx.get( "scaleY") : matrix[4];
matrix[5] = tx.get( "translateY") != null ? tx.get( "translateY") : matrix[5];
matrix[8] = 1.0;
MathTransform gridToCRS = new DefaultMathTransformFactory()
.createAffineTransform( new GeneralMatrix(3,3,matrix));
coverage.setGrid( new GridGeometry2D(range,gridToCRS,crs) );
}
else {
coverage.setGrid( new GridGeometry2D( range, gridEnvelope ) );