Provides access to members that extend the IGeometry interface with a more sophisticated projection method.
Members
Name | Description | |
---|---|---|
CentroidEx | The center of gravity (centroid). | |
Changed | Indicates if a geometry has been changed (edited, projected, etc). | |
Dimension | The topological dimension of this geometry. | |
Envelope | Creates a copy of this geometry's envelope and returns it. | |
GeometryType | The type of this geometry. | |
GeoNormalize | Shifts longitudes, if need be, into a continuous range of 360 degrees. | |
GeoNormalizeFromLongitude | Normalizes longitudes into a continuous range containing the longitude. This method is obsolete. | |
IsEmpty | Indicates whether this geometry contains any points. | |
Project | Projects this geometry into a new spatial reference. | |
Project5 | Same as Project, but with additional parameter projectionHint. | |
ProjectEx | Projects a geometry, optionally applies a GeoTransformation, and optionally densifies the geometry. | |
ProjectEx5 | Same as ProjectEx, but with additional parameter projectionHint. | |
QueryEnvelope | Copies this geometry's envelope properties into the specified envelope. | |
QueryWKSEnvelope | Defines the specified wksenvelope to be the current extent of this geometry in the x-y plane. | |
SetEmpty | Removes all points from this geometry. | |
SnapToSpatialReference | Moves points of this geometry so that they can be represented in the precision of the geometry's associated spatial reference system. | |
SpatialReference | The spatial reference associated with this geometry. |
IGeometry5.CentroidEx Property
The center of gravity (centroid).
Public ReadOnly Property CentroidEx As IPoint
public IPoint CentroidEx {get;}
IGeometry5.Project5 Method
Same as Project, but with additional parameter projectionHint.
Public Sub Project5 ( _
ByVal newSpatialReference As ISpatialReference, _
ByVal ProjectionHint As Integer _
)
public void Project5 (
ISpatialReference newSpatialReference,
int ProjectionHint
);
Description
To Project, the geometry needs to have a Spatial Referenceset, 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.
IGeometry5.ProjectEx5 Method
Same as ProjectEx, but with additional parameter projectionHint.
Public Sub ProjectEx5 ( _
ByVal newReferenceSystem As ISpatialReference, _
ByVal Direction As esriTransformDirection, _
ByVal Transformation As ITransformation, _
ByVal bAngularDensify As Boolean, _
ByVal maxSegmentLength As Double, _
ByVal maxDeviation As Double, _
ByVal ProjectionHint As Integer _
)
public void ProjectEx5 (
ISpatialReference newReferenceSystem,
esriTransformDirection Direction,
ITransformation Transformation,
bool bAngularDensify,
double maxSegmentLength,
double maxDeviation,
int 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.
Inherited Interfaces
Interfaces | Description |
---|---|
IGeometry4 | Provides access to methods that indicate if a geometry has been changed (edited, projected, etc). |
IGeometry3 | Provides rapid access to a geometry's extent in the x-y plane. |
IGeometry2 | Provides access to members that extend the IGeometry interface with a more sophisticated projection method. |
IGeometry | Provides access to members that describe properties and behavior of all geometric objects. |
Classes that implement IGeometry5
Classes | Description |
---|---|
Envelope | A rectangle with sides parallel to a coordinate system defining the extent of another geometry; optionally has min and max measure, height and ID attributes. |
GeometryBag | An ordered collection of objects that support the IGeometry interface. |
MultiPatch | A collection of surface patches. |
Multipoint | An ordered collection of points; optionally has measure, height and ID attributes. |
Point | A two dimensional point, optionally with measure, height, and ID attributes. |
Polygon | A collection of rings ordered by their containment relationship; optionally has measure, height and ID attributes. |
Polyline | An ordered collection of paths; optionally has measure, height and ID attributes. |