摘要: DE-9IM概念 DE-9IM:The Dimensionally Extended Nine-Intersection Model,九元组加维数扩展的空间拓扑关系数学描述框架。 DE-9IM特点 DE-9IM框架和最小谓词集都是完备的、唯一的,可以较细的区分...
DE-9IM概念
DE-9IM:The Dimensionally Extended Nine-Intersection Model,九元组加维数扩展的空间拓扑关系数学描述框架。
DE-9IM特点
DE-9IM框架和最小谓词集都是完备的、唯一的,可以较细的区分人类可辨识的空间拓扑关系。
要使用DE-9IM首先要建立几何对象的interior,boundary和exterior。首先boundary是指对几何进行一次降维之后得到对象,举例来说一个点的boundary为空,未封闭的线的boundary为其两个端点,封闭线的boundary为空,多边形的boundary为它的环状边界。interior是指几何对象的边界被移除之后剩下的部分。exterior则是指不在boundary和interior中点构成的几何对象。
用DE-9IM判断二维空间位置关系
约定:以I(a),B(a),E(a)表示几何对象a的interior,boundary和exterior,以dim(a)表示几何对象的维度,在二维空间中他的取值为{-1, 0, 1, 2},其中-1代表空。
为了便于表示,用下面一些符号来表示取值的集合:
T | : | {0, 1, 2} |
F | : | {-1} |
* | : | {-1,0, 1, 2} |
0 | : | {0} |
1 | : | {1} |
2 | : | {2} |
那么就可以用这样一个矩阵来判断几何对象a和b的位置关系:
Interior | Boundary | Exterior | |
Interior | dim(I(a)∩I(b)) | dim(I(a)∩B(b)) | dim(I(a)∩E(b)) |
Boundary | dim(B(a)∩I(b)) | dim(B(a)∩B(b)) | dim(B(a)∩E(b)) |
Exterior | dim(E(a)∩I(b)) | dim(E(a)∩B(b)) | dim(E(a)∩E(b)) |
另外,将零维对象简写为P,一维对象简写为L,二维对象简写为A。
根据这个矩阵的值可以构造一个字符串,这个字符串称为IntersectionPattern。另外JTS中的IntersectionMatrix也封装了这个矩阵。
预定义的空间关系:
Equal:两个几何对象完全相同,它的定义表示为DE-9IM即"TFFFTFFFT"
Disjoint:两个对象的边界和内部都没有任何公共部分,表示为DE-9IM是"FFFF***"
Intersection:Disjoint取反
Touches:简单地说Touches表示两个对象的边缘相接触,这个关系是以下几类几何对象间特有的:A/A, L/L, L/A, P/A ,P/L。用DE-9IM表示,可以为"FT*", "FT*"或"F*T**"
Crosses:Crosses表示一个对象穿过另一个对象,它应用于P/L, P/A, L/L和L/A之间。用DE-9IM表示为:"TT**"(P/L, P/A,L/A),"0*"(L/L)
Within:包含于的意思。DE-9IM表示:"TFF"
Overlaps:相叠的意思,应用于A/A, L/L 和P/P之间。DE-9IM:"TTT"(A/A, P/P),"1TT**"(L/L)
Contains:包含,对立于Within。
JTS的Geometry类实现了以上的所有方法,而由于这些方法不能表示全部的空间位置关系,因此OGC的Simple Feature Specification和JTS都提供了一个relate方法,用来测试指定的DE-9IM关系。