Package org.esa.snap.core.dataio
Class ProductSubsetBuilder
- java.lang.Object
-
- org.esa.snap.core.dataio.AbstractProductReader
-
- org.esa.snap.core.dataio.AbstractProductBuilder
-
- org.esa.snap.core.dataio.ProductSubsetBuilder
-
- All Implemented Interfaces:
ProductReader
public class ProductSubsetBuilder extends AbstractProductBuilder
A special-purpose product reader used to build subsets of data products.- Version:
- $Revision$ $Date$
-
-
Field Summary
-
Fields inherited from class org.esa.snap.core.dataio.AbstractProductBuilder
bandMap, newProductDesc, newProductName, sceneRasterHeight, sceneRasterWidth, sourceProduct, sourceProductOwner
-
-
Constructor Summary
Constructors Constructor Description ProductSubsetBuilder()
ProductSubsetBuilder(boolean sourceProductOwner)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addBandsToProduct(Product product)
protected void
addGeoCodingToProduct(Product product)
protected void
addTiePointGridsToProduct(Product product)
static Product
createProductSubset(Product sourceProduct, boolean sourceProductOwner, ProductSubsetDef subsetDef, String name, String desc)
static Product
createProductSubset(Product sourceProduct, ProductSubsetDef subsetDef, String name, String desc)
protected void
readBandRasterDataImpl(int sourceOffsetX, int sourceOffsetY, int sourceWidth, int sourceHeight, int sourceStepX, int sourceStepY, Band destBand, int destOffsetX, int destOffsetY, int destWidth, int destHeight, ProductData destBuffer, ProgressMonitor pm)
The template method which is called by thereadBandRasterDataSubSampling
method after an optional spatial subset has been applied to the input parameters.protected Product
readProductNodesImpl()
Reads a data product and returns a in-memory representation of it.-
Methods inherited from class org.esa.snap.core.dataio.AbstractProductBuilder
addAttribString, addFlagCodingsToProduct, addIndexCodingsToProduct, addMetadataToProduct, cloneFlags, cloneIndexes, cloneMetadataAttributes, cloneMetadataElements, cloneMetadataElementsAndAttributes, close, disposeBandMap, getSceneRasterHeight, getSceneRasterWidth, getSourceProduct, isInstanceOfValidInputType, isSourceProductOwner, readProductNodes, setNewProductDesc, setNewProductName
-
Methods inherited from class org.esa.snap.core.dataio.AbstractProductReader
buildTiePointGrid, buildTiePointGrid, configurePreferredTileSize, convertInputToPath, createTiePointGrid, getGridDiscontinutity, getInput, getProductComponents, getReaderPlugIn, getSubsetDef, isMetadataIgnored, isNodeAccepted, isSubsetReadingFullySupported, readBandRasterData, readProductNodes, setInput, setSubsetDef, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.esa.snap.core.dataio.ProductReader
readTiePointGridRasterData
-
-
-
-
Method Detail
-
createProductSubset
public static Product createProductSubset(Product sourceProduct, ProductSubsetDef subsetDef, String name, String desc) throws IOException
- Throws:
IOException
-
createProductSubset
public static Product createProductSubset(Product sourceProduct, boolean sourceProductOwner, ProductSubsetDef subsetDef, String name, String desc) throws IOException
- Throws:
IOException
-
readProductNodesImpl
protected Product readProductNodesImpl() throws IOException
Reads a data product and returns a in-memory representation of it. This method was called byreadProductNodes(input, subsetInfo)
of the abstract superclass.- Specified by:
readProductNodesImpl
in classAbstractProductBuilder
- Returns:
- a new product instance
- Throws:
IllegalArgumentException
- ifinput
type is not one of the supported input sources.IOException
- if an I/O error occurs
-
readBandRasterDataImpl
protected void readBandRasterDataImpl(int sourceOffsetX, int sourceOffsetY, int sourceWidth, int sourceHeight, int sourceStepX, int sourceStepY, Band destBand, int destOffsetX, int destOffsetY, int destWidth, int destHeight, ProductData destBuffer, ProgressMonitor pm) throws IOException
The template method which is called by thereadBandRasterDataSubSampling
method after an optional spatial subset has been applied to the input parameters.The destination band, buffer and region parameters are exactly the ones passed to the original
readBandRasterDataSubSampling
call. Since thedestOffsetX
anddestOffsetY
parameters are already taken into acount in thesourceOffsetX
andsourceOffsetY
parameters, an implementor of this method is free to ignore them.- Specified by:
readBandRasterDataImpl
in classAbstractProductReader
- Parameters:
sourceOffsetX
- the absolute X-offset in source raster co-ordinatessourceOffsetY
- the absolute Y-offset in source raster co-ordinatessourceWidth
- the width of region providing samples to be read given in source raster co-ordinatessourceHeight
- the height of region providing samples to be read given in source raster co-ordinatessourceStepX
- the sub-sampling in X direction within the region providing samples to be readsourceStepY
- the sub-sampling in Y direction within the region providing samples to be readdestBand
- the destination band which identifies the data source from which to read the sample valuesdestBuffer
- the destination buffer which receives the sample values to be readdestOffsetX
- the X-offset in the band's raster co-ordinatesdestOffsetY
- the Y-offset in the band's raster co-ordinatesdestWidth
- the width of region to be read given in the band's raster co-ordinatesdestHeight
- the height of region to be read given in the band's raster co-ordinatespm
- a monitor to inform the user about progress- Throws:
IOException
- if an I/O error occurs- See Also:
AbstractProductReader.getSubsetDef()
-
addBandsToProduct
protected void addBandsToProduct(Product product)
-
addTiePointGridsToProduct
protected void addTiePointGridsToProduct(Product product)
-
addGeoCodingToProduct
protected void addGeoCodingToProduct(Product product)
-
-