protected TiledRasterData( GridReader reader, RasterIOOptions options ) {
if ( reader == null ) {
throw new NullPointerException( "Grid reader may not be null." );
}
this.columns = reader.getTileColumns();
this.rows = reader.getTileRows();
this.tileWidth = reader.getTileRasterWidth();
this.tileHeight = reader.getTileRasterHeight();
tiles = new RasterData[this.columns * this.rows];
for ( int row = 0; row < rows; ++row ) {
for ( int col = 0; col < columns; ++col ) {
TileOffsetReader r = new TileOffsetReader( reader, new RasterRect( col * tileWidth, row * tileHeight,
tileWidth, tileHeight ) );
tiles[( row * columns ) + col] = RasterDataFactory.createRasterData( new RasterRect( 0, 0, tileWidth,
tileHeight ),
reader.getRasterDataInfo(), r,
false, options );
}
}
this.sampleDomain = new RasterRect( 0, 0, reader.getWidth(), reader.getHeight() );
this.dataInfo = reader.getRasterDataInfo();
}