gdal平面几何空间关系

2024-01-07 05:20

本文主要是介绍gdal平面几何空间关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        关于平面几何的空间关系判定,gdal提供了8个函数,分别是:Intersects(相交),Equals(相等),Disjoint(不相交),Touches(接触),Crosses(交叉),Within(被包含),Contains(包含),Overlaps(重叠)。关于几种空间关系的概念,网上有许多权威解释,此处不做解释说明。本文仅研究gdal如何判定平面几何的空间关系。

        面与面        

        上图给出了一组多边形poly1~poly7,通过gdal判定poly1和其他几个多边形的空间关系,可以得到下面两张表(OP表示poly1.OP(poly*),!OP表示poly*OP(poly1)):

        线与面

        上图给出了一个多边形poly和一组线段line1~line6,通过gdal计算poly和line1~line6的空间关系,可以的到西面两张表(OP表示poly.OP(line*),!OP表示line*OP(poly)):

        点与面

        上图给出了一个多边形poly和一组点F,C,G,通过gdal计算poly和F,C,F的空间关系,得出下面两张表(OP表示poly.OP(point*),!OP表示line*OP(poly)):

        线与线

        上图给出了一组线line1~line5,通过gdal计算line1和其他线line2~line5的空间关系,得出下面两张表(OP表示line1.OP(line*),!OP表示line*OP(line)):

        点与线

        上图给出了一条线line和三个点B、C、D,通过gdal计算line和点B、C、D的空间关系,得出下面两张表(OP表示line.OP(point*),!OP表示point*OP(line)):  

        由上面的表可以得出下面的结论:

  • Intersects和Disjoint两种空间关系互斥,两个几何图形要么Intersects,要么Disjoint,并且两种空间关系对于参与运算的双方是相互的,即如果A OP B成立,那么B OP A一定成立

  • Touches,  Crosses,Within, Contains, Overlaps属于Intersects的特殊情况,Crosses、Intersects和Overlaps对于参与运算的双方是相互的,即如果A OP B成立,那么B OP A一定成立

  • Within和Contains两种位置关系不是相互的,即如果A OP B成立,那么B OP A一定不成立,但两种位置关系相反,即如果A Within B成立,那么B Contains A一定成立

  • 面与面的空间关系包括 Intersects, Disjoint, Touches, Within, Contains, Overlaps

  • 面与线的空间关系包括 Intersects, Disjoint, Touches, Crosses, Within, Contains

  • 面与点的空间关系包括 Intersects, Disjoint, Touches,  Within, Contains

  • 线与线的空间关系包括 Intersects, Disjoint, Touches, Crosses, Within, Contains

  • 线与点的空间关系包括 Intersects, Disjoint, Touches,  Within, Contains

这篇关于gdal平面几何空间关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/578843

相关文章

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : = { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i = 1 , 2 , . . . , n } \textbf{K}^{n}:=\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i=1,2,...,n\} Kn:={(a1​,a2​,...,an​)∣ai​∈K,i=1,2,...,n

读软件设计的要素04概念的关系

1. 概念的关系 1.1. 概念是独立的,彼此间无须相互依赖 1.1.1. 一个概念是应该独立地被理解、设计和实现的 1.1.2. 独立性是概念的简单性和可重用性的关键 1.2. 软件存在依赖性 1.2.1. 不是说一个概念需要依赖另一个概念才能正确运行 1.2.2. 只有当一个概念存在时,包含另一个概念才有意义 1.3. 概念依赖关系图简要概括了软件的概念和概念存在的理

win7系统中C盘空间缩水的有效处理方法

一、深度剖析和完美解决   1、 休眠文件 hiberfil.sys :   该文件在C盘根目录为隐藏的系统文件,隐藏的这个hiberfil.sys文件大小正好和自己的物理内存是一致的,当你让电脑进入休眠状态时,Windows 7在关闭系统前将所有的内存内容写入Hiberfil.sys文件。   而后,当你重新打开电脑,操作系统使用Hiberfil.sys把所有信息放回内存,电脑

数据依赖基础入门:函数依赖与数据库设计的关系

在数据库设计中,数据依赖 是一个重要的概念,它直接影响到数据库的结构和性能。函数依赖 作为数据依赖的一种,是规范化理论的基础,对数据库设计起着至关重要的作用。如果你是一名数据库设计的初学者,这篇文章将帮助你理解函数依赖及其在数据库设计中的应用。 什么是数据依赖? 数据依赖 是指同一关系中属性间的相互依赖和制约关系,它是数据库设计中语义的体现。在现实世界中,数据之间往往存在某种依赖关系,而这

c++ 和C语言的兼容性关系

C++ 和 C 语言有很高的兼容性,但也存在一些差异和限制。下面是它们的兼容性关系的详细介绍: 兼容性 C++ 是 C 的超集: C++ 语言设计为兼容 C 语言的语法和功能,大部分 C 代码可以在 C++ 编译器中编译运行。 标准库兼容性: C++ 标准库包含了 C 标准库的内容,如 stdio.h、stdlib.h、string.h 等头文件,但 C++ 的标准库也提供了额外的功能,如

求空间直线与平面的交点

若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z): 将直线方程写成参数方程形式,即有: x = m1+ v1 * t y = m2+ v2 * t

[Linux]:环境变量与进程地址空间

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 环境变量 1.1 概念 **环境变量(environment variables)**一般是指在操作系统中用来指定操作系统运行环境的一些参数,具有全局属性,可以被子继承继承下去。 如:我们在编写C/C++代码的时,在链接的时候,我们并不知

七、Maven继承和聚合关系、及Maven的仓库及查找顺序

1.继承   2.聚合   3.Maven的仓库及查找顺序