public class TiePointGrid extends RasterDataNode
float
array.
Usually, tie-point grids are a sub-sampling of a data product's scene resolution.
RasterDataNode.RasterDataProcessor
Modifier and Type | Field and Description |
---|---|
static int |
DISCONT_AT_180
Tie point values have angles in the range -180...+180 degrees and may comprise a discontinuity at 180 (resp
|
static int |
DISCONT_AT_360
Tie point values have are angles in the range 0...+360 degrees and may comprise a discontinuity at 360 (resp. 0)
degrees.
|
static int |
DISCONT_AUTO
The discontinuity of the tie point values shall be detected automatically.
|
static int |
DISCONT_NONE
Tie point values are assumed to have none discontinuities.
|
INVALID_POS_TEXT, IO_ERROR_TEXT, NO_DATA_TEXT, PROPERTY_NAME_ANCILLARY_RELATIONS, PROPERTY_NAME_ANCILLARY_VARIABLES, PROPERTY_NAME_GEO_CODING, PROPERTY_NAME_IMAGE_INFO, PROPERTY_NAME_IMAGE_TO_MODEL_TRANSFORM, PROPERTY_NAME_LOG_10_SCALED, PROPERTY_NAME_MODEL_TO_SCENE_TRANSFORM, PROPERTY_NAME_NO_DATA_VALUE, PROPERTY_NAME_NO_DATA_VALUE_USED, PROPERTY_NAME_SCALING_FACTOR, PROPERTY_NAME_SCALING_OFFSET, PROPERTY_NAME_SCENE_TO_MODEL_TRANSFORM, PROPERTY_NAME_STX, PROPERTY_NAME_TIME_CODING, PROPERTY_NAME_VALID_PIXEL_EXPRESSION
PROPERTY_NAME_DATA, PROPERTY_NAME_READ_ONLY, PROPERTY_NAME_SYNTHETIC, PROPERTY_NAME_UNIT
PROPERTY_NAME_DESCRIPTION, PROPERTY_NAME_NAME
Constructor and Description |
---|
TiePointGrid(String name,
int gridWidth,
int gridHeight,
double offsetX,
double offsetY,
double subSamplingX,
double subSamplingY)
Constructs a new
TiePointGrid with the given tie point grid properties. |
TiePointGrid(String name,
int gridWidth,
int gridHeight,
double offsetX,
double offsetY,
double subSamplingX,
double subSamplingY,
float[] tiePoints)
Constructs a new
TiePointGrid with the given tie point grid properties. |
TiePointGrid(String name,
int gridWidth,
int gridHeight,
double offsetX,
double offsetY,
double subSamplingX,
double subSamplingY,
float[] tiePoints,
boolean containsAngles)
Constructs a new
TiePointGrid with the given tie point grid properties. |
TiePointGrid(String name,
int gridWidth,
int gridHeight,
double offsetX,
double offsetY,
double subSamplingX,
double subSamplingY,
float[] tiePoints,
int discontinuity)
Constructs a new
TiePointGrid with the given tie point grid properties. |
Modifier and Type | Method and Description |
---|---|
void |
acceptVisitor(ProductVisitor visitor)
Accepts the given visitor.
|
TiePointGrid |
cloneTiePointGrid() |
protected RenderedImage |
createSourceImage()
Creates the source image associated with this
RasterDataNode . |
static TiePointGrid |
createSubset(TiePointGrid sourceTiePointGrid,
ProductSubsetDef subsetDef) |
static TiePointGrid |
createZenithFromElevationAngleTiePointGrid(TiePointGrid elevationAngleGrid) |
void |
dispose()
Releases all of the resources used by this object instance and all of its owned children.
|
protected static double[] |
ensureMinLengthArray(double[] array,
int length) |
protected static float[] |
ensureMinLengthArray(float[] array,
int length) |
protected static int[] |
ensureMinLengthArray(int[] array,
int length) |
int |
getDiscontinuity()
Gets the angular discontinuity.
|
static int |
getDiscontinuity(float[] tiePoints)
Determines the angular discontinuity of the given tie point values.
|
int |
getGeophysicalDataType()
Returns the geophysical data type of this
RasterDataNode . |
ProductData |
getGridData() |
int |
getGridHeight() |
int |
getGridWidth() |
double |
getOffsetX()
Retrieves the x co-ordinate of the first (upper-left) tie-point in pixels.
|
double |
getOffsetY()
Retrieves the y co-ordinate of the first (upper-left) tie-point in pixels.
|
double |
getPixelDouble(double x,
double y)
Gets the interpolated sample for the pixel located at (x,y) as a double value.
|
double |
getPixelDouble(int x,
int y)
Gets the interpolated sample for the pixel located at (x,y) as a double value.
|
float |
getPixelFloat(float x,
float y)
Computes the interpolated sample for the pixel located at (x,y) given as floating point co-ordinates.
|
float |
getPixelFloat(int x,
int y)
Computes the interpolated sample for the pixel located at (x,y).
|
int |
getPixelInt(int x,
int y)
Gets the interpolated sample for the pixel located at (x,y) as an integer value.
|
double[] |
getPixels(int x,
int y,
int w,
int h,
double[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product width and height as float array.
|
float[] |
getPixels(int x,
int y,
int w,
int h,
float[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product with and height as double array.
|
int[] |
getPixels(int x,
int y,
int w,
int h,
int[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product with and height as integer array.
|
ProductData |
getRasterData()
Gets the linear interpolated raster data containing
rasterWidth x rasterHeight samples. |
int |
getRasterHeight() |
int |
getRasterWidth() |
double |
getSubSamplingX()
Returns the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which this
tie-pint grid belongs to.
|
double |
getSubSamplingY()
Returns the sub-sampling in Y-direction given in the pixel co-ordinates of the data product to which this
tie-pint grid belongs to.
|
float[] |
getTiePoints() |
boolean |
isFloatingPointType()
Returns
true |
double[] |
readPixels(int x,
int y,
int w,
int h,
double[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product with and height as double array.
|
float[] |
readPixels(int x,
int y,
int w,
int h,
float[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product with and height as float array.
|
int[] |
readPixels(int x,
int y,
int w,
int h,
int[] pixels,
ProgressMonitor pm)
Retrieves an array of tie point data interpolated to the product with and height as float array.
|
void |
readRasterData(int offsetX,
int offsetY,
int width,
int height,
ProductData rasterData,
ProgressMonitor pm)
Reads raster data from this dataset into the user-supplied raster data buffer.
|
void |
readRasterDataFully(ProgressMonitor pm)
Reads the complete underlying raster data.
|
void |
setData(ProductData data)
Sets the data of this data node.
|
void |
setDiscontinuity(int discontinuity)
Sets the angular discontinuity.
|
void |
setPixelDouble(int x,
int y,
double pixelValue)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setPixelFloat(int x,
int y,
float pixelValue)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setPixelInt(int x,
int y,
int pixelValue)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setPixels(int x,
int y,
int w,
int h,
double[] pixels)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setPixels(int x,
int y,
int w,
int h,
float[] pixels)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setPixels(int x,
int y,
int w,
int h,
int[] pixels)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
setRasterData(ProductData rasterData)
The method will always fail on tie-point grids as they are read-only.
|
void |
writePixels(int x,
int y,
int w,
int h,
double[] pixels,
ProgressMonitor pm)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
writePixels(int x,
int y,
int w,
int h,
float[] pixels,
ProgressMonitor pm)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
writePixels(int x,
int y,
int w,
int h,
int[] pixels,
ProgressMonitor pm)
This method is not implemented because pixels are read-only in tie-point grids.
|
void |
writeRasterData(int offsetX,
int offsetY,
int width,
int height,
ProductData rasterData,
ProgressMonitor pm)
Writes data from this product raster into the specified region of the user-supplied raster.
|
void |
writeRasterDataFully(ProgressMonitor pm)
Writes the complete underlying raster data.
|
addAncillaryVariable, canBeOrthorectified, checkCompatibleRasterData, clearNoDataValue, computeStxImpl, createColorIndexedImage, createCompatibleRasterData, createCompatibleRasterData, createCompatibleSceneRasterData, createDefaultImageInfo, createDefaultImageInfo, createMultiLevelModel, createPointing, createRgbImage, createTransectProfileData, fireImageInfoChanged, getAncillaryRelations, getAncillaryVariable, getAncillaryVariables, getGeoCoding, getGeophysicalImage, getGeophysicalNoDataValue, getImageInfo, getImageInfo, getImageInfo, getImageToModelTransform, getModelToSceneTransform, getMultiLevelModel, getNoDataValue, getOverlayMaskGroup, getPixels, getPixels, getPixels, getPixelString, getPointing, getRasterSize, getSampleFloat, getSampleInt, getScalingFactor, getScalingOffset, getSceneToModelTransform, getSourceImage, getStx, getStx, getTimeCoding, getValidMaskExpression, getValidMaskImage, getValidPixelExpression, getValidShape, hasIntPixels, hasRasterData, isCompatibleRasterData, isGeophysicalImageSet, isLog10Scaled, isNoDataValueSet, isNoDataValueUsed, isPixelValid, isPixelValid, isPixelValid, isScalingApplied, isSourceImageSet, isStxSet, isValidMaskImageSet, isValidMaskProperty, isValidMaskUsed, loadRasterData, loadRasterData, processRasterData, quantizeRasterData, quantizeRasterData, readPixels, readPixels, readPixels, readRasterData, readRasterDataFully, readValidMask, removeAncillaryVariable, resetValidMask, scale, scaleInverse, setAncillaryRelations, setGeoCoding, setGeophysicalNoDataValue, setImageInfo, setImageInfo, setImageToModelTransform, setLog10Scaled, setModelToSceneTransform, setModified, setNoDataValue, setNoDataValueUsed, setScalingFactor, setScalingOffset, setSceneToModelTransform, setSourceImage, setSourceImage, setStx, setTimeCoding, setValidPixelExpression, unloadRasterData, updateExpression, writePixels, writePixels, writePixels, writeRasterData, writeRasterDataFully
checkDataCompatibility, createCompatibleProductData, fireProductNodeDataChanged, getData, getDataElems, getDataElemSize, getDataType, getNumDataElems, getRawStorageSize, getUnit, isReadOnly, isSynthetic, setDataElems, setReadOnly, setSynthetic, setUnit
fireProductNodeChanged, fireProductNodeChanged, getDescription, getDisplayName, getName, getOwner, getProduct, getProductReader, getProductReaderSafe, getProductRefString, getProductSafe, getProductWriter, getProductWriterSafe, getRawStorageSize, isModified, isPartOfSubset, isValidNodeName, removeFromFile, setDescription, setName, setOwner, toString
getExtension
public static final int DISCONT_AUTO
public static final int DISCONT_NONE
public static final int DISCONT_AT_180
public static final int DISCONT_AT_360
public TiePointGrid(String name, int gridWidth, int gridHeight, double offsetX, double offsetY, double subSamplingX, double subSamplingY)
TiePointGrid
with the given tie point grid properties.name
- the name of the new objectgridWidth
- the width of the tie-point grid in pixelsgridHeight
- the height of the tie-point grid in pixelsoffsetX
- the X co-ordinate of the first (upper-left) tie-point in pixelsoffsetY
- the Y co-ordinate of the first (upper-left) tie-point in pixelssubSamplingX
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.subSamplingY
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.public TiePointGrid(String name, int gridWidth, int gridHeight, double offsetX, double offsetY, double subSamplingX, double subSamplingY, float[] tiePoints)
TiePointGrid
with the given tie point grid properties.name
- the name of the new objectgridWidth
- the width of the tie-point grid in pixelsgridHeight
- the height of the tie-point grid in pixelsoffsetX
- the X co-ordinate of the first (upper-left) tie-point in pixelsoffsetY
- the Y co-ordinate of the first (upper-left) tie-point in pixelssubSamplingX
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.subSamplingY
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.tiePoints
- the tie-point data values, must be an array of the size gridWidth * gridHeight
public TiePointGrid(String name, int gridWidth, int gridHeight, double offsetX, double offsetY, double subSamplingX, double subSamplingY, float[] tiePoints, boolean containsAngles)
TiePointGrid
with the given tie point grid properties.name
- the name of the new objectgridWidth
- the width of the tie-point grid in pixelsgridHeight
- the height of the tie-point grid in pixelsoffsetX
- the X co-ordinate of the first (upper-left) tie-point in pixelsoffsetY
- the Y co-ordinate of the first (upper-left) tie-point in pixelssubSamplingX
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.subSamplingY
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.tiePoints
- the tie-point data values, must be an array of the size gridWidth * gridHeight
containsAngles
- if true, the angular discontinuity
is derived from the provided tie-point data valuespublic TiePointGrid(String name, int gridWidth, int gridHeight, double offsetX, double offsetY, double subSamplingX, double subSamplingY, float[] tiePoints, int discontinuity)
TiePointGrid
with the given tie point grid properties.name
- the name of the new objectgridWidth
- the width of the tie-point grid in pixelsgridHeight
- the height of the tie-point grid in pixelsoffsetX
- the X co-ordinate of the first (upper-left) tie-point in pixelsoffsetY
- the Y co-ordinate of the first (upper-left) tie-point in pixelssubSamplingX
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.subSamplingY
- the sub-sampling in X-direction given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to. Must not be less than one.tiePoints
- the tie-point data values, must be an array of the size gridWidth * gridHeight
discontinuity
- the discontinuity mode, can be either DISCONT_NONE
, DISCONT_AUTO
, DISCONT_AT_180
or
DISCONT_AT_360
public int getGridWidth()
public int getGridHeight()
public double getOffsetX()
public double getOffsetY()
public double getSubSamplingX()
public double getSubSamplingY()
public float[] getTiePoints()
public ProductData getGridData()
public int getRasterWidth()
getRasterWidth
in class RasterDataNode
public int getRasterHeight()
getRasterHeight
in class RasterDataNode
public static int getDiscontinuity(float[] tiePoints)
DISCONT_AT_180
or
DISCONT_AT_360
public int getDiscontinuity()
DISCONT_NONE
, DISCONT_AUTO
, DISCONT_AT_180
or
DISCONT_AT_360
public void setDiscontinuity(int discontinuity)
discontinuity
- angular discontinuity, can be either DISCONT_NONE
, DISCONT_AUTO
, DISCONT_AT_180
or
DISCONT_AT_360
public boolean isFloatingPointType()
true
isFloatingPointType
in class RasterDataNode
public int getGeophysicalDataType()
RasterDataNode
. The value returned is always one of the
ProductData.TYPE_XXX
constants.getGeophysicalDataType
in class RasterDataNode
ProductData
public void setData(ProductData data)
DataNode
public ProductData getRasterData()
rasterWidth
x rasterHeight
samples.getRasterData
in class RasterDataNode
public void setRasterData(ProductData rasterData) throws UnsupportedOperationException
setRasterData
in class RasterDataNode
rasterData
- The raster data whose reference will be stored.UnsupportedOperationException
RasterDataNode.getRasterData()
public int getPixelInt(int x, int y)
If the pixel co-ordinates given by (x,y) are not covered by this tie-point grid, the method extrapolates.
getPixelInt
in class RasterDataNode
x
- The X co-ordinate of the pixel locationy
- The Y co-ordinate of the pixel locationArrayIndexOutOfBoundsException
- if the co-ordinates are not in boundspublic void dispose()
RasterDataNode
This method should be called only if it is for sure that this object instance will never be used again. The
results of referencing an instance of this class after a call to dispose()
are undefined.
Overrides of this method should always call super.dispose();
after disposing this instance.
dispose
in class RasterDataNode
public float getPixelFloat(int x, int y)
If the pixel co-ordinates given by (x,y) are not covered by this tie-point grid, the method extrapolates.
getPixelFloat
in class RasterDataNode
x
- The X co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.y
- The Y co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.ArrayIndexOutOfBoundsException
- if the co-ordinates are not in boundspublic final float getPixelFloat(float x, float y)
If the pixel co-ordinates given by (x,y) are not covered by this tie-point grid, the method extrapolates.
x
- The X co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.y
- The Y co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.ArrayIndexOutOfBoundsException
- if the co-ordinates are not in boundspublic double getPixelDouble(int x, int y)
If the pixel co-ordinates given by (x,y) are not covered by this tie-point grid, the method extrapolates.
getPixelDouble
in class RasterDataNode
x
- The X co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.y
- The Y co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.ArrayIndexOutOfBoundsException
- if the co-ordinates are not in boundspublic double getPixelDouble(double x, double y)
If the pixel co-ordinates given by (x,y) are not covered by this tie-point grid, the method extrapolates.
x
- The X co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.y
- The Y co-ordinate of the pixel location, given in the pixel co-ordinates of the data product to which
this tie-pint grid belongs to.ArrayIndexOutOfBoundsException
- if the co-ordinates are not in boundspublic void setPixelInt(int x, int y, int pixelValue)
setPixelInt
in class RasterDataNode
x
- the X co-ordinate of the pixel locationy
- the Y co-ordinate of the pixel locationpixelValue
- the new pixel value at (x,y)public void setPixelFloat(int x, int y, float pixelValue)
setPixelFloat
in class RasterDataNode
x
- the X co-ordinate of the pixel locationy
- the Y co-ordinate of the pixel locationpixelValue
- the new pixel value at (x,y)public void setPixelDouble(int x, int y, double pixelValue)
setPixelDouble
in class RasterDataNode
x
- the X co-ordinate of the pixel locationy
- the Y co-ordinate of the pixel locationpixelValue
- the new pixel value at (x,y)public int[] getPixels(int x, int y, int w, int h, int[] pixels, ProgressMonitor pm)
null
a new one was created and returned.getPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the integer array to be filled with datapm
- a monitor to inform the user about progressIllegalArgumentException
- if the length of the given array is less than w*h
.public double[] getPixels(int x, int y, int w, int h, double[] pixels, ProgressMonitor pm)
null
a new one is created and returned.getPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the float array to be filled with datapm
- a monitor to inform the user about progressIllegalArgumentException
- if the length of the given array is less than w*h
.public float[] getPixels(int x, int y, int w, int h, float[] pixels, ProgressMonitor pm)
null
a new one was created and returned.getPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the double array to be filled with datapm
- a progress monitorIllegalArgumentException
- if the length of the given array is less than w*h
.public void setPixels(int x, int y, int w, int h, int[] pixels)
setPixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be written.pixels
- integer array to be writtenpublic void setPixels(int x, int y, int w, int h, float[] pixels)
setPixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be written.pixels
- float array to be writtenpublic void setPixels(int x, int y, int w, int h, double[] pixels)
setPixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be written.pixels
- double array to be writtenpublic int[] readPixels(int x, int y, int w, int h, int[] pixels, ProgressMonitor pm) throws IOException
null
a new one was created and returned.readPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the integer array to be filled with datapm
- a progress monitorIllegalArgumentException
- if the length of the given array is less than w*h
.IOException
- if an /IO error occurspublic float[] readPixels(int x, int y, int w, int h, float[] pixels, ProgressMonitor pm) throws IOException
null
a new one was created and returned. *readPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the float array to be filled with datapm
- a monitor to inform the user about progressIllegalArgumentException
- if the length of the given array is less than w*h
.IOException
public double[] readPixels(int x, int y, int w, int h, double[] pixels, ProgressMonitor pm) throws IOException
null
a new one was created and returned.readPixels
in class RasterDataNode
x
- the x coordinate of the array to be ready
- the y coordinate of the array to be readw
- the width of the array to be readh
- the height of the array to be readpixels
- the double array to be filled with datapm
- a monitor to inform the user about progressIllegalArgumentException
- if the length of the given array is less than w*h
.IOException
public void writePixels(int x, int y, int w, int h, int[] pixels, ProgressMonitor pm) throws IOException
writePixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be writtenpixels
- array of pixels to writepm
- a progress monitorIOException
- if an I/O error occurspublic void writePixels(int x, int y, int w, int h, float[] pixels, ProgressMonitor pm) throws IOException
writePixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be writtenpixels
- array of pixels to writepm
- a progress monitorIOException
- if an I/O error occurspublic void writePixels(int x, int y, int w, int h, double[] pixels, ProgressMonitor pm) throws IOException
writePixels
in class RasterDataNode
x
- x offset into the bandy
- y offset into the bandw
- width of the pixel array to be writtenh
- height of the pixel array to be writtenpixels
- array of pixels to writepm
- a progress monitorIOException
- if an I/O error occurspublic void readRasterData(int offsetX, int offsetY, int width, int height, ProductData rasterData, ProgressMonitor pm) throws IOException
This method always directly (re-)reads this tie-point grid's data from its associated data source into the given data buffer.
readRasterData
in class RasterDataNode
offsetX
- the X-offset in the raster co-ordinates where reading startsoffsetY
- the Y-offset in the raster co-ordinates where reading startswidth
- the width of the raster data bufferheight
- the height of the raster data bufferrasterData
- a raster data buffer receiving the pixels to be readpm
- a monitor to inform the user about progressIOException
- if an I/O error occursIllegalArgumentException
- if the raster is nullIllegalStateException
- if this product raster was not added to a product so far, or if the product to
which this product raster belongs to, has no associated product readerProductReader.readBandRasterData(Band, int, int, int, int, ProductData, com.bc.ceres.core.ProgressMonitor)
public void readRasterDataFully(ProgressMonitor pm) throws IOException
After this method has been called successfully, hasRasterData()
should always return
true
and getRasterData()
should always return a valid ProductData
instance
with at least getRasterWidth()*getRasterHeight()
elements (samples).
In opposite to the loadRasterData
method, the readRasterDataFully
method always
reloads the data of this product raster, independently of whether its has already been loaded or not.
readRasterDataFully
in class RasterDataNode
pm
- a monitor to inform the user about progressIOException
- if an I/O error occursRasterDataNode.loadRasterData()
,
RasterDataNode.readRasterData(int, int, int, int, ProductData, com.bc.ceres.core.ProgressMonitor)
public void writeRasterData(int offsetX, int offsetY, int width, int height, ProductData rasterData, ProgressMonitor pm) throws IOException
It is important to know that this method does not change this product raster's internal state nor does it write into this product raster's internal raster.
writeRasterData
in class RasterDataNode
offsetX
- the X-offset in raster co-ordinates where reading startsoffsetY
- the Y-offset in raster co-ordinates where reading startswidth
- the width of the raster data bufferheight
- the height of the raster data bufferrasterData
- a raster data buffer receiving the pixels to be readpm
- a monitor to inform the user about progressIOException
- if an I/O error occursProductReader.readBandRasterData(Band, int, int, int, int, ProductData, com.bc.ceres.core.ProgressMonitor)
public void writeRasterDataFully(ProgressMonitor pm) throws IOException
writeRasterDataFully
in class RasterDataNode
pm
- a monitor to inform the user about progressIOException
- if an I/O error occursprotected RenderedImage createSourceImage()
RasterDataNode
RasterDataNode
.
This shall preferably be a MultiLevelImage
instance which recognises this raster data node's
imageToModelTransform
property, if set.createSourceImage
in class RasterDataNode
public void acceptVisitor(ProductVisitor visitor)
The method simply calls visitor.visit(this)
.
acceptVisitor
in class RasterDataNode
visitor
- the visitorpublic TiePointGrid cloneTiePointGrid()
public static TiePointGrid createZenithFromElevationAngleTiePointGrid(TiePointGrid elevationAngleGrid)
protected static int[] ensureMinLengthArray(int[] array, int length)
protected static float[] ensureMinLengthArray(float[] array, int length)
protected static double[] ensureMinLengthArray(double[] array, int length)
public static TiePointGrid createSubset(TiePointGrid sourceTiePointGrid, ProductSubsetDef subsetDef)
Copyright © 2014–2017 European Space Agency (ESA). All rights reserved.