com.esri.arcgis.datasourcesraster
Interface IRasterGeometryProc

All Superinterfaces:
Serializable
All Known Implementing Classes:
RasterGeometryProc

public interface IRasterGeometryProc
extends Serializable

Provides access to members that allow raster geometry processing.

Superseded By

IRasterGeometryProc3

Remarks

The RasterGeometryProc manipulates only Raster objects, not RasterBand or RasterDataset object. This is because the Raster is transient, as are the effects of the RasterGeometryProc. This means that any transformation will also go away when the Raster object goes out of scope.

To keep the transformed data for later use, you must persist the transformation using Register or Rectify. If used on a Raster contained within a RasterLayer, processing performed by this object will be visible when the display is refreshed.

Although Merge and Mosaic take Raster object as an input, any changes to the Raster object before calling the two methods will be ignored.

Product Availability

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


Method Summary
 void clip(IEnvelope ipRectangle, IRaster pRaster)
          Clips the input raster based on the specified envelope.
 void flip(IRaster pRaster)
          Flips the input raster.
 boolean isPixelToMapTransSimple(IRaster pRaster)
          Indicates if the transformation of pixel to map is simple.
 Object leastSquareFit(IPointCollection sourceControlPoints, IPointCollection targetControlPoints, int transformType, boolean forwardTransformation, boolean returnTransformationCoef)
          Computes a least squares fit for the input control points.
 IRaster merge(String saveas_name, IWorkspace ipWorkspace, String outRasterFormat, double cellSize, ISpatialReference ipSR, IRaster pRaster)
          Merges the input rasters into a single dataset.
 void mirror(IRaster pRaster)
          Mirrors the input raster.
 IRaster mosaic(String saveas_name, IWorkspace pWorkspace, String outRasterFormat, double cellSize, ISpatialReference pSR, IRaster pRaster)
          Mosaics the input rasters into a single dataset.
 IPointCollection pointsTransform(IPointCollection inPoints, boolean isForward, IRaster pRaster)
          Transforms a set of points based upon the transformation being applied to the input raster.
 void projectFast(ISpatialReference pNewSR, int resampleType, Object pCellsize, IRaster pRaster)
          Projects the input raster using a single polynomial fit to compute the adjustment between coordinate systems.
 void rectify(String saveas_name, String format, IRaster pRaster)
          Persists the input raster to a new dataset of the specified format.
 void register(IRaster pRaster)
          Outputs the current transformation properties to the dataset header or auxilliary file.
 void resample(int resampleType, double newCellsize, IRaster pRaster)
          Resamples the input raster to a new cellsize.
 void reScale(double xScale, double yScale, IRaster pRaster)
          Scales the input raster by the specified x and y scale factors.
 void reset(IRaster pRaster)
          Resets the input raster to its native coordinate space.
 void rotate(IPoint pPivotPoint, double rotateAngle, IRaster pRaster)
          Rotates the input raster around the specified pivot by an angle specified in degrees.
 void shift(double deltaX, double deltaY, IRaster pRaster)
          Shifts the input raster by deltaX and deltaY map units.
 void twoPointsAdjust(IPointCollection sourceControlPoints, IPointCollection targetControlPoints, IRaster pRaster)
          Performs a Hermite transformation on the input raster based upon the 2 input control point pairs.
 void warp(IPointCollection sourceControlPoints, IPointCollection targetControlPoints, int transformType, IRaster pRaster)
          Warps the input raster based upon the input control points using the transformation type specified.
 

Method Detail

flip

void flip(IRaster pRaster)
          throws IOException,
                 AutomationException
Flips the input raster.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

mirror

void mirror(IRaster pRaster)
            throws IOException,
                   AutomationException
Mirrors the input raster.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

shift

void shift(double deltaX,
           double deltaY,
           IRaster pRaster)
           throws IOException,
                  AutomationException
