SpatialHadoop中空间索引系列之(二)空间对象索引原理

       空间索引(Spatial Index)是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构 ,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。(不知所云,还给老师吧!)

       数据库的索引用来快速访问一条特定查询所请求的数据,而无需遍历整个数据库。 

====================================================================

       索引是一种独立的对象,用来快速地找到那些具有特定值的记录;索引要占用存储空间;索引可以减少全表扫描,从而提高检索速度。

例如:查找经过河南省的所有河流。

       常规方法:检查所有河流和河南省省界是否相交。

       缺点:用实际空间对象比较,算法复杂,计算开销大、IO开销大。

       索引方法:记录河流和省界的外包矩形。用外包矩形进行比较。(对象范围索引)

====================================================================

       空间索引的基本思想,也是空间查询的基本思想,即近似体的使用。让索引结构按照一个或多个空间码来管理对象,这些空间码是比对象本事更简单的几何对象。常见的空间索引:对象范围索引;格网索引;四叉树索引;R树和R+树索引;BSP树索引。

=============================

一、对象范围索引

       在记录每个空间实体的坐标时,记录包围每个空间实体的外包矩形的最大最小坐标。

       在检索空间实体时,根据空间实体的最大最小范围,预先排除那些没有落入检索窗口内的空间实体,仅对那些外接矩形落在检索窗口的空间实体作进一步的判断,真正落入窗口内的空间实体。

SpatialHadoop中空间索引系列之(二)空间对象索引原理_第1张图片

基于实体范围的空间数据检索

       这种方法没有创建真正的空间索引文件,而是在空间对象的数据文件中增加了矩形范围,主要依靠空间计算进行判别。查询时仍需要对整个数据文件的空间对象进行检索,只是某些对象可以通过矩形范围予以直接判别,而有些对象仍需要进行复杂计算才能判别。

       虽然该方法仍需要花费大量时间来进行空间检索,但随着计算机的处理速度的加快,这种方法在一定程度上能够满足查询检索的效率要求 。

SpatialHadoop中空间索引系列之(二)空间对象索引原理_第2张图片

       在进行空间范围查询时,分为两级过滤(筛选):

初次过滤根据空间要素外包络矩形来过滤掉大部分不在查询范围的空间要素;

第二级过滤则用查询空间范围直接和初次过滤结果集中空间要素的二进制边界坐标比较,从而得到查询的准确结果。

SpatialHadoop中空间索引系列之(二)空间对象索引原理_第3张图片

=============================================================================================================
雪真的很厚!不信你看!!!


你可能感兴趣的:(索引,对象,index,spatial)