/** * Computes the size of a grid coverage in bytes given its grid envelope and the target sample * model * * @param envelope * @param sm */ static long getCoverageSize(GridEnvelope2D envelope, SampleModel sm) { // === compute the coverage memory usage and compare with limit final long pixelsNumber = computePixelsNumber(envelope); long pixelSize = 0; final int numBands = sm.getNumBands(); for (int i = 0; i < numBands; i++) { pixelSize += sm.getSampleSize(i); } return pixelsNumber * pixelSize / 8; }
final long pixelsNumber = computePixelsNumber(gc.getGridGeometry().getGridRange2D());