面朝大海,春暖华开

focus on scientific computue, 3dgis, spatial database
专注于科学计算、GIS空间分析

 

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;
            }
      }

posted on   风过 无痕  阅读(886)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

统计

向日葵支付宝收钱码
点击右上角即可分享
微信分享提示