Provides access to members for constructing new geometries based upon topological relationships between existing geometries.

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

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.

[C#]

//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

[Visual Basic 6.0]

'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

Send feedback on this page