|
|||||||||
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 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 |
---|
void flip(IRaster pRaster) throws IOException, AutomationException
pRaster
- 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 pRaster) throws IOException, AutomationException
pRaster
- 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 pRaster) throws IOException, AutomationException
deltaX
- The deltaX (in)deltaY
- The deltaY (in)pRaster
- 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 pRaster) throws IOException, AutomationException
xScale
- The xScale (in)yScale
- The yScale (in)pRaster
- 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 pPivotPoint, double rotateAngle, IRaster pRaster) 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.
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void warp(IPointCollection sourceControlPoints, IPointCollection targetControlPoints, int transformType, IRaster pRaster) 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)pRaster
- 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 pRaster) 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)pRaster
- 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 pRaster) 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)pRaster
- 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 pRaster) 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
pRaster
- 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 pRaster) 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)pRaster
- 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 pRaster) 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 ArcGIS for Desktop Advanced Workstation, complex transformations cannot be written to GRID-format datasets.
pRaster
- 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 pRaster) throws IOException, AutomationException
ipRectangle
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)pRaster
- 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 pNewSR, int resampleType, Object pCellsize, IRaster pRaster) throws IOException, AutomationException
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)
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 pRaster) 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)pRaster
- 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 pWorkspace, String outRasterFormat, double cellSize, ISpatialReference pSR, IRaster pRaster) 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)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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void resample(int resampleType, double newCellsize, IRaster pRaster) throws IOException, AutomationException
resampleType
- A com.esri.arcgis.geodatabase.rstResamplingTypes constant (in)newCellsize
- The newCellsize (in)pRaster
- 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 pRaster) throws IOException, AutomationException
pRaster
- 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 |