|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Provides access to members that determine if a certain spatial relationship exists between two geometries.
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.
Relational Operators are used to determine whether or not a specific relationship exists between two geometries.
Only geometries that support the IRelationalOperator interface can be used as input geometries.

IGeometry| Method Summary | |
boolean |
contains(IGeometry other)
Indicates if this geometry contains the other geometry. |
boolean |
crosses(IGeometry other)
Indicates if the two geometries intersect in a geometry of lesser dimension. |
boolean |
disjoint(IGeometry other)
Indicates if the two geometries share no points in common. |
boolean |
esri_equals(IGeometry other)
Indicates if the two geometries are of the same type and define the same set of points in the plane. |
boolean |
overlaps(IGeometry other)
Indicates if the intersection of the two geometries has the same dimension as one of the input geometries. |
boolean |
relation(IGeometry other,
java.lang.String relationDescription)
Indicates if the defined relationship exists. |
boolean |
touches(IGeometry other)
Indicates if the boundaries of the geometries intersect. |
boolean |
within(IGeometry other)
Indicates if this geometry is contained (is within) another geometry. |
| Method Detail |
public boolean esri_equals(IGeometry other)
throws java.io.IOException,
AutomationException
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean touches(IGeometry other)
throws java.io.IOException,
AutomationException
Two geometries are said to touch when the intersection of the geometries is non-empty, but the intersection of their interiors is empty. Touches is a Clementini operator. For example, a point touches a polyline only if the point is coincident with one of the polyline end points.
Touches examples. Only "true" relationships are showed in this picture.

Only geometries that support the IRelationalOperator interface can be used as input geometries.
Touch does not apply for point/point comparison.
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean contains(IGeometry other)
throws java.io.IOException,
AutomationException
The base geometry contains the comparison geometry (other) if the comparison geometry is a subset of the base geometry and the intersection of their interiors is not empty. Therefore a polygon does not contain any part of its 1D boundary. Contains is the opposite operator of Within.
Only geometries that support the IRelationalOperator interface can be used as input geometries.
If geometry1 Contains geometry2, then geometry2 is Within geometry1.
Contains examples. Only "true" relationships are showed in this picture.

other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean within(IGeometry other)
throws java.io.IOException,
AutomationException
The base geometry is within the comparison geometry if the base geometry is the intersection of the geometries and the intersection of their interiors is not empty. Within is a Clementini operator. Within is the opposite operator of contains.
Only geometries that support the IRelationalOperator interface can be used as input geometries.
If geometry1 is Within geometry2, then geometry2 Contains geometry1.
Within examples. Only "true" relationships are showed in this picture.

other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean disjoint(IGeometry other)
throws java.io.IOException,
AutomationException
Two geometries are disjoint if their intersection is empty. Two geometries intersect if disjoint is "false". Disjoint is a Clementini operator.
Only geometries that support the IRelationalOperator interface can be used as input geometries.
Disjoint example. Only "true" relationships are showed in this picture.

other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean crosses(IGeometry other)
throws java.io.IOException,
AutomationException
Two polylines cross if they share only points in common, at least one of which is not an endpoint. A polyline and an polygon cross if they share a polyline in common on the interior of the polygon which is not equivalent to the entire polyline. Cross is a Clementini operator.
Only geometries that support the IRelationalOperator interface can be used as input geometries.
Cross only applies to polyline/polyline, polyline/polygon, or polygon/polyline relations.
Crosses examples. Only "true" relationships are showed in this picture.

other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean overlaps(IGeometry other)
throws java.io.IOException,
AutomationException
Two geometries overlap if the region of their intersection is of the same dimension as the geometries involved and is not equivalent to either of the geometries. Overlaps is a Clementini operator.
Only geometries that support the IRelationalOperator interface can be used as input geometries.
Overlaps only applies to polyline/polyline, polygon/polygon and multipoint/multipoint relations.
Overlaps examples. Only "true" relationships are showed in this picture.

other - A reference to a com.esri.arcgis.geometry.IGeometry (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean relation(IGeometry other,
java.lang.String relationDescription)
throws java.io.IOException,
AutomationException
Relation allows a general relation defined using the Shape Comparison Language to be determined between two input geometries. The Shape Comparison Language is based on the Calculus-Based Method (CBM), as described and defined by Clementini and Felice, but has some extensions specific to working with vertex-based geometries and is fully described in the Technical Documents section of the ArcObjects Developer Help. Please refer to the Shape Comparison Language documentation for proper syntax and available functionality.
Note that at the current release, Relation only operates with straight lines.
other - A reference to a com.esri.arcgis.geometry.IGeometry (in)relationDescription - The relationDescription (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||