22 StringBuilder builder =
new StringBuilder();
23 RenderedImage rendered;
24 rendered = raster.render(
null);
25 builder.append(
"Raster of " + rendered.getWidth() +
"x" + rendered.getHeight() +
"\n MemSize: "+raster.render(
null).getData().getDataBuffer().getSize()+
26 "\nMINX/Y: ["+rendered.getMinX()+
","+rendered.getMinY()+
"] pixels has "
27 + raster.getSampleDimensions().size() +
" bands\n and extent of " +raster.getGridGeometry().getEnvelope().toString()
29 builder.append(
"SampleModel: "+rendered.getSampleModel()+
"\n");
30 builder.append(
"PropertyNames: "+rendered.getPropertyNames()+
"\n");
31 builder.append(
"Tiles: "+rendered.getNumXTiles()+
"/"+rendered.getNumYTiles()+
"["+rendered.getTileWidth()+
"/"+rendered.getTileHeight()+
"] Offset: ["+rendered.getTileGridXOffset()+
"/"+rendered.getTileGridYOffset()+
"]\n");
32 builder.append(
"Dimensions: "+raster.getGridGeometry().getDimension()+
"\n");
33 builder.append(
"DataElements: "+rendered.getData().getNumDataElements()+
"\n");
34 builder.append(
"DataType: "+rendered.getData().getDataBuffer().getDataType()+
"\n");
35 builder.append(
"ColorModel: "+rendered.getColorModel()+
"\n");
36 GridGeometry gridGeometry2D = raster.getGridGeometry();
37 AffineTransform gridToWorld = (AffineTransform) gridGeometry2D.getGridToCRS(PixelInCell.CELL_CENTER);
38 builder.append(
"Shear: ["+gridToWorld.getShearX()+
"/"+gridToWorld.getShearY()+
"] Scale: ["+gridToWorld.getScaleX()+
"/"+gridToWorld.getScaleY()+
"]\n");
39 builder.append(
"GridToWorld: ["+gridToWorld. getShearX()+
"/"+gridToWorld.getShearY()+
"] Scale: ["+gridToWorld.getScaleX()+
"/"+gridToWorld.getScaleY()+
"]\n");
40 builder.append(
"PixelData: \n");
41 for(
int k=0;k<raster.getSampleDimensions().size();k++) {
42 builder.append(
"Band "+k+
"\n");
43 for(
int i=0;i<rendered.getSampleModel().getWidth();i++) {
45 for(
int j=0;j<rendered.getSampleModel().getHeight();j++) {
46 builder.append(rendered.getData().getSample(i, j, k)+
" | ");
51 builder.append(
"CRS: "+raster.getGridGeometry().getCoordinateReferenceSystem().getName()+
"\n");
52 for (
int i = 0; i < raster.getSampleDimensions().size(); i++) {
53 builder.append(
"band " + i +
" of pixtype " + raster.getSampleDimensions().get(i).getMeasurementRange() +
" is in-db with NODATA value of " + raster.getSampleDimensions().get(i).getNoDataValues() + System.lineSeparator());
55 return builder.toString();