|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.datasourcesraster.RasterGeometryProc
public class RasterGeometryProc
A mechanism to perform raster geometric operations, such as flip, rotate, and merge on rasters.
The RasterGeometryProc object performs geometric processing, such as flipping, scaling, rotation, and polynomial warping, on a Raster. It is a wrapper of the PolynomialXform class for end users to perform polynomial transformation with raster data
Constructor Summary | |
---|---|
RasterGeometryProc()
Constructs a RasterGeometryProc using ArcGIS Engine. |
|
RasterGeometryProc(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. RasterGeometryProc theRasterGeometryProc = (RasterGeometryProc) obj; |
Method Summary | |
---|---|
void |
clip(IEnvelope ipRectangle,
IRaster pRaster)
Clips the input raster based on the specified envelope. |
boolean |
equals(Object o)
Compare this object with another |
void |
flip(IRaster pRaster)
Flips the input raster. |
static String |
getClsid()
getClsid. |
void |
getRasterXFormByIndex(IRaster pRaster,
int band,
boolean forward,
int index,
int[] order,
Object[] pVar)
Gets the polynomial order and the polynomial coefficients of the indexed transformation. |
int |
getRasterXFormCount(IRaster pRaster,
int band)
Gets the number of transformations. |
int |
getRasterXFormOrderByIndex(IRaster pRaster,
int band,
int index)
Gets the polynomial order of the indexed transformation. |
int |
hashCode()
the hashcode for this object |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
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 |
pointsMap2PixelTransform(IPointCollection pInPoints,
boolean isForward,
IRaster pRaster)
Performs the map to pixel transformation. |
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 |
putRasterXForm(IRaster pRaster,
boolean clean,
int order,
Object pVar)
Sets a polynomial transformation to the Raster. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public RasterGeometryProc() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic RasterGeometryProc(Object obj) throws IOException
RasterGeometryProc theRasterGeometryProc = (RasterGeometryProc) obj;
obj
to RasterGeometryProc
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public void flip(IRaster pRaster) throws IOException, AutomationException
flip
in interface IRasterGeometryProc
flip
in interface IRasterGeometryProc3
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.public void mirror(IRaster pRaster) throws IOException, AutomationException
mirror
in interface IRasterGeometryProc
mirror
in interface IRasterGeometryProc3
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.public void shift(double deltaX, double deltaY, IRaster pRaster) throws IOException, AutomationException
shift
in interface IRasterGeometryProc
shift
in interface IRasterGeometryProc3
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.public void reScale(double xScale, double yScale, IRaster pRaster) throws IOException, AutomationException
reScale
in interface IRasterGeometryProc
reScale
in interface IRasterGeometryProc3
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.public 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.
rotate
in interface IRasterGeometryProc
rotate
in interface IRasterGeometryProc3
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.public 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.
warp
in interface IRasterGeometryProc
warp
in interface IRasterGeometryProc3
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.public 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.
twoPointsAdjust
in interface IRasterGeometryProc
twoPointsAdjust
in interface IRasterGeometryProc3
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.public 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.
pointsTransform
in interface IRasterGeometryProc
pointsTransform
in interface IRasterGeometryProc3
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.public 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.
leastSquareFit
in interface IRasterGeometryProc
leastSquareFit
in interface IRasterGeometryProc3
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.public 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
reset
in interface IRasterGeometryProc
reset
in interface IRasterGeometryProc3
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.public 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" |
rectify
in interface IRasterGeometryProc
rectify
in interface IRasterGeometryProc3
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.public 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.
register
in interface IRasterGeometryProc
register
in interface IRasterGeometryProc3
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.public void clip(IEnvelope ipRectangle, IRaster pRaster) throws IOException, AutomationException
clip
in interface IRasterGeometryProc
clip
in interface IRasterGeometryProc3
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.public void projectFast(ISpatialReference pNewSR, int resampleType, Object pCellsize, IRaster pRaster) throws IOException, AutomationException
projectFast
in interface IRasterGeometryProc
projectFast
in interface IRasterGeometryProc3
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.public 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" |
merge
in interface IRasterGeometryProc
merge
in interface IRasterGeometryProc3
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.public 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" |
mosaic
in interface IRasterGeometryProc
mosaic
in interface IRasterGeometryProc3
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.public void resample(int resampleType, double newCellsize, IRaster pRaster) throws IOException, AutomationException
resample
in interface IRasterGeometryProc
resample
in interface IRasterGeometryProc3
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.public boolean isPixelToMapTransSimple(IRaster pRaster) throws IOException, AutomationException
isPixelToMapTransSimple
in interface IRasterGeometryProc
isPixelToMapTransSimple
in interface IRasterGeometryProc3
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.public int getRasterXFormCount(IRaster pRaster, int band) throws IOException, AutomationException
The GetRasterXFormCount method returns the number of geometric transformations on a specified raster band.
getRasterXFormCount
in interface IRasterGeometryProc3
pRaster
- A reference to a com.esri.arcgis.geodatabase.IRaster (in)band
- The band (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getRasterXFormOrderByIndex(IRaster pRaster, int band, int index) throws IOException, AutomationException
The GetRasterXFormOrderByIndex method returns the order of a specified geometric transformation on a raster band.
getRasterXFormOrderByIndex
in interface IRasterGeometryProc3
pRaster
- A reference to a com.esri.arcgis.geodatabase.IRaster (in)band
- The band (in)index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getRasterXFormByIndex(IRaster pRaster, int band, boolean forward, int index, int[] order, Object[] pVar) throws IOException, AutomationException
GetRasterXFormByIndex method returns the transformation coefficients and the order of transformation on a specified raster band. The transformation coefficients are returned as a variant, which is an n x 2 array where n varies with the transformation order. First order transformation returns a 3 x 2 array, second order and third order transformations return 6 x 2 and 10 x 2 arrays, respectively.
getRasterXFormByIndex
in interface IRasterGeometryProc3
pRaster
- A reference to a com.esri.arcgis.geodatabase.IRaster (in)band
- The band (in)forward
- The forward (in)index
- The index (in)order
- A com.esri.arcgis.datasourcesraster.esriGeoTransTypeEnum constant (in/out: use single element array)pVar
- A Variant (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void putRasterXForm(IRaster pRaster, boolean clean, int order, Object pVar) throws IOException, AutomationException
The PutRasterXForm method appends a polynomial transformation to a raster. You can also clean the existing transformations on the raster by setting parameter clean to be true. Since calling this method does not automatically update the cell size and extent of the raster like other geometric operations (Shift, Rotate, etc.) do, Rectify or SaveAs will not persist the transformations to a raster dataset directly. Therefore, this method is not recommended for ourside developers.
putRasterXForm
in interface IRasterGeometryProc3
pRaster
- A reference to a com.esri.arcgis.geodatabase.IRaster (in)clean
- The clean (in)order
- A com.esri.arcgis.datasourcesraster.esriGeoTransTypeEnum constant (in)pVar
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPointCollection pointsMap2PixelTransform(IPointCollection pInPoints, boolean isForward, IRaster pRaster) throws IOException, AutomationException
The PointsMap2PixelTransform method takes all the transformations on a Raster, and then performs transformations between map space and pixel space. This method works better for rasters with square cell size.
pointsMap2PixelTransform
in interface IRasterGeometryProc3
pInPoints
- 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.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (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 |