private TextureTile getTextureTile( double minX, double minY, double maxX, double maxY ) {
int width = (int) ( ( maxX - minX ) / res );
int height = (int) ( ( maxY - minY ) / res );
LOG.debug( "Fetching texture tile (" + width + "x" + height + ") via WMSClient." );
Envelope bbox = fac.createEnvelope( minX, minY, maxX, maxY, requestedCRS );
SimpleRaster raster = null;
try {
raster = getMapAsSimpleRaster( client, layers, width, height, bbox, requestedCRS, requestedFormat, true,
true, requestTimeout ).first;
LOG.debug( "Success" );
} catch ( IOException e ) {
LOG.debug( "Failed: " + e.getMessage(), e );
throw new RuntimeException( e.getMessage() );
}
PixelInterleavedRasterData rasterData = (PixelInterleavedRasterData) raster.getRasterData();
return new TextureTile( minX, minY, maxX, maxY, rasterData.getColumns(), rasterData.getRows(),
rasterData.getByteBuffer(), true, true );
}