/** * @param resolutionDirectories * locating the different resolutions * @param recursive * if the sub directories of the resolution directories should be scanned as well * @param options * containing values for the loading of the raster data. * @return a {@link MultiResolutionRaster} filled with {@link TiledRaster}s */ private MultiResolutionRaster buildMultiResolutionRaster( List<File> resolutionDirectories, boolean recursive, RasterIOOptions options ) { MultiResolutionRaster mrr = new MultiResolutionRaster( metadata ); for ( File resDir : resolutionDirectories ) { if ( resDir != null && resDir.isDirectory() ) { AbstractRaster rasterLevel = buildTiledRaster( resDir, recursive, options ); if ( rasterLevel != null ) { mrr.addRaster( rasterLevel ); } } } return mrr; }
/** * @param resolutionDirectories * locating the different resolutions * @param recursive * if the sub directories of the resolution directories should be scanned as well * @param options * containing values for the loading of the raster data. * @return a {@link MultiResolutionRaster} filled with {@link TiledRaster}s */ private MultiResolutionRaster buildMultiResolutionRaster( List<File> resolutionDirectories, boolean recursive, RasterIOOptions options ) { MultiResolutionRaster mrr = new MultiResolutionRaster( null ); for ( File resDir : resolutionDirectories ) { if ( resDir != null && resDir.isDirectory() ) { AbstractRaster rasterLevel = buildTiledRaster( resDir, recursive, options ); if ( rasterLevel != null ) { mrr.addRaster( rasterLevel ); } } } return mrr; }
/** * @param mrrConfig * @param adapter * @return a corresponding raster */ private MultiResolutionRaster fromJAXB( MultiResolutionRasterConfig mrrConfig, ICRS parentCrs ) { if ( mrrConfig != null ) { String defCRS = mrrConfig.getStorageCRS(); ICRS crs = null; if ( defCRS != null ) { crs = CRSManager.getCRSRef( defCRS ); } if ( crs == null ) { LOG.debug( "Using parent crs." ); crs = parentCrs; } RasterIOOptions options = getOptions( mrrConfig, parentCrs ); MultiResolutionRaster mrr = new MultiResolutionRaster( metadata ); mrr.setCoordinateSystem( crs ); for ( Resolution resolution : mrrConfig.getResolution() ) { if ( resolution != null ) { AbstractRaster rasterLevel = fromJAXB( resolution, options, crs, mrrConfig.getNodata() ); mrr.addRaster( rasterLevel ); } } return mrr; } throw new ResourceInitException( "The configured multi resolution raster may not be null." ); }
MultiResolutionRaster mrr = new MultiResolutionRaster( metadata ); String file = config.getPyramidFile(); ImageInputStream iis = ImageIO.createImageInputStream( metadata.getLocation().resolveToFile( file ) );