/*
* Create the raster constraint to query the needed tiles out of the specified raster at the
* given pyramid level
*/
final SeRasterConstraint rConstraint;
try {
final int numberOfBands;
numberOfBands = rasterInfo.getNumBands();
int[] bandsToQuery = new int[numberOfBands];
for (int bandN = 1; bandN <= numberOfBands; bandN++) {
bandsToQuery[bandN - 1] = bandN;
}
int minTileX = requestedTiles.getLow(0);
int minTileY = requestedTiles.getLow(1);
int maxTileX = requestedTiles.getHigh(0);
int maxTileY = requestedTiles.getHigh(1);
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.fine("Requesting tiles [x=" + minTileX + "-" + maxTileX + ", y=" + minTileY
+ "-" + maxTileY + "] from tile range [x=0-"
+ (rasterInfo.getNumTilesWide(rasterIndex, pyramidLevel) - 1) + ", y=0-"
+ (rasterInfo.getNumTilesHigh(rasterIndex, pyramidLevel) - 1) + "]");
}
// SDEPoint tileOrigin = rAttr.getTileOrigin();
if (LOGGER.isLoggable(Level.FINE)) {
LOGGER.fine("Tiled image size: " + requestedTiles);
}
final int interleaveType = SeRaster.SE_RASTER_INTERLEAVE_BIP;
rConstraint = new SeRasterConstraint();
rConstraint.setBands(bandsToQuery);
rConstraint.setLevel(pyramidLevel);
rConstraint.setEnvelope(minTileX, minTileY, maxTileX, maxTileY);
rConstraint.setInterleave(interleaveType);
} catch (SeException se) {
throw new ArcSdeException(se);
}
/*