/** * Construct an image map, as the result of the Categorize operation * * @param raster * input raster * @param style * raster style, that contains channel mappings (if applicable) * @return a buffered image with the processed data */ public BufferedImage evaluateRaster( AbstractRaster raster, RasterStyling style ) { BufferedImage img = null; int col = -1, row = -1; RasterData data = raster.getAsSimpleRaster().getRasterData(); RasterDataUtility converter = new RasterDataUtility( raster, style.channelSelection ); img = new BufferedImage( data.getColumns(), data.getRows(), BufferedImage.TYPE_INT_ARGB ); LOG.trace( "Created image with H={}, L={}", img.getHeight(), img.getWidth() ); for ( row = 0; row < img.getHeight(); row++ ) { for ( col = 0; col < img.getWidth(); col++ ) { Color c = lookup2( converter.get( col, row ) ); img.setRGB( col, row, c.getRGB() ); } } return img; }
/** * Construct an image map, as the result of the Interpolate operation * * @param raster * input raster * @param style * raster style, containing channel mappings (if applicable) * @return a buffered image with the processed data */ public BufferedImage evaluateRaster( AbstractRaster raster, RasterStyling style ) { BufferedImage img = null; int col = -1, row = -1; int rgb = 0; RasterData data = raster.getAsSimpleRaster().getRasterData(); RasterDataUtility rawData = new RasterDataUtility( raster ); img = new BufferedImage( data.getColumns(), data.getRows(), BufferedImage.TYPE_INT_ARGB ); LOG.debug( "Created image with H={}, L={}", img.getHeight(), img.getWidth() ); for ( row = 0; row < img.getHeight(); row++ ) for ( col = 0; col < img.getWidth(); col++ ) { float val = rawData.get( col, row ); rgb = lookup2Color( val ).getRGB(); img.setRGB( col, row, rgb ); } return img; }
m[0][0] = data.get( col - 1, row - 1 ); m[0][1] = data.get( col, row - 1 ); m[0][2] = data.get( col + 1, row - 1 ); m[1][0] = data.get( col - 1, row ); m[1][1] = data.get( col, row ); m[1][2] = data.get( col + 1, row ); m[2][0] = data.get( col - 1, row + 1 ); m[2][1] = data.get( col, row + 1 ); m[2][2] = data.get( col + 1, row + 1 );