IRelationalOperator接口

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

方法名称 描述
Contains 检查两个几何图形几何图形1是否包含几何图形2
Crosses 用于检测两个几何图形是否相交
Equal 用于检测两个几何图形是否相等
Touches 用于检测两个几何图形是否相连
Disjoint 用于检测两个几何图形是否不相交
Overlaps 用于检测两个几何图形是否有重叠
Relation 用于检测是否存在定义relationship
Within 检查两个几何图形几何图形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)) { ...}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值