/** * Create raster levels until the last level consists of only one tile. * * @throws UnknownCRSException * @throws IllegalArgumentException * @throws IOException */ private void createRasterLevels( AbstractRaster srcRaster ) throws IllegalArgumentException, UnknownCRSException, IOException { TiledRaster dstRaster; AbstractRaster tmpRaster = srcRaster; int i = 1; do { // calculate until the last level consist of one tile dstRaster = createRasterLevel( tmpRaster, i ); tmpRaster = dstRaster; i++; } while ( tmpRaster.getColumns() - 1 > tileSize || tmpRaster.getRows() - 1 > tileSize ); }
RasterRect rect = geoRef.convertEnvelopeToRasterCRS( raster.getEnvelope() ); int width = raster.getColumns(); int height = raster.getRows();
@Override public void write( AbstractRaster raster, File file, RasterIOOptions options ) throws IOException { LOG.debug( "writing " + file + " with ImageIO" ); String format = options != null ? options.get( RasterIOOptions.OPT_FORMAT ) : null; if ( format == null ) { format = FileUtils.getFileExtension( file ); } LOG.debug( "Writing raster with width: {} height: {}", raster.getColumns(), raster.getRows() ); if ( "geotiff".equals( format ) ) { GeoTiffWriter.save( raster, file ); } else { IIORasterDataWriter.saveRasterDataToFile( raster.getAsSimpleRaster().getRasterData(), file, format ); RasterGeoReference rasterReference = raster.getRasterReference(); WorldFileAccess.writeWorldFile( rasterReference, file ); } }
Envelope dstEnvelope = gt.transform( sourceRaster.getEnvelope(), srcCRS ).getEnvelope(); int srcWidth = sourceRaster.getColumns(); int srcHeight = sourceRaster.getRows();
tileSize = maxTileSize; } else { tileSize = TileGrid.calculateOptimalTileSize( srcRaster.getColumns(), srcRaster.getRows(), dstEnv, maxTileSize ); baseResolution = (float) TileGrid.calculateBaseResolution( srcRaster.getColumns(), srcRaster.getRows(), dstEnv, tileSize );
LOG.debug( "Performing Hill-Shading '{}'.", style.shaded ); int cols = raster.getColumns(), rows = raster.getRows(); RasterDataUtility data = new RasterDataUtility( raster, style.channelSelection ); RasterData shadeData = RasterDataFactory.createRasterData( cols - 2, rows - 2, DataType.BYTE, false );
this.inputX = raster.getColumns(); this.inputY = raster.getRows(); this.rowsPerFragment = rowsPerTile;
@Override public void setSubRaster( double x, double y, AbstractRaster source ) { RasterGeoReference srcREnv = source.getRasterReference(); RasterGeoReference dstREnv = new RasterGeoReference( srcREnv.getOriginLocation(), srcREnv.getResolutionX(), srcREnv.getResolutionY(), x, y ); Envelope dstEnv = dstREnv.getEnvelope( source.getColumns(), source.getRows(), source.getCoordinateSystem() ); RasterData srcData = source.getAsSimpleRaster().getRasterData(); SimpleRaster movedRaster = new SimpleRaster( srcData, dstEnv, dstREnv, metadata ); setSubRaster( dstEnv, movedRaster ); }
if ( source.getColumns() == dstHeight && source.getRows() == dstWidth ) {