com.esri.arcgis.datasourcesraster
Interface IMosaicOperator

All Superinterfaces:
Serializable
All Known Implementing Classes:
BlendMosaicker, MeanMosaicker

public interface IMosaicOperator
extends Serializable

Provides access to members that control custom mosaic operators.

Description

A mosaic operator is used to resolve overlapping pixels when multiple rasters are mosaicked together using MosaicRaster. A custom mosaic operator implements IMosaicOperator, and two other optional interfaces, IMosiacOperator2, and IMosaicOperator3. IMosaicOperator allows a custom mosaic operator to have any number of properties specific to the operator. At runtime, MosaicRaster will use IMosaicOperator to initialize a custom mosaic operator with the current pixel block dimension before a pixel block is processed, and the current band number before a band (or plane) within the pixel block is processed.
A custom mosaic operator will be asked to operate on a pair of overlapping pixels at a time. The first pixel value comes from the mosaicked raster, and the second comes from the raster that is mosaicking into the mosaicked raster. A custom mosaic operator will use the two values, plus other information obtained during initialization, to generate a new pixel value.
MosaicRaster will use IMosaicOperator2, and call its floating-point version of Operate() if the input raster pixel type can not be represented as a 32-bit integer, including PT_ULONG, PT_FLOAT, and PT_DOUBLE.
For more initialization information, a custom mosaic operator can implement IMosaicOperator3.
ArcGIS provides a set of mosaic operators for common cases, such as first, last, mean, blend, and etc.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
IMosaicRaster, IRasterLoader

Method Summary
 IPropertySet getProperties()
          Mosaic operator properties.
 void init(int nBands, int nBlockCols, int nBlockRows)
          Initializes a mosaic operator.
 void operate(int x, int y, int v1, int[] v2)
          Operates on two integer values and returns a new one.
 void setCurrentBand(int rhs1)
          The current band index.
 void setProperties(IPropertySet ppProperties)
          Mosaic operator properties.
 

Method Detail

getProperties

IPropertySet getProperties()
                           throws IOException,
                                  AutomationException
Mosaic operator properties.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setProperties

void setProperties(IPropertySet ppProperties)
                   throws IOException,
                          AutomationException
Mosaic operator properties.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
ppProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

init

void init(int nBands,
          int nBlockCols,
          int nBlockRows)
          throws IOException,
                 AutomationException
Initializes a mosaic operator.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
nBands - The nBands (in)
nBlockCols - The nBlockCols (in)
nBlockRows - The nBlockRows (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurrentBand

void setCurrentBand(int rhs1)
                    throws IOException,
                           AutomationException
The current band index.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
rhs1 - The rhs1 (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

operate

void operate(int x,
             int y,
             int v1,
             int[] v2)
             throws IOException,
                    AutomationException
Operates on two integer values and returns a new one.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
x - The x (in)
y - The y (in)
v1 - The v1 (in)
v2 - The v2 (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.