IRelationalOperator接口

来源:互联网 发布:香港上水广场mac专柜吗 编辑:程序博客网 时间:2024/05/16 06:15

IRelationalOperator接口简介几何对象之间都存在某种关联关系,如包含,相等,在内部,相交,叠加等。这些关联关系的获得都可以通过IRelationalOperator接口来获得,关系运算是在两个几何对象间进行的,通过IRelationalOperator的某一个方法返回一个布尔值来说明这两个几何对象是否有这种关系。所有支持ITopologicaloperator的几何对象的类也实现了IRelationalOperator接口,其中包括Envelope对象,这意味着还可以对两个几何对象的Envelope进行关联关系检查。

方法名称描述Contains检查两个几何图形几何图形1是否包含几何图形2Crosses用于检测两个几何图形是否相交Equal用于检测两个几何图形是否相等Touches用于检测两个几何图形是否相连Disjoint用于检测两个几何图形是否不相交Overlaps用于检测两个几何图形是否有重叠Relation用于检测是否存在定义relationshipWithin检查两个几何图形几何图形1是否被包含于几何图形2

 

判断几何对象包含关系功能开发 以下代码片段演示如何判断几何图形A是否包含几何图形B:

   

     /// <summary>        /// 检测几何图形A是否包含几何图形B        /// </summary>        /// <param name="pGeometryA">几何图形A</param>        /// <param name="pGeometryB">几何图形B</param>        /// <returns>True为包含,False为不包含</returns>        private bool CheckGeometryContain(IGeometry pGeometryA, IGeometry pGeometryB)        {            IRelationalOperator pRelOperator = pGeometryA as IRelationalOperator;            if (pRelOperator.Contains(pGeometryB))            {                return true;            }            else            {                return false;            }      }




// 判断点是否在面上IRelationalOperator pRelOpr = pPolygon as IRelationalOperator;if (pRelOpr.Contains(pPoint)) { ...}或者IRelationalOperator pRelOpr = pPoint as IRelationalOperator;if (pRelOpr.Within(pPolygon)) { ...}


原创粉丝点击