摘要: 为啥开篇不直接进入主题,而要单独说一说九交模型?肯定是有原因的,当你读完全文,你就能发现问题的关键所在! 九交模型是OGC(Open Geospatial Consortium,开放空间信息协会)制定的一套适用空间查询的一套模型。九交模型根据不同维度,不同类型...
为啥开篇不直接进入主题,而要单独说一说九交模型?肯定是有原因的,当你读完全文,你就能发现问题的关键所在!
九交模型是OGC(Open Geospatial Consortium,开放空间信息协会)制定的一套适用空间查询的一套模型。九交模型根据不同维度,不同类型的几何对象之间的空间关系来定义空间查询的基本算子。
基本的几何对象元素有点,线,面,它们都有很明确的边界,内部,外部。相关定义如表1:
几何对象 |
边界 |
内部 |
外部 |
点 |
无边界 |
点本身 |
点对象以外的区域
|
线 |
线对象的端点 |
除端点外的线对象 |
线对象外的区域
|
面 |
面对象控制边 |
面对象除边界后的区域 |
面对象本身外的区域 |
表1
熟悉了这些基本的定义之后,我们进一步接触的就应该算是交九模型的核心,如何对空间关系进行推算: 九交模型通过比较两个或者多个对象的外部,边界,和内部,并求交,考虑求交结果的维度,故适合于各种对象。
任意对象a、b:
|
边界(b) |
内部(b) |
外部(b) |
边界(a) |
dim(I(a) intersect I(b)) |
dim(I(a) intersect I(b)) |
dim(I(a) intersect I(b))
|
内部(a) |
dim(I(a) intersect I(b))
|
dim(I(a) intersect I(b))
|
dim(I(a) intersect I(b))
|
外部(a) |
dim(I(a) intersect I(b))
|
dim(I(a) intersect I(b))
|
dim(I(a) intersect I(b))
|
表2
dim(dimension)的返回值:有-1,0,1,2. 分别代表不同的含义,如下:
- T:交集存在,dim=0,1或2;
- F:交集不存在,dim=-1;
- 0:交集存在,但其最高维度必须是0;
- 1:交集存在,但其最高维度必须为1;
- 2:交集存在,但其最高维度必须为2;
注意:对于简单对象(单纯的点,线,面而言,一种三维矩阵能够解决,但是如果是不同类型组合对象组合而成的复杂对象,就需要多个三维矩阵来判断了。)
介绍了这么多的九交模型的知识,现在开始进入正题,ArcGIS是如何来对这些类型进行分类的。