This document is archived and information here might be outdated.  Recommended version.

IRelationalOperator Interface (ArcObjects .NET 10.8 SDK)
 ArcObjects Help for .NET developers > ArcObjects Help for .NET developers > ArcObjects namespaces > Geometry > ESRI.ArcGIS.Geometry > Interfaces > IR > IRelationalOperator Interface
 ArcGIS Developer Help

# IRelationalOperator Interface

Provides access to members that determine if a certain spatial relationship exists between two geometries.

#### Product Availability

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

#### Description

Relational Operators compare two geometries and return a boolean indicating whether or not the desired relationship exists.  Some relationships require that the input geometries be of the same dimension while other have more flexible dimensional constraints.  Most of the predefined Relational Operators are mutually exclusive Clementini operators. Please see the "Shape Comparison Language" topic in the Technical Documents section in the help.

#### When To Use

Relational Operators are used to determine whether or not a specific relationship exists between two geometries.

#### Members

Name Description
Contains Indicates if this geometry contains the other geometry.
Crosses Indicates if the two geometries intersect in a geometry of lesser dimension.
Disjoint Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.
Equals Indicates if the two geometries are of the same type and define the same set of points in the plane.
Overlaps Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.
Relation Indicates if the defined relationship exists.
Touches Indicates if the boundaries of the geometries intersect.
Within Indicates if this geometry is contained (is within) another geometry.

#### Classes that implement IRelationalOperator

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.

#### Remarks

Only geometries that support the IRelationalOperator interface can be used as input geometries.

Relational operators has now been extended to support 3D polylines and that process can be generalized in three steps:

• The polyline is converted to a 2D hybrid polyline.
• Each of the base inputs is related to some parts of the comparison input.
• The resulting relations are collected, and a rule is applied to determine the overall result relation.

Please refer to the topic "Working with Vertical Segments" in "Learning ArcObject" section in the help.