ArcGIS 空间查询(一)
2009-08-14 22:05 yuxiong 阅读(2133) 评论(0) 收藏 举报ArcGIS 空间查询
Nine-intersection Model(九交模型)
为啥开篇不直接进入主题,而要单独说一说九交模型?肯定是有原因的,当你读完全文,你就能发现问题的关键所在!
九交模型是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是如何来对这些类型进行分类的。
ArcGIS下的空间查询算子的介绍待续。。。
浙公网安备 33010602011771号