com.esri.arcgis.geometry
Interface IGeometry5

All Superinterfaces:
IGeometry, IGeometry2, IGeometry3, IGeometry4, Serializable
All Known Implementing Classes:
Envelope, GeometryBag, MultiPatch, Multipoint, Point, Polygon, Polyline

public interface IGeometry5
extends IGeometry4, Serializable

Provides access to members that extend the IGeometry interface with a more sophisticated projection method.

Product Availability

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


Method Summary
 IPoint getCentroidEx()
          The center of gravity (centroid).
 void project5(ISpatialReference newSpatialReference, int projectionHint)
          Same as Project, but with additional parameter projectionHint.
 void projectEx5(ISpatialReference newReferenceSystem, int direction, ITransformation transformation, boolean bAngularDensify, double maxSegmentLength, double maxDeviation, int projectionHint)
          Same as ProjectEx, but with additional parameter projectionHint.
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry4
isChanged, setChanged
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry3
queryWKSEnvelope
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry2
projectEx
 
Methods inherited from interface com.esri.arcgis.geometry.IGeometry
geoNormalize, geoNormalizeFromLongitude, getDimension, getEnvelope, getGeometryType, getSpatialReference, isEmpty, project, queryEnvelope, setEmpty, setSpatialReferenceByRef, snapToSpatialReference
 

Method Detail

project5

void project5(ISpatialReference newSpatialReference,
              int projectionHint)
              throws IOException,
                     AutomationException
Same as Project, but with additional parameter projectionHint.

Description

To Project, the geometry needs to have a Spatial Reference set, and not have an UnknownCoordinateSystem. The new spatial reference system passed to the method defines the output coordinate system. If either spatial reference is Unknown, the coordinates are not changed. The Z and measure values are not changed by the Project method.

A geometry is not densified before it is projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Use IGeometry2::ProjectEx if you want to densify the geometries while they are projected.

The projectionHint parameter contains information about whether a geometry will cross the coordinate system horizons. If it doesn't, parts of the code that check this and intersect the geometry with the horizons can be omitted. This can dramatically improve performance. Use ISpatialReference3::ProjectionHint to initialize this parameter.

Product Availability

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

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

projectEx5

void projectEx5(ISpatialReference newReferenceSystem,
                int direction,
                ITransformation transformation,
                boolean bAngularDensify,
                double maxSegmentLength,
                double maxDeviation,
                int projectionHint)
                throws IOException,
                       AutomationException
Same as ProjectEx, but with additional parameter projectionHint.

Description

The projectionHint parameter contains information about whether a geometry will cross the coordinate system horizons. If it doesn't, parts of the code that check this and intersect the geometry with the horizons can be omitted. This can dramatically improve performance. Use ISpatialReference3::ProjectionHint to initialize this parameter.

Remarks

By default, ProjectEx will not densify geometries as they are projected. This can lead to the output geometries not reflecting the 'true' shape in the new coordinate system. A straight line in one coordinate system is not necessarily a straight line in a different coordinate system. Set the bAngularDensify parameter if you want to densify the geometries while they are projected.

Product Availability

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

Parameters:
newReferenceSystem - A reference to a com.esri.arcgis.geometry.ISpatialReference (in)
direction - A com.esri.arcgis.geometry.esriTransformDirection constant (in)
transformation - A reference to a com.esri.arcgis.geometry.ITransformation (in)
bAngularDensify - The bAngularDensify (in)
maxSegmentLength - The maxSegmentLength (in)
maxDeviation - The maxDeviation (in)
projectionHint - The projectionHint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCentroidEx

IPoint getCentroidEx()
                     throws IOException,
                            AutomationException
The center of gravity (centroid).

Product Availability

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

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