Shifts the input raster by deltaX and deltaY map units.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
deltaX - The deltaX (in)
deltaY - The deltaY (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reScale

void reScale(double xScale,
             double yScale,
             IRaster pRaster)
             throws IOException,
                    AutomationException
Scales the input raster by the specified x and y scale factors.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
xScale - The xScale (in)
yScale - The yScale (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

void rotate(IPoint pPivotPoint,
            double rotateAngle,
            IRaster pRaster)
            throws IOException,
                   AutomationException
Rotates the input raster around the specified pivot by an angle specified in degrees.

Remarks

The Rotate method rotates the raster by the angle input in degrees around the input pivot point, if specified. If no pivot point is specified, the raster is rotated around its center point. Positive rotateAngle rotates the raster counter-clockwise, while negative rotateAngle rotates the raster clockwise.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPivotPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
rotateAngle - The rotateAngle (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

warp

void warp(IPointCollection sourceControlPoints,
          IPointCollection targetControlPoints,
          int transformType,
          IRaster pRaster)
          throws IOException,
                 AutomationException
Warps the input raster based upon the input control points using the transformation type specified.

Remarks

Warp method computes a polynomial transformation based on the input links, then applies this transformation to the input raster. The polynomial transformation specified can be first, second, or third order polynomials. Each transformation order requires a minimum number of control links. They are 3, 6, and 10 for order 1,2, and 3, respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
sourceControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
targetControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
transformType - A com.esri.arcgis.datasourcesraster.esriGeoTransTypeEnum constant (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

twoPointsAdjust

void twoPointsAdjust(IPointCollection sourceControlPoints,
                     IPointCollection targetControlPoints,
                     IRaster pRaster)
                     throws IOException,
                            AutomationException
Performs a Hermite transformation on the input raster based upon the 2 input control point pairs.

Remarks

The TwoPointsAdjust method computes a Hermite transformation from a pair of links and applies to the raster. A Hermite transformation can shift, rotate, and scale a raster.
es a minimum number of control links. They are 3, 6, and 10 for order 1,2, and 3, respectively.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
sourceControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
targetControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

pointsTransform

IPointCollection pointsTransform(IPointCollection inPoints,
                                 boolean isForward,
                                 IRaster pRaster)
                                 throws IOException,
                                        AutomationException
Transforms a set of points based upon the transformation being applied to the input raster.

Remarks

The PointsTransform method transforms a set of points and using the transformations currently held in the input raster. The points can be transformed forwards or backwards.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
inPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
isForward - The isForward (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPointCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

leastSquareFit

Object leastSquareFit(IPointCollection sourceControlPoints,
                      IPointCollection targetControlPoints,
                      int transformType,
                      boolean forwardTransformation,
                      boolean returnTransformationCoef)
                      throws IOException,
                             AutomationException
Computes a least squares fit for the input control points.

Remarks

The numbers of points in the SourceControlPoints and targetControlPoints must be equal. To create a first order polynomial transformation, there should be at least 3 un-correlated points for both source and target control points. For the second order and third order polynomial transformations, the minimum number of un-correlated points are 6 and 10 respectively.

Setting the argument forwardTransformation to be true indicates the transformation will be computed from SourceControls to targetControlPoints, while setting it to be false indicates the transformation will be computed from targetControlPoints to SourceControlPoints.

Setting the argument ReturnTransformationCoef to be true indicates the returned variant will be the coefficients of the transformation polynomial, while setting it to be false indicates that the returned variant will be residual.

The returned coefficients are represented as a Nx2 array with N varies with the transformation order. The returned residual is represented as a one-dimensional array. The number of the element in the array equals the number of the control points.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
sourceControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
targetControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)
transformType - A com.esri.arcgis.datasourcesraster.esriGeoTransTypeEnum constant (in)
forwardTransformation - The forwardTransformation (in)
returnTransformationCoef - The returnTransformationCoef (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

void reset(IRaster pRaster)
           throws IOException,
                  AutomationException
Resets the input raster to its native coordinate space.

Remarks

The Reset method sets the raster back to its initial state. The transformations that have been put to the raster but have not been persisted to the raster dataset will be gone after calling this method

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

rectify

void rectify(String saveas_name,
             String format,
             IRaster pRaster)
             throws IOException,
                    AutomationException
Persists the input raster to a new dataset of the specified format.

Remarks

The output formats as well as the strings used for the supported formats are below, and they are case sensitive:

Format Name String Used
Imagine "IMAGINE Image"
TIFF "TIFF"
GRID "GRID"
JPEG "JPG"
JP2000 "JP2"
BMP "BMP"
PNG "PNG"
GIF "GIF"
PCI Raster "PIX"
USGS ASCII DEM "DEM"
X11 Pixmap "XPM"
PCRaster "MAP"
USGS ASCII DEM "DEM"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
saveas_name - The saveas_name (in)
format - The format (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

register

void register(IRaster pRaster)
              throws IOException,
                     AutomationException
Outputs the current transformation properties to the dataset header or auxilliary file.

Remarks

To prevent the need for resampling, the Register method persists the transformation into the auxiliary file associated with the dataset on disk. The presence of this transformation on disk means that the data can be transformed on the fly to its correct position for display and analysis. However, because the transformation is stored in the auxiliary file, only ArcGIS, ArcObjects, and ERDAS IMAGINE will be able to use this information. Register will not correctly maintain the transformation for rasters that have been clipped. To provide compatibility with ArcInfo Workstation, complex transformations cannot be written to GRID-format datasets.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

clip

void clip(IEnvelope ipRectangle,
          IRaster pRaster)
          throws IOException,
                 AutomationException
Clips the input raster based on the specified envelope.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
ipRectangle - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

projectFast

void projectFast(ISpatialReference pNewSR,
                 int resampleType,
                 Object pCellsize,
                 IRaster pRaster)
                 throws IOException,
                        AutomationException
Projects the input raster using a single polynomial fit to compute the adjustment between coordinate systems.

Remarks

The ProjectFast method projects a raster to a new spatial reference with a specified cell size. ProjectFast method does not project a raster cell by cell, instead, this method divides the whole raster into 64 x 64 pixel blocks and projects a raster based on a piecewise polynomial transformation algorithm, whereby each block is transformed using a polynomial warp. Altough this method is not as accurate as the cell by cell projection (PROJECT command in ArcGrid™), it is faster and accurate enough for most application and analysis.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNewSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
resampleType - A com.esri.arcgis.geodatabase.rstResamplingTypes constant (in)
pCellsize - A Variant (in, optional, pass null if not required)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

merge

IRaster merge(String saveas_name,
              IWorkspace ipWorkspace,
              String outRasterFormat,
              double cellSize,
              ISpatialReference ipSR,
              IRaster pRaster)
              throws IOException,
                     AutomationException
Merges the input rasters into a single dataset.

Remarks

Merge only work with single band images. It is recomended to use MosaicRaster object, which handles both single band and multiple band images,to perform merge operation.

The Merge method combines multiple adjacent single band raster datasets into a single output raster dataset. Merge determines the value of an overlapping output cell from the last NoData cell input of the input rasters.

The ipRaster is a Raster object that contains two or more bands, and the Merge operation combines all the bands of this raster into a single band raster dataset on disk.

Passing Nothing to the ipSR will result in an output with an unknown spatial reference.

The OutRasterFormat can only be one of the following formats. The format strings used for the supported formats are below, and they are case sensitive:

Format Name String Used
Imagine "IMAGINE Image"
TIFF "TIFF"
GRID "GRID"
JPEG "JPG"
JP2000 "JP2"
BMP "BMP"
PNG "PNG"
GIF "GIF"
PCI Raster "PIX"
USGS ASCII DEM "DEM"
X11 Pixmap "XPM"
PCRaster "MAP"
USGS ASCII DEM "DEM"
Memory Raster "MEM"
Geodatabase Raster "GDB"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
saveas_name - The saveas_name (in)
ipWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
outRasterFormat - The outRasterFormat (in)
cellSize - The cellSize (in)
ipSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRaster
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

mosaic

IRaster mosaic(String saveas_name,
               IWorkspace pWorkspace,
               String outRasterFormat,
               double cellSize,
               ISpatialReference pSR,
               IRaster pRaster)
               throws IOException,
                      AutomationException
Mosaics the input rasters into a single dataset.

Remarks

Mosaic only work with single band images. It is recomended to use MosaicRaster object, which handles both single band and multiple band images,to perform mosaic operation.

The Mosaic method combines multiple adjacent single band raster datasets into a single output raster dataset. Mosaic determines the value of an output call by averaging the values of the overlapping input cells.

The ipRaster is a Raster object that contains two or more raster bands, and the Mosaic operation combines all the bands of the raster into one single band raster dataset on disk.

Passing Nothing to the ipSR will result in an output with an unknown spatial reference.

The OutRasterFormat can only be one of the following formats. The format strings used for the supported formats are below, and they are case sensitive:

Format Name String Used
Imagine "IMAGINE Image"
TIFF "TIFF"
GRID "GRID"
JPEG "JPG"
JP2000 "JP2"
BMP "BMP"
PNG "PNG"
GIF "GIF"
PCI Raster "PIX"
USGS ASCII DEM "DEM"
X11 Pixmap "XPM"
PCRaster "MAP"
USGS ASCII DEM "DEM"
Memory Raster "MEM"
Geodatabase Raster "GDB"

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
saveas_name - The saveas_name (in)
pWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
outRasterFormat - The outRasterFormat (in)
cellSize - The cellSize (in)
pSR - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRaster
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resample

void resample(int resampleType,
              double newCellsize,
              IRaster pRaster)
              throws IOException,
                     AutomationException
Resamples the input raster to a new cellsize.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
resampleType - A com.esri.arcgis.geodatabase.rstResamplingTypes constant (in)
newCellsize - The newCellsize (in)
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPixelToMapTransSimple

boolean isPixelToMapTransSimple(IRaster pRaster)
                                throws IOException,
                                       AutomationException
Indicates if the transformation of pixel to map is simple.

Product Availability

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

Parameters:
pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Returns:
The isSimple
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.