|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.esa.beam.util.ProductUtils
public class ProductUtils
This class provides many static factory methods to be used in conjunction with data products.
Product| Constructor Summary | |
|---|---|
ProductUtils()
|
|
| Method Summary | |
|---|---|
static void |
addElementToHistory(Product product,
MetadataElement elem)
Adds a given elem to the history of the given product. |
static GeneralPath |
areaToPath(Area negativeArea,
double deltaX)
|
static boolean |
canGetPixelPos(Product product)
Returns whether or not a product can return a pixel position from a given geographical position. |
static boolean |
canGetPixelPos(RasterDataNode raster)
Returns whether or not a raster can return a pixel position from a given geographical position. |
static float[] |
computeMinMaxY(PixelPos[] pixelPositions)
Computes the minimum and maximum y value of the given PixelPos array. |
static PixelPos[] |
computeSourcePixelCoordinates(GeoCoding sourceGeoCoding,
int sourceWidth,
int sourceHeight,
GeoCoding destGeoCoding,
Rectangle destArea)
|
static GeneralPath |
convertToGeoPath(Shape shape,
GeoCoding geoCoding)
Converts a Shape given in pixel X/Y coordinates into a GeneralPath in geografic
coordinates using the supplied geo coding. |
static GeneralPath |
convertToPixelPath(GeneralPath geoPath,
GeoCoding geoCoding)
Converts a GeneralPath given in geographic lon/lat coordinates into a GeneralPath in
pixel coordinates using the supplied geo coding. |
static Band |
copyBand(String sourceBandName,
Product sourceProduct,
Product targetProduct)
Deprecated. since BEAM 4.10, use copyBand(String, Product, Product, boolean) instead. |
static Band |
copyBand(String sourceBandName,
Product sourceProduct,
Product targetProduct,
boolean copySourceImage)
Copies the named band from the source product to the target product. |
static Band |
copyBand(String sourceBandName,
Product sourceProduct,
String targetBandName,
Product targetProduct)
Deprecated. since BEAM 4.10, use copyBand(String, Product, String, Product, boolean) instead. |
static Band |
copyBand(String sourceBandName,
Product sourceProduct,
String targetBandName,
Product targetProduct,
boolean copySourceImage)
Copies the named band from the source product to the target product. |
static void |
copyBandsForGeomTransform(Product sourceProduct,
Product targetProduct,
boolean includeTiePointGrids,
double defaultNoDataValue,
Map<Band,RasterDataNode> targetToSourceMap)
Adds raster data nodes of a source product as bands to the given target product. |
static void |
copyBandsForGeomTransform(Product sourceProduct,
Product targetProduct,
double defaultNoDataValue,
Map<Band,RasterDataNode> addedRasterDataNodes)
Copies only the bands from source to target. |
static void |
copyFlagBands(Product sourceProduct,
Product targetProduct)
Deprecated. since BEAM 4.10, use copyFlagBands(Product, Product, boolean) instead. |
static void |
copyFlagBands(Product sourceProduct,
Product targetProduct,
boolean copySourceImage)
Copies all bands which contain a flagcoding from the source product to the target product. |
static FlagCoding |
copyFlagCoding(FlagCoding sourceFlagCoding,
Product target)
Copies the given source flag coding to the target product. |
static void |
copyFlagCodings(Product source,
Product target)
Copies the flag codings from the source product to the target. |
static void |
copyGeoCoding(Product sourceProduct,
Product targetProduct)
Copies the geocoding from the source product to target product. |
static IndexCoding |
copyIndexCoding(IndexCoding sourceIndexCoding,
Product target)
Copies the given source index coding to the target product If it exists already, the method simply returns the existing instance. |
static void |
copyMasks(Product sourceProduct,
Product targetProduct)
Copies the Masks from the source product to the target product. |
static void |
copyMetadata(MetadataElement source,
MetadataElement target)
Copies all metadata elements and attributes of the source element to the target element. |
static void |
copyMetadata(Product source,
Product target)
Copies all metadata elements and attributes of the source product to the target product. |
static void |
copyOverlayMasks(Product sourceProduct,
Product targetProduct)
Copies the overlay Masks from the source product's raster data nodes to
the target product's raster data nodes. |
static void |
copyPreferredTileSize(Product sourceProduct,
Product targetProduct)
Copies the source product's preferred tile size (if any) to the target product. |
static void |
copyRasterDataNodeProperties(RasterDataNode sourceRaster,
RasterDataNode targetRaster)
Copies all properties from source band to the target band. |
static void |
copyRoiMasks(Product sourceProduct,
Product targetProduct)
Deprecated. since BEAM 4.10 (no replacement) |
static void |
copySpectralBandProperties(Band sourceBand,
Band targetBand)
Copies the spectral properties from source band to target band. |
static TiePointGrid |
copyTiePointGrid(String gridName,
Product sourceProduct,
Product targetProduct)
Copies the named tie-point grid from the source product to the target product. |
static void |
copyTiePointGrids(Product sourceProduct,
Product targetProduct)
Copies all tie point grids from one product to another. |
static void |
copyVectorData(Product sourceProduct,
Product targetProduct)
|
static BufferedImage |
createColorIndexedImage(RasterDataNode rasterDataNode,
com.bc.ceres.core.ProgressMonitor pm)
Creates a greyscale image from the given . |
static BufferedImage |
createDensityPlotImage(RasterDataNode raster1,
float sampleMin1,
float sampleMax1,
RasterDataNode raster2,
float sampleMin2,
float sampleMax2,
Mask roiMask,
int width,
int height,
Color background,
BufferedImage image,
com.bc.ceres.core.ProgressMonitor pm)
Creates a density plot image from two raster data nodes. |
static GeoPos[] |
createGeoBoundary(Product product,
int step)
Creates the geographical boundary of the given product and returns it as a list of geographical coordinates. |
static GeoPos[] |
createGeoBoundary(Product product,
Rectangle region,
int step)
Creates the geographical boundary of the given region within the given product and returns it as a list of geographical coordinates. |
static GeoPos[] |
createGeoBoundary(Product product,
Rectangle region,
int step,
boolean usePixelCenter)
Creates the geographical boundary of the given region within the given product and returns it as a list of geographical coordinates. |
static GeoPos[] |
createGeoBoundary(RasterDataNode raster,
Rectangle region,
int step)
Creates the geographical boundary of the given region within the given raster and returns it as a list of geographical coordinates. |
static GeneralPath[] |
createGeoBoundaryPaths(Product product)
Converts the geographic boundary entire product into one, two or three shape objects. |
static GeneralPath[] |
createGeoBoundaryPaths(Product product,
Rectangle region,
int step)
Converts the geographic boundary of the region within the given product into one, two or three shape objects. |
static GeneralPath[] |
createGeoBoundaryPaths(Product product,
Rectangle region,
int step,
boolean usePixelCenter)
Converts the geographic boundary of the region within the given product into one, two or three shape objects. |
static GeoTIFFMetadata |
createGeoTIFFMetadata(GeoCoding geoCoding,
int width,
int height)
|
static GeoTIFFMetadata |
createGeoTIFFMetadata(Product product)
|
static ImageInfo |
createImageInfo(RasterDataNode[] rasters,
boolean assignMissingImageInfos,
com.bc.ceres.core.ProgressMonitor pm)
Creates image creation information. |
static Point2D[] |
createMapBoundary(Product product,
Rectangle rect,
int step,
MapTransform mapTransform)
|
static Point2D[] |
createMapEnvelope(Product product,
Rectangle rect,
int step,
MapTransform mapTransform)
Creates the boundary in map coordinates for the given product, source rectangle (in product pixel coordinates) and the given map transfromation. |
static Point2D[] |
createMapEnvelope(Product product,
Rectangle rect,
MapTransform mapTransform)
Creates the boundary in map coordinates for the given product, source rectangle (in product pixel coordinates) and the given map transfromation. |
static PixelPos[] |
createPixelBoundary(Product product,
Rectangle rect,
int step)
Creates a rectangular boundary expressed in pixel positions for the given source rectangle. |
static PixelPos[] |
createPixelBoundary(Product product,
Rectangle rect,
int step,
boolean usePixelCenter)
Creates a rectangular boundary expressed in pixel positions for the given source rectangle. |
static PixelPos[] |
createPixelBoundary(RasterDataNode raster,
Rectangle rect,
int step)
Creates a rectangular boundary expressed in pixel positions for the given source rectangle. |
static PixelPos[] |
createRectBoundary(Rectangle rect,
int step)
Creates a rectangular boundary expressed in pixel positions for the given source rectangle. |
static PixelPos[] |
createRectBoundary(Rectangle rect,
int step,
boolean usePixelCenter)
Creates a rectangular boundary expressed in pixel positions for the given source rectangle. |
static BufferedImage |
createRgbImage(RasterDataNode[] rasters,
ImageInfo imageInfo,
com.bc.ceres.core.ProgressMonitor pm)
Creates a RGB image from the given array of s. |
static MapInfo |
createSuitableMapInfo(Product product,
MapProjection mapProjection,
double orientation,
double noDataValue)
Retuns a suitable MapInfo instance for the given (geo-coded) product which includes the entire or a
subset of the product's scene region for the given map projection. |
static MapInfo |
createSuitableMapInfo(Product product,
Rectangle rect,
MapProjection mapProjection)
Retuns a suitable MapInfo instance for the given (geo-coded) product which includes the entire or a
subset of the product's scene region for the given map projection. |
static void |
denormalizeGeoPolygon(GeoPos[] polygon)
Denormalizes the longitude values which have been normalized using the normalizeGeoPolygon(org.esa.beam.framework.datamodel.GeoPos[]) method. |
static void |
denormalizeGeoPos_old(GeoPos geoPos)
Deprecated. |
static void |
denormalizeGeoPos(GeoPos geoPos)
|
static String |
findSuitableQuicklookBandName(Product product)
Finds the name of a band in the given product which is suitable to product a good quicklook. |
static double |
getAngleSum(GeoPos[] polygon)
|
static GeoPos |
getCenterGeoPos(Product product)
|
static double |
getGeophysicalSampleDouble(Band band,
int pixelX,
int pixelY,
int level)
|
static long |
getGeophysicalSampleLong(Band band,
int pixelX,
int pixelY,
int level)
|
static Point2D[] |
getMinMax(Point2D[] boundary)
|
static Dimension |
getOutputRasterSize(Product product,
Rectangle rect,
MapTransform mapTransform,
double pixelSizeX,
double pixelSizeY)
|
static int |
getRotationDirection(GeoPos[] polygon)
|
static ProductData.UTC |
getScanLineTime(Product product,
double y)
|
static int |
normalizeGeoPolygon_old(GeoPos[] polygon)
Deprecated. |
static int |
normalizeGeoPolygon(GeoPos[] polygon)
Normalizes the given geographical polygon so that maximum longitude differences between two points are 180 degrees. |
static BufferedImage |
overlayMasks(RasterDataNode raster,
BufferedImage overlayBIm,
com.bc.ceres.core.ProgressMonitor pm)
Draws all the masks contained overlay mask group of the given raster to the ovelayBIm image. |
static String[] |
removeInvalidExpressions(Product product)
Validates all the expressions contained in the given (output) product. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ProductUtils()
| Method Detail |
|---|
public static ImageInfo createImageInfo(RasterDataNode[] rasters,
boolean assignMissingImageInfos,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
rasters - The raster data nodes.assignMissingImageInfos - if true, it is ensured that to all RasterDataNodes a valid ImageInfo will be assigned.pm - The progress monitor.
IOException - if an I/O error occurs
public static BufferedImage createRgbImage(RasterDataNode[] rasters,
ImageInfo imageInfo,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
RasterDataNodes.
The given array rasters containing one or three raster data nodes. If three rasters are given
RGB image is created, if only one raster is provided a gray scale image created.
rasters - an array of one or three raster nodes.imageInfo - the image info provides the information how to create the imagepm - a monitor to inform the user about progress
IOException - if the given raster data is not loaded and reload causes an I/O errorRasterDataNode.setImageInfo(org.esa.beam.framework.datamodel.ImageInfo)
public static BufferedImage createColorIndexedImage(RasterDataNode rasterDataNode,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
RasterDataNode.
The method uses the given raster data node's image information (an instance of ) to create the image.
ImageInfo
rasterDataNode - the raster data node, must not be nullpm - a monitor to inform the user about progress
IOException - if the given raster data is not loaded and reload causes an I/O errorRasterDataNode.getImageInfo()
public static MapInfo createSuitableMapInfo(Product product,
Rectangle rect,
MapProjection mapProjection)
MapInfo instance for the given (geo-coded) product which includes the entire or a
subset of the product's scene region for the given map projection. The position of the reference pixel will be
the upper left pixel's center (0.5, 0.5).
product - the product, must not be nullrect - the rectangle in pixel coordinates of the product, if null the entire region is
consideredmapProjection - the map projection, must not be null
public static MapInfo createSuitableMapInfo(Product product,
MapProjection mapProjection,
double orientation,
double noDataValue)
MapInfo instance for the given (geo-coded) product which includes the entire or a
subset of the product's scene region for the given map projection. The position of the reference pixel will be the scene center.
product - the product, must not be nullmapProjection - the map projection, must not be nullorientation - the orientation anglenoDataValue - the no-data value to be used
public static Dimension getOutputRasterSize(Product product,
Rectangle rect,
MapTransform mapTransform,
double pixelSizeX,
double pixelSizeY)
public static Point2D[] createMapEnvelope(Product product,
Rectangle rect,
MapTransform mapTransform)
createMapEnvelope(product, rect,
step, mapTransform) where step is the half of the minimum of the product scene raster width and
height.
product - The product.rect - The rectangle in pixel coordinates.mapTransform - The map transformation.
public static Point2D[] createMapEnvelope(Product product,
Rectangle rect,
int step,
MapTransform mapTransform)
createMapBoundary(product, rect,
step, mapTransform) where step is the half of the minimum of the product scene
raster width and height.
product - The product.rect - The rectangle in pixel coordinates.step - The step size in pixels.mapTransform - The map transformation.
public static Point2D[] getMinMax(Point2D[] boundary)
public static Point2D[] createMapBoundary(Product product,
Rectangle rect,
int step,
MapTransform mapTransform)
public static GeoPos[] createGeoBoundary(Product product,
int step)
product - the input product, must not be nullstep - the step given in pixels
IllegalArgumentException - if product is null or if the product's GeoCoding is null
public static GeoPos[] createGeoBoundary(Product product,
Rectangle region,
int step)
This method delegates to createGeoBoundary(Product, Rectangle, int, boolean)
and the additional boolean parameter usePixelCenter is true.
product - the input product, must not be nullregion - the region rectangle in product pixel coordinates, can be null for entire productstep - the step given in pixels
IllegalArgumentException - if product is null or if the product's GeoCoding is nullcreatePixelBoundary(org.esa.beam.framework.datamodel.RasterDataNode, java.awt.Rectangle, int)
public static GeoPos[] createGeoBoundary(Product product,
Rectangle region,
int step,
boolean usePixelCenter)
product - the input product, must not be nullregion - the region rectangle in product pixel coordinates, can be null for entire productstep - the step given in pixelsusePixelCenter - true if the pixel center should be used to create the boundary
IllegalArgumentException - if product is null or if the product's GeoCoding is nullcreatePixelBoundary(org.esa.beam.framework.datamodel.Product, java.awt.Rectangle, int, boolean)
public static GeoPos[] createGeoBoundary(RasterDataNode raster,
Rectangle region,
int step)
raster - the input raster, must not be nullregion - the region rectangle in raster pixel coordinates, can be null for entire rasterstep - the step given in pixels
IllegalArgumentException - if raster is null or if the raster has no GeoCoding is nullcreatePixelBoundary(org.esa.beam.framework.datamodel.RasterDataNode, java.awt.Rectangle, int)public static GeneralPath[] createGeoBoundaryPaths(Product product)
product - the input product
IllegalArgumentException - if product is null or if the product's GeoCoding is nullcreateGeoBoundary(org.esa.beam.framework.datamodel.Product, int)
public static GeneralPath[] createGeoBoundaryPaths(Product product,
Rectangle region,
int step)
createGeoBoundaryPaths(Product, Rectangle, int, boolean)
and the additional parameter usePixelCenter is true.
The geographic boundary of the given product are returned as shapes comprising (longitude,latitude) pairs.
product - the input productregion - the region rectangle in product pixel coordinates, can be null for entire productstep - the step given in pixels
IllegalArgumentException - if product is null or if the product's GeoCoding is nullcreateGeoBoundary(org.esa.beam.framework.datamodel.Product, java.awt.Rectangle, int)
public static GeneralPath[] createGeoBoundaryPaths(Product product,
Rectangle region,
int step,
boolean usePixelCenter)
product - the input productregion - the region rectangle in product pixel coordinates, can be null for entire productstep - the step given in pixelsusePixelCenter - true if the pixel center should be used to create the pathes
IllegalArgumentException - if product is null or if the product's GeoCoding is nullcreateGeoBoundary(org.esa.beam.framework.datamodel.Product, java.awt.Rectangle, int, boolean)
public static PixelPos[] createPixelBoundary(Product product,
Rectangle rect,
int step)
rect is 100 x 50 pixels and step is 10 the returned array will countain exactly 2 * 10
+ 2 * (5 - 2) = 26 pixel positions.
This method is used for an intermediate step when determining a product boundary expressed in geographical co-ordinates.
This method delegates to createPixelBoundary(Product, Rectangle, int, boolean)
and the additional boolean parameter usePixelCenter is true.
product - the productrect - the source rectanglestep - the mean distance from one pixel position to the other in the returned array
public static PixelPos[] createPixelBoundary(Product product,
Rectangle rect,
int step,
boolean usePixelCenter)
rect is 100 x 50 pixels and step is 10 the returned array will countain exactly 2 * 10
+ 2 * (5 - 2) = 26 pixel positions.
This method is used for an intermediate step when determining a product boundary expressed in geographical co-ordinates.
product - the productrect - the source rectanglestep - the mean distance from one pixel position to the other in the returned arrayusePixelCenter - true if the pixel center should be used to create the boundary
public static PixelPos[] createPixelBoundary(RasterDataNode raster,
Rectangle rect,
int step)
rect is 100 x 50 pixels and step is 10 the returned array will countain exactly 2 * 10
+ 2 * (5 - 2) = 26 pixel positions.
This method is used for an intermediate step when determining a raster boundary expressed in geographical co-ordinates.
raster - the rasterrect - the source rectanglestep - the mean distance from one pixel position to the other in the returned array
public static PixelPos[] createRectBoundary(Rectangle rect,
int step)
rect is 100 x 50 pixels and step is 10 the returned array will countain exactly 2 * 10
+ 2 * (5 - 2) = 26 pixel positions.
This method is used for an intermediate step when determining a product boundary expressed in geographical co-ordinates.
This method delegates to createRectBoundary(Rectangle, int, boolean)
and the additional boolean parameter usePixelCenter is true.
rect - the source rectanglestep - the mean distance from one pixel position to the other in the returned array
public static PixelPos[] createRectBoundary(Rectangle rect,
int step,
boolean usePixelCenter)
rect is 100 x 50 pixels and step is 10 the returned array will countain exactly 2 * 10
+ 2 * (5 - 2) = 26 pixel positions.
This method is used for an intermediate step when determining a product boundary expressed in geographical
co-ordinates.
rect - the source rectanglestep - the mean distance from one pixel position to the other in the returned arrayusePixelCenter - true if the pixel center should be used
public static void copyFlagCodings(Product source,
Product target)
source - the source producttarget - the target product
public static FlagCoding copyFlagCoding(FlagCoding sourceFlagCoding,
Product target)
sourceFlagCoding - the source flag codingtarget - the target product
public static IndexCoding copyIndexCoding(IndexCoding sourceIndexCoding,
Product target)
sourceIndexCoding - the source index codingtarget - the target product
public static void copyMasks(Product sourceProduct,
Product targetProduct)
Masks from the source product to the target product.
IMPORTANT NOTE: This method should only be used, if it is known that all masks
in the source product will also be valid in the target product. This method does
not copy overlay masks from the source bands to the target bands. Also
note that a source mask is not copied to the target product, when there already
is a mask in the target product with the same name as the source mask.
sourceProduct - the source producttargetProduct - the target product
public static void copyOverlayMasks(Product sourceProduct,
Product targetProduct)
Masks from the source product's raster data nodes to
the target product's raster data nodes.
IMPORTANT NOTE: This method should only be used, if it is known that all masks
in the source product will also be valid in the target product. This method does
not copy overlay masks, which are not contained in the target product's
mask group.
sourceProduct - the source producttargetProduct - the target product
@Deprecated
public static void copyRoiMasks(Product sourceProduct,
Product targetProduct)
Masks from the source product's raster data nodes to
the target product's raster data nodes.
IMPORTANT NOTE: This method should only be used, if it is known that all masks
in the source product will also be valid in the target product. This method does
not copy ROI masks, which are not contained in the target product's
mask group.
sourceProduct - the source producttargetProduct - the target product
public static void copyFlagBands(Product sourceProduct,
Product targetProduct,
boolean copySourceImage)
sourceProduct - the source producttargetProduct - the target productcopySourceImage - whether the source image of the source band should be copied.
@Deprecated
public static void copyFlagBands(Product sourceProduct,
Product targetProduct)
copyFlagBands(Product, Product, boolean) instead.
sourceProduct - the source producttargetProduct - the target product
public static TiePointGrid copyTiePointGrid(String gridName,
Product sourceProduct,
Product targetProduct)
gridName - the name of the tie-point grid to be copied.sourceProduct - the source producttargetProduct - the target product
null if the sourceProduct does not contain a tie-point grid with the given name.
public static Band copyBand(String sourceBandName,
Product sourceProduct,
Product targetProduct,
boolean copySourceImage)
sourceBandName - the name of the band to be copied.sourceProduct - the source product.targetProduct - the target product.copySourceImage - whether the source image of the source band should be copied.
null if the sourceProduct does not contain a band with the given name.
public static Band copyBand(String sourceBandName,
Product sourceProduct,
String targetBandName,
Product targetProduct,
boolean copySourceImage)
sourceBandName - the name of the band to be copied.sourceProduct - the source product.targetBandName - the name of the band copied.targetProduct - the target product.copySourceImage - whether the source image of the source band should be copied.
null if the sourceProduct does not contain a band with the given name.
public static void copyRasterDataNodeProperties(RasterDataNode sourceRaster,
RasterDataNode targetRaster)
sourceRaster - the source bandtargetRaster - the target bandcopySpectralBandProperties(org.esa.beam.framework.datamodel.Band, org.esa.beam.framework.datamodel.Band)
@Deprecated
public static Band copyBand(String sourceBandName,
Product sourceProduct,
Product targetProduct)
copyBand(String, Product, Product, boolean) instead.
sourceBandName - the name of the band to be copied.sourceProduct - the source product.targetProduct - the target product.
null if the sourceProduct does not contain a band with the given name.
@Deprecated
public static Band copyBand(String sourceBandName,
Product sourceProduct,
String targetBandName,
Product targetProduct)
copyBand(String, Product, String, Product, boolean) instead.
sourceBandName - the name of the band to be copied.sourceProduct - the source product.targetBandName - the name of the band copied.targetProduct - the target product.
null if the sourceProduct does not contain a band with the given name.
public static void copySpectralBandProperties(Band sourceBand,
Band targetBand)
sourceBand - the source bandtargetBand - the target bandcopyRasterDataNodeProperties(org.esa.beam.framework.datamodel.RasterDataNode, org.esa.beam.framework.datamodel.RasterDataNode)
public static void copyGeoCoding(Product sourceProduct,
Product targetProduct)
If the geo-coding in the source product is a TiePointGeoCoding or a PixelGeoCoding,
the method expects existing latitude and longitude tie-point grids respectively existing latitude and longitude
bands in the target product. The method will NOT automatically copy them as well.
This behaviour may change in the future.
sourceProduct - the source producttargetProduct - the target product
IllegalArgumentException - if one of the params is null.
public static void copyTiePointGrids(Product sourceProduct,
Product targetProduct)
sourceProduct - the source producttargetProduct - the target product
public static void copyVectorData(Product sourceProduct,
Product targetProduct)
public static boolean canGetPixelPos(Product product)
product - the product to be checked
true if the given product can return a pixel positionpublic static boolean canGetPixelPos(RasterDataNode raster)
raster - the raster to be checked
true if the given raster can return a pixel position
public static BufferedImage createDensityPlotImage(RasterDataNode raster1,
float sampleMin1,
float sampleMax1,
RasterDataNode raster2,
float sampleMin2,
float sampleMax2,
Mask roiMask,
int width,
int height,
Color background,
BufferedImage image,
com.bc.ceres.core.ProgressMonitor pm)
throws IOException
raster1 - the first raster data nodesampleMin1 - the minimum sample value to be considered in the first rastersampleMax1 - the maximum sample value to be considered in the first rasterraster2 - the second raster data nodesampleMin2 - the minimum sample value to be considered in the second rastersampleMax2 - the maximum sample value to be considered in the second rasterroiMask - an optional mask to be used as a ROI for the computationwidth - the width of the output imageheight - the height of the output imagebackground - the background color of the output imageimage - an image to be used as output image, if null a new image is createdpm - the progress monitor
IOException - when an error occurred.
public static BufferedImage overlayMasks(RasterDataNode raster,
BufferedImage overlayBIm,
com.bc.ceres.core.ProgressMonitor pm)
raster - the raster data node which contains all the activated bitmask definitionsoverlayBIm - the source image which is used as base image for all the overlays.pm - a monitor to inform the user about progress
RasterDataNode.getOverlayMaskGroup()public static GeoPos getCenterGeoPos(Product product)
public static int normalizeGeoPolygon(GeoPos[] polygon)
polygon - a geographical, closed polygon
denormalizeGeoPolygon(GeoPos[])@Deprecated public static int normalizeGeoPolygon_old(GeoPos[] polygon)
public static void denormalizeGeoPolygon(GeoPos[] polygon)
normalizeGeoPolygon(org.esa.beam.framework.datamodel.GeoPos[]) method. The
method operates only on the longitude values of the given polygon.
polygon - a geographical, closed polygonpublic static void denormalizeGeoPos(GeoPos geoPos)
@Deprecated public static void denormalizeGeoPos_old(GeoPos geoPos)
public static int getRotationDirection(GeoPos[] polygon)
public static double getAngleSum(GeoPos[] polygon)
public static GeneralPath convertToPixelPath(GeneralPath geoPath,
GeoCoding geoCoding)
GeneralPath given in geographic lon/lat coordinates into a GeneralPath in
pixel coordinates using the supplied geo coding.
geoPath - a GeneralPath given in geographic lon/lat coordinates, as returned by the convertToGeoPath(Shape, GeoCoding) methodgeoCoding - the geocoding used to convert the geographic coordinates into pixel coordinates.
GeneralPath given in pixel coordinates.
IllegalArgumentException - if one of the given parameter is null.
IllegalStateException - if the given geoPath is not a geo referenced GeneralPath wich
contains only SEG_MOVETO, SEG_LINETO, and SEG_CLOSE point types.convertToGeoPath(Shape, GeoCoding)
public static GeneralPath convertToGeoPath(Shape shape,
GeoCoding geoCoding)
Shape given in pixel X/Y coordinates into a GeneralPath in geografic
coordinates using the supplied geo coding.
shape - a Shape given in pixel X/Y coordinatesgeoCoding - the geo coding used to convert the pixel coordinates into geografic coordinates.
GeneralPath given in geografic coordinates
IllegalArgumentException - if one of the given parameter is null or the given geo coding can
not get geografic coordinates.
IllegalStateException - if this method was used with a java runtime version in which it is not guaranted
that a PathIterator returned by Shape.getPathIterator(java.awt.geom.AffineTransform,
double) returnes only SEG_MOVETO, SEG_LINETO, and SEG_CLOSE point types.GeoCoding.canGetGeoPos()
public static void copyMetadata(Product source,
Product target)
source - the source product.target - the target product.
NullPointerException - if the source or the target product is null.
public static void copyMetadata(MetadataElement source,
MetadataElement target)
source - the source element.target - the target element.
NullPointerException - if the source or the target element is null.
public static void copyPreferredTileSize(Product sourceProduct,
Product targetProduct)
sourceProduct - The source product.targetProduct - The target product.public static GeoTIFFMetadata createGeoTIFFMetadata(Product product)
public static GeoTIFFMetadata createGeoTIFFMetadata(GeoCoding geoCoding,
int width,
int height)
public static GeneralPath areaToPath(Area negativeArea,
double deltaX)
public static void addElementToHistory(Product product,
MetadataElement elem)
product - the product to add the history element.elem - the element to add to the products history. If null nothing will be added.public static String[] removeInvalidExpressions(Product product)
product - the (output) product to be cleaned up
public static String findSuitableQuicklookBandName(Product product)
product - the product to be searched
public static PixelPos[] computeSourcePixelCoordinates(GeoCoding sourceGeoCoding,
int sourceWidth,
int sourceHeight,
GeoCoding destGeoCoding,
Rectangle destArea)
public static float[] computeMinMaxY(PixelPos[] pixelPositions)
PixelPos array.
pixelPositions - the PixelPos array
PixelPos array in the
order:null if no minimum or maximum can be retrieved because there given array is
empty.
IllegalArgumentException - if the given pixelPositions are null.
public static void copyBandsForGeomTransform(Product sourceProduct,
Product targetProduct,
double defaultNoDataValue,
Map<Band,RasterDataNode> addedRasterDataNodes)
copyBandsForGeomTransform(org.esa.beam.framework.datamodel.Product, org.esa.beam.framework.datamodel.Product, boolean, double, java.util.Map)
public static void copyBandsForGeomTransform(Product sourceProduct,
Product targetProduct,
boolean includeTiePointGrids,
double defaultNoDataValue,
Map<Band,RasterDataNode> targetToSourceMap)
If
sourceBand.scalingApplied is true,
this method will always create the related target band with the raw data type ProductData.TYPE_FLOAT32,
regardless which raw data type the source band has.
In this case, targetBand.scalingFactor
will always be 1.0, targetBand.scalingOffset
will always be 0.0 and
targetBand.log10Scaled will be taken from the source band.
This ensures that source pixel resampling methods operating on floating point
data can be stored without loss in accuracy in the target band.
Furthermore, the
targetBands.noDataValueSet
and targetBands.noDataValueUsed
properties will always be true for all added target bands. The targetBands.geophysicalNoDataValue,
will be either the one from the source band, if any, or otherwise the one passed into this method.
sourceProduct - the source product as the source for the band specifications. Must be not
null.targetProduct - the destination product to receive the bands created. Must be not null.includeTiePointGrids - if true, tie-point grids of source product will be included as bands in target productdefaultNoDataValue - the default, geophysical no-data value to be used if no no-data value is used by the source band.targetToSourceMap - a mapping from a target band to a source raster data node, can be null
public static ProductData.UTC getScanLineTime(Product product,
double y)
public static double getGeophysicalSampleDouble(Band band,
int pixelX,
int pixelY,
int level)
public static long getGeophysicalSampleLong(Band band,
int pixelX,
int pixelY,
int level)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||