com.esri.arcgis.geodatabase
Interface IGeodataXform

All Superinterfaces:
Serializable
All Known Subinterfaces:
IAdjustXform, IApproximationXform, ICompositeXform, ICoordinateXform, ICoordinateXform2, IFrameXform, IGCSShiftXform, IGeometricXform, IIdentityXform, ILSRXform, IPolynomialXform, IRPCXform, ISplineXform
All Known Implementing Classes:
AdjustXform, ApproximationXform, CompositeXform, CoordinateXform, FrameXform, GCSShiftXform, GeometricXform, IdentityXform, LSRXform, PolynomialXform, RPCXform, SplineXform

public interface IGeodataXform
extends Serializable

Provides access to members that control geodata transformation.

Description

IGeodataXform is a generic interface that is supported by all geodata transformation objects. It is one of the interfaces that must be implemented when you create a custom geodata transformation object. The others are IPersistStream, for persisting a geodata transformation into its dataset, and IClone.

The IGeodataXform provides access to members that control geodata transformation properties, and perform the actual geodata transformation operation. A geodata transformation has an output spatial reference that describes the coordinates after transformation.

It can also use domains that specify a list of regions (polygons) within which the transformation is continuous. For examples, a World Cube projection has nine domains and within each domain, the projection transformation is continuous. The domains can be a single polygon geometry or a collection of polygons.

A geodata transformation can be an identity transformation which does not change the coordinates. Any geodata transformation can become an identity. ArcGIS provides a special geodata transformation, IdentityXform, which is used to model a spatial reference as identity geodata transformation.

The IGeodataXform has methods for transforming a set of 2D points, an extent, and a (raster) cellsize.

Product Availability

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


Method Summary
 IGeometryCollection getDomains()
          The domains in output space.
 ISpatialReference getSpatialReference()
          The output spatial reference after applying this transform.
 boolean isIdentity()
          Indicates if this geodata transform is an identity transform.
 void setSpatialReferenceByRef(ISpatialReference ppSpatialRefence)
          The output spatial reference after applying this transform.
 void transform(int direction, int npoints, _WKSPoint[] points)
          Transforms a set of points in a given direction.
 void transformCellsize(int direction, double[] dx, double[] dy, IEnvelope pAreaOfInterest)
          Transforms a cellsize in a given direction.
 void transformExtent(int direction, IEnvelope[] pExtent)
          Transforms an extent in a given direction.
 void transformPoints(int direction, IPointCollection[] pPoints)
          Transforms a point collection in a given direction
 

Method Detail

getSpatialReference

ISpatialReference getSpatialReference()
                                      throws IOException,
                                             AutomationException
The output spatial reference after applying this transform.

Product Availability

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

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

setSpatialReferenceByRef

void setSpatialReferenceByRef(ISpatialReference ppSpatialRefence)
                              throws IOException,
                                     AutomationException
The output spatial reference after applying this transform.

Product Availability

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

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

getDomains

IGeometryCollection getDomains()
                               throws IOException,
                                      AutomationException
The domains in output space.

Description

The returned domains should a single polygon geometry or a collection of polygons.

Product Availability

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

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

isIdentity

boolean isIdentity()
                   throws IOException,
                          AutomationException
Indicates if this geodata transform is an identity transform.

Product Availability

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

Returns:
The pIsIdentity
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transform

void transform(int direction,
               int npoints,
               _WKSPoint[] points)
               throws IOException,
                      AutomationException
Transforms a set of points in a given direction.

Product Availability

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

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
npoints - The npoints (in)
points - A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformCellsize

void transformCellsize(int direction,
                       double[] dx,
                       double[] dy,
                       IEnvelope pAreaOfInterest)
                       throws IOException,
                              AutomationException
Transforms a cellsize in a given direction.

Product Availability

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

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
dx - The dx (in/out: use single element array)
dy - The dy (in/out: use single element array)
pAreaOfInterest - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformExtent

void transformExtent(int direction,
                     IEnvelope[] pExtent)
                     throws IOException,
                            AutomationException
Transforms an extent in a given direction.

Product Availability

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

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

transformPoints

void transformPoints(int direction,
                     IPointCollection[] pPoints)
                     throws IOException,
                            AutomationException
Transforms a point collection in a given direction

Product Availability

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

Parameters:
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
pPoints - A reference to a com.esri.arcgis.geometry.IPointCollection (in/out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.