# 维度拓展的9交叉模型

### 空间属性

每个空间对象由以下三个空间属性描述：

* 内部
* 边界
* 外部

对于多边形，这些属性可以这样表示

![Polygon interior, boundary, and exterior](https://2219226098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6ORNW9Y4QOaQWhmW-v%2F-M6SUrgM90M9-CxEQPtF%2F-M6SUx096hGAgM8x0fi2%2Fde9im1.png?alt=media\&token=f65de296-bb7f-40fc-a337-8e278540a5ab)

对于折线，变得没那么直观

![Line interior and boundary](https://2219226098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6ORNW9Y4QOaQWhmW-v%2F-M6SUrgM90M9-CxEQPtF%2F-M6SV816E_uRqUAd0grt%2Fde9im2.png?alt=media\&token=1c9099a9-b352-4c52-923e-e37f4d7da586)

边界为折线的两个端点，内部为两端点间的部分，外部为除内部和边界外的其他部分。

对于点，内部即为点本身，点不存在边界，即边界为空集，外部为点之外的所有部分。

![Point interior](https://2219226098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6ORNW9Y4QOaQWhmW-v%2F-M6SUrgM90M9-CxEQPtF%2F-M6SW4Fi3POX_F8H9KGE%2Fde9im13.png?alt=media\&token=e932c77d-da99-4e34-901f-0f28aa66c70c)

使用这样的定义，一对空间要素间的空间关系可以由这三个属性间的相交关系中的九个可能的维度来描述。

### DE9IM定义

由以上三种空间属性，DE9IM的定义如下：

$$
\operatorname{DE-9IM}(a, b)=\left\[\begin{array}{ccc}\operatorname{dim}\left(I\_{A} \cap I\_{B}\right) & \operatorname{dim}\left(I\_{A} \cap B\_{B}\right) & \operatorname{dim}\left(I\_{A} \cap E\_{B}\right) \ \operatorname{dim}\left(B\_{A} \cap I\_{B}\right) & \operatorname{dim}\left(B\_{A} \cap B\_{B}\right) & \operatorname{dim}\left(B\_{A} \cap E\_{B}\right) \ \operatorname{dim}\left(E\_{A} \cap I\_{B}\right) & \operatorname{dim}\left(E\_{A} \cap B\_{B}\right) & \operatorname{dim}\left(E\_{A} \cap E\_{B}\right)\end{array}\right]
$$

#### 模型布尔值定义

对于以下多边形间的关系，如下图所示：

![Modelling object interactions](https://2219226098-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M6ORNW9Y4QOaQWhmW-v%2F-M6SUrgM90M9-CxEQPtF%2F-M6SYlT5cda8fikPfGQO%2Fde9im3.png?alt=media\&token=9e6e5ea6-97e0-4b98-9d9c-021da0e466c4)

内部相交为一个二维区域，矩阵中使用$$2$$来表示。当边界相交为一条折线时，矩阵中的$$(2,2)$$应该由$$1$$来填充，这里边界相交为点，是$$0$$维的，所以这里用$$0$$表示。当两部分没有相交时，矩阵中用$$F$$表示。

为应对更通用的模式匹配，还有

* “\*“ 这个位置为任意值都可以
* "T" 这个位置任意 non-false 的值都可以(0,1,2)
