ArcEngine 通过IRelationalOperator.Relation判断几何体相交

时间:2023-03-09 04:31:53
ArcEngine 通过IRelationalOperator.Relation判断几何体相交

IRelationalOperator 接口

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

  Members

    Description
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Contains Indicates if this geometry contains the other geometry.
前者是否包含后者!
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Crosses Indicates if the two geometries intersect in a geometry of lesser dimension.
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Disjoint Indicates if the two geometries share no points in common. Negate this result to compute the Intersect relation.
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Equals Indicates if the two geometries are of the same type and define the same set of points in the plane.
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Overlaps Indicates if the intersection of the two geometries has the same dimension as one of the input geometries.
前者和后者是否有重叠!不包括包含关系!
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Relation Indicates if the defined relationship exists.
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Touches Indicates if the boundaries of the geometries intersect.
ArcEngine 通过IRelationalOperator.Relation判断几何体相交 Within Indicates if this geometry is contained (is within) another geometry.
前者是否在后者内部!

  

这边没有判断几何体相交的方法。

采用Relation来实现Intersects: RELATE(G1, G2, 'T********')

 string relationDescription = "RELATE(G1, G2, 'T********')";
isIntersects = (track as IRelationalOperator).Relation(ele.Geometry, relationDescription);
if (isIntersects)
{
selectedcount++;
pGraphicsContainerSelect.SelectElement(ele);
}