Provides access to members for constructing new geometries based upon topological relationships between existing geometries.
| Description | ||
|---|---|---|
![]() |
Boundary | The boundary of this geometry. A polygon's boundary is a polyline. A polyline's boundary is a multipoint. A point or multipoint's boundary is an empty point or multipoint. |
![]() |
Buffer | Constructs a polygon that is the locus of points at a distance less than or equal to a specified distance from this geometry. |
![]() |
Clip | Constructs the intersection of this geometry and the specified envelope. |
![]() |
ClipDense | Constructs the intersection of this geometry and the specified envelope; densifies lines in output contributed by the clipping envelope. |
![]() |
ConstructUnion | Defines this geometry to be the union of the inputs. More efficient for unioning multiple geometries than calling Union repeatedly. |
![]() |
ConvexHull | Constructs the convex hull of this geometry. |
![]() |
Cut | Splits this geometry into a part left of the cutting polyline, and a part right of it. |
![]() |
Difference | Constructs the geometry containing points from this geometry but not the other geometry. |
![]() |
Intersect | Constructs the geometry that is the set-theoretic intersection of the input geometries. Use different resultDimension values to generate results of different dimensions. |
![]() |
IsKnownSimple | Indicates whether this geometry is known (or assumed) to be topologically correct. |
![]() |
IsSimple | Indicates whether this geometry is known (or assumed) to be topologically correct, after explicitly determining this if the geometry is not already known (or assumed) to be simple. |
![]() |
QueryClipped | Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope. |
![]() |
QueryClippedDense | Redefines clippedGeometry to be the intersection of this geometry and the clipping envelope; densifies lines in the output contributed by the clipping envelope. |
![]() |
Simplify | Makes this geometry topologically correct. |
![]() |
SymmetricDifference | Constructs the geometry that contains points from either but not both input geometries. |
![]() |
Union | Constructs the geometry that is the set-theoretic union of the input geometries. |
| CoClasses and Classes | Description |
|---|---|
| GeoEllipse (esriMilitaryAnalyst) | A spheroidal ellipse. |
| GeometryBag | An ordered collection of objects that support the IGeometry interface. |
| GeoPolygon (esriMilitaryAnalyst) | A spheroidal polygon. |
| GeoPolyline (esriMilitaryAnalyst) | A spheroidal polyline. |
| MultiPatch | A collection of surface patches. |
| Multipoint | An ordered collection of points; optionally has measure, height and ID attributes. |
| Point | An 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. |
The Buffer, Clip, and Simplify methods only are supported on GeometryBags.
ITopologicalOperator methods must be applied on high-level geometries only. High-Level geometries are point, multipoint, polyline and polygon. To use this method with low-level geometries such as segments (Line, Circular Arc, Elliptic Arc, Bézier Curve), paths or rings, they must be wrapped into high-level geometries types.
//The following code shows to wrap a line segment into a polyline in C#
//Assume a line (line1 as ILine) is already created
object obj = Type.Missing;
ISegmentCollection segCollection = new PolylineClass() as ISegmentCollection;
segCollection.AddSegment((ISegment)line1, ref obj, ref obj);
//Set the spatial reference on the new polyline
//The spatial reference is not transfered automatically from the segments
IGeometry geom = segCollection as IGeometry;
geom.SpatialReference = spatialRef;
//Can now be used with ITopologicalOperator3 methods
'How to wrap a line segment into a polyline in VB6
'Assume a line (pLine as ILine) is already created
Dim psc as ISegmentCollection
Set psc = New Polyline
psc.addsegment pline
'Set the spatial reference on the new polyline
'The spatial reference is not transfered automatically from the segments
dim pgeo as IGeometry
set pgeo = psc
set pgeo.SpatialReference = pMyspatialReference
'Can now be used with ITopologicalOperator methods
IGeometry Interface | IRelationalOperator Interface