|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
public interface IRasterGeometryProc
Provides access to members that allow raster geometry processing.
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.
| Method Summary | |
|---|---|
void |
clip(IEnvelope ipRectangle,
IRaster ipRaster)
Clips the input raster based on the specified envelope. |
void |
flip(IRaster ipRaster)
Flips the input raster. |
boolean |
isPixelToMapTransSimple(IRaster ipRaster)
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 ipRaster)
Merges the input rasters into a single dataset. |
void |
mirror(IRaster ipRaster)
Mirrors the input raster. |
IRaster |
mosaic(String saveas_name,
IWorkspace ipWorkspace,
String outRasterFormat,
double cellSize,
ISpatialReference ipSR,
IRaster ipRaster)
Mosaics the input rasters into a single dataset. |
IPointCollection |
pointsTransform(IPointCollection inPoints,
boolean isForward,
IRaster ipRaster)
Transforms a set of points based upon the transformation being applied to the input raster. |
void |
projectFast(ISpatialReference ipNewSR,
int resampleType,
Object pCellsize,
IRaster ipRaster)
Projects the input raster using a single polynomial fit to compute the adjustment between coordinate systems. |
void |
rectify(String saveas_name,
String format,
IRaster ipRaster)
Persists the input raster to a new dataset of the specified format. |
void |
register(IRaster ipRaster)
Outputs the current transformation properties to the dataset header or auxilliary file. |
void |
resample(int resampleType,
double newCellsize,
IRaster ipRaster)
Resamples the input raster to a new cellsize. |
void |
reScale(double xScale,
double yScale,
IRaster ipRaster)
Scales the input raster by the specified x and y scale factors. |
void |
reset(IRaster ipRaster)
Resets the input raster to its native coordinate space. |
void |
rotate(IPoint ipPivotPoint,
double rotateAngle,
IRaster ipRaster)
Rotates the input raster around the specified pivot by an angle specified in degrees. |
void |
shift(double deltaX,
double deltaY,
IRaster ipRaster)
Shifts the input raster by deltaX and deltaY map units. |
void |
twoPointsAdjust(IPointCollection sourceControlPoints,
IPointCollection targetControlPoints,
IRaster ipRaster)
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 ipRaster)
Warps the input raster based upon the input control points using the transformation type specified. |
| Method Detail |
|---|
void flip(IRaster ipRaster)
throws IOException,
AutomationException
ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void mirror(IRaster ipRaster)
throws IOException,
AutomationException
ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void shift(double deltaX,
double deltaY,
IRaster ipRaster)
throws IOException,
AutomationException
deltaX - The deltaX (in)deltaY - The deltaY (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void reScale(double xScale,
double yScale,
IRaster ipRaster)
throws IOException,
AutomationException
xScale - The xScale (in)yScale - The yScale (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void rotate(IPoint ipPivotPoint,
double rotateAngle,
IRaster ipRaster)
throws IOException,
AutomationException
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.
ipPivotPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)rotateAngle - The rotateAngle (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void warp(IPointCollection sourceControlPoints,
IPointCollection targetControlPoints,
int transformType,
IRaster ipRaster)
throws IOException,
AutomationException
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.
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)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void twoPointsAdjust(IPointCollection sourceControlPoints,
IPointCollection targetControlPoints,
IRaster ipRaster)
throws IOException,
AutomationException
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.
sourceControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)targetControlPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
IPointCollection pointsTransform(IPointCollection inPoints,
boolean isForward,
IRaster ipRaster)
throws IOException,
AutomationException
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.
inPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in)isForward - The isForward (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
Object leastSquareFit(IPointCollection sourceControlPoints,
IPointCollection targetControlPoints,
int transformType,
boolean forwardTransformation,
boolean returnTransformationCoef)
throws IOException,
AutomationException
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.
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)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void reset(IRaster ipRaster)
throws IOException,
AutomationException
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
ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void rectify(String saveas_name,
String format,
IRaster ipRaster)
throws IOException,
AutomationException
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" |
saveas_name - The saveas_name (in)format - The format (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void register(IRaster ipRaster)
throws IOException,
AutomationException
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.
ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void clip(IEnvelope ipRectangle,
IRaster ipRaster)
throws IOException,
AutomationException
ipRectangle - A reference to a com.esri.arcgis.geometry.IEnvelope (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void projectFast(ISpatialReference ipNewSR,
int resampleType,
Object pCellsize,
IRaster ipRaster)
throws IOException,
AutomationException
ipNewSR - 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)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in, optional, pass null if not required)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
IRaster merge(String saveas_name,
IWorkspace ipWorkspace,
String outRasterFormat,
double cellSize,
ISpatialReference ipSR,
IRaster ipRaster)
throws IOException,
AutomationException
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" |
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)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
IRaster mosaic(String saveas_name,
IWorkspace ipWorkspace,
String outRasterFormat,
double cellSize,
ISpatialReference ipSR,
IRaster ipRaster)
throws IOException,
AutomationException
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" |
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)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
void resample(int resampleType,
double newCellsize,
IRaster ipRaster)
throws IOException,
AutomationException
resampleType - A com.esri.arcgis.geodatabase.rstResamplingTypes constant (in)newCellsize - The newCellsize (in)ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
boolean isPixelToMapTransSimple(IRaster ipRaster)
throws IOException,
AutomationException
ipRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||