Class SubsetOp

java.lang.Object
org.esa.snap.core.gpf.Operator
org.esa.snap.core.gpf.common.SubsetOp

@OperatorMetadata(alias="Subset", category="Raster", authors="SNAP Developers", version="1.3", copyright="(c) 2011 by Brockmann Consult", description="Create a spatial and/or spectral subset of a data product.") public class SubsetOp extends Operator
This operator is used to create either spatial and/or spectral subsets of a data product. Spatial subset may be given by pixel positions (parameter region) or a geographical polygon (parameter geoRegion). Subsets of band and tie-point grid are given by name lists (parameters bandNames and tiePointGridNames).
Since:
BEAM 4.9
  • Constructor Details

    • SubsetOp

      public SubsetOp()
  • Method Details

    • getTiePointGridNames

      public String[] getTiePointGridNames()
    • setTiePointGridNames

      public void setTiePointGridNames(String[] tiePointGridNames)
    • getBandNames

      public String[] getBandNames()
    • setBandNames

      public void setBandNames(String[] bandNames)
    • setCopyMetadata

      public void setCopyMetadata(boolean copyMetadata)
    • getRegion

      public Rectangle getRegion()
    • setRegion

      public void setRegion(Rectangle region)
    • setSubSamplingX

      public void setSubSamplingX(int subSamplingX)
    • setSubSamplingY

      public void setSubSamplingY(int subSamplingY)
    • getGeoRegion

      public org.locationtech.jts.geom.Geometry getGeoRegion()
    • setGeoRegion

      public void setGeoRegion(org.locationtech.jts.geom.Geometry geoRegion)
    • initialize

      public void initialize() throws OperatorException
      Description copied from class: Operator
      Initializes this operator and sets the one and only target product.

      The target product can be either defined by a field of type Product annotated with the TargetProduct annotation or by calling Operator.setTargetProduct(org.esa.snap.core.datamodel.Product) method.

      This method shall never be called directly. The framework calls this method after it has created an instance of this Operator. This will occur only once durting the lifetime of an Operator instance. If not already done, calling the Operator.getTargetProduct() will always trigger a call to the initialize() method.

      Any client code that must be performed before computation of tile data should be placed here.

      Specified by:
      initialize in class Operator
      Throws:
      OperatorException - If an error occurs during operator initialisation.
      See Also:
    • computeTile

      public void computeTile(Band band, Tile targetTile, ProgressMonitor pm) throws OperatorException
      Description copied from class: Operator
      Called by the framework in order to compute a tile for the given target band.

      The default implementation throws a runtime exception with the message "not implemented".

      This method shall never be called directly.

      Overrides:
      computeTile in class Operator
      Parameters:
      band - The target band.
      targetTile - The current tile associated with the target band to be computed.
      pm - A progress monitor which should be used to determine computation cancellation requests.
      Throws:
      OperatorException - If an error occurs during computation of the target raster.
    • computePixelRegion

      public static Rectangle computePixelRegion(Product product, org.locationtech.jts.geom.Geometry geometryRegion, int numBorderPixels)
      Non-API (yet).
    • computeRegionMap

      public static HashMap<String,SubsetRegionInfo> computeRegionMap(Rectangle region, Product product, String[] rasterNames)
    • computeRegionMap

      public static HashMap<String,SubsetRegionInfo> computeRegionMap(Rectangle region, String referenceBandName, Product product, String[] rasterNames)
    • computeRegionMap

      public static HashMap<String,SubsetRegionInfo> computeRegionMap(Rectangle region, org.locationtech.jts.geom.Polygon regionPolygon, String referenceBandName, Product product, String[] rasterNames)
    • computeRegionMap

      public static HashMap<String,SubsetRegionInfo> computeRegionMap(org.locationtech.jts.geom.Geometry geoRegion, Product product, String[] rasterNames)