public ByteBufferRasterData createCompatibleRasterData( RasterRect env ) { // create a new view using the given rectangle, the info will be the same. return createCompatibleRasterData( new DataView( env, dataInfo ) ); }
public ByteBufferRasterData createCompatibleRasterData() { // just use the view on the data return createCompatibleRasterData( getView() ); }
@Override public RasterData createCompatibleRasterData( RasterRect sampleDomain, BandType[] bands ) { // create a view taken using the given rectangle and the given bands return createCompatibleRasterData( new DataView( sampleDomain, createRasterDataInfo( bands ), dataInfo ) ); }
public ByteBufferRasterData createCompatibleRasterData( int width, int height ) { // use the offset from the view and the new width and height (shouldn't they be checked for size?) return createCompatibleRasterData( new DataView( getView().x, getView().y, width, height, dataInfo ) ); }
public ByteBufferRasterData createCompatibleRasterData( BandType[] bands ) { // create a new view from the given bands return createCompatibleRasterData( new DataView( getView(), createRasterDataInfo( bands ), dataInfo ) ); }
public ByteBufferRasterData getSubset( RasterRect sampleDomain ) { // return this.getSubset( env.x, env.y, env.width, env.height ); // return createCompatibleRasterData( sampleDomain ); ByteBufferRasterData result = createCompatibleRasterData( new DataView( getView().x + sampleDomain.x, getView().y + sampleDomain.y, sampleDomain.width, sampleDomain.height, dataInfo ) ); if ( dataAccess.hasDataBuffer() && dataAccess.getReader() == null ) { // the data was loaded, but no reader was available, we need a copy of the data. result.dataAccess.setByteBuffer( getByteBuffer().asReadOnlyBuffer(), dataAccess.getBytebufferDomain() ); // result.dataAccess.setByteBuffer( getByteBuffer().asReadOnlyBuffer(), view ); // result.data = this.data.asReadOnlyBuffer(); } // result.dataAccess.setByteBuffer( getByteBuffer().asReadOnlyBuffer(), view ); // result.data = this.data.asReadOnlyBuffer(); return result; }
ByteBufferRasterData result = createCompatibleRasterData( new DataView( newOrigx, newOrigy, newWidth, newHeight, createRasterDataInfo( bands ), dataInfo ) );