空间索引结构1遥感

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

? 空间索引分类
空间索引技术的基本原理是采用基于空间位
置或基于空间对象的分割方法,把研究查询空间划分为 若干区域,每个区域为一个索引单元,存储多个空间对 象的索引项。考虑到空间位置上的邻近度,按照空间位 置邻近的对象其索引项的位置也应该邻近的原则来组织 空间索引数据。空间索引支持的最主要的查询是定位查 询和窗口查询。
的索引项按关键字升序排序,非叶结点中每个索引项左子树中的关键字 小于等于该索引项的关键字,右子树中的关键字大于该索引项的关键字。 图7.1为一个B+树索引结构的例子:
例子:有一组关键字集合{2,3,7,9,10,13,15}构成的索引 文件, 索引数据采用B+树结构来组织。假设每个结点最多存贮 四个索引项,结果如图7.1a所示。
空间索引分类
非空间数据库中存储的数据为结构化数据,通 常以主关键字建立索引文件,以非主属性建立倒排 文件,索引项按自然数序列或字符顺序排列。空间 数据库存储的数据为结构复杂、不能完全结构化的 空间数据,为了支持基于位置的各类查询和分析, 需要以表示空间对象几何形状的坐标数据为索引字 段来建立空间索引。非空间数据库的索引结构不能 满足空间数据库的索引需求,必须研究和设计专用 的空间索引结构和基于索引的空间访问方法( SAM Spatial Access Method )。
6、其他查询:将满足一定空间条件的两个空间对象集合进 行空间连接,空间集合运算等也是一种空间访问。
空间索引结构
三、更新效率高: 数据对象的增加、修改和删除将导致索引数据更新,索引数据与 被索引的数据集必须保持一致。 索引数据的更新操作包括:插入索引项、删除索引项和修改索引 项(先删除再增加)。数据集经常变化时,需要考虑新增索引项和删 除索引项时,索引结构的快速更新能力。 很难设计一种空间索引结构同时能提供高效的存储、高效的查询 和高效的更新,实际应用中总是牺牲某些方面的效率来换取另外方面 的效率。 索引结构可分为静态索引和动态索引结构,还分为内存索引和外 存索引,外存索引需要考虑磁盘页面访问的效率瓶颈问题。
空间索引结构
? 空间索引结构应满足下列三个要求:
一、存储效率高: 相对于被索引的数据集而言,索引数据的数据量应尽量小。否则, 访问索引数据可能成为数据查询与更新的效率瓶颈百度文库 二、查询效率高: 选择良好的索引数据结构,设计具体的基于索引的空间访问方法 (SAM Spatial Access Method),高效实现以下的查询: 1、点选择:从数据集中找出包含给定点的所有空间对象。 2、范围查询:查询与给定对象间的距离小于某个给定值的所有 空间对象。
(二)SAM应满足的要求 空间索引是依据空间对象的空间位置、几何形状及空间分布 特征,按一定顺序排列的一种数据结构。空间访问方法SAM 的设计基于B树和hash表相同的假设,但B树和hash表均不 适合于空间索引。SAM应满足下列要求: 1、时间复杂度:点选择和区域查询应具有线性复杂度。 SAM访问一个数据集合的子集所用的时间,应小于以集合元 素数量的线性函数为复杂度的序列查找算法。 2、空间复杂度:如果被索引的集合占据n页,索引的大小应 该是n级的。 3、空间索引结构必须考虑动态性:适合于空间索引项的增 加和删除,大多数空间索引结构在索引查找方面是高效的, 复杂度为被索引集合中元素数量的对数。
? 非空间索引与SAM
非空间索引结构一般为B树和hash文件结构,这种索引结构可以准确的定位 和查找所需数据,复杂度为对数函数。
一、索引的假设和要求 (一)B树和hash文件结构遵从的假设 1、被索引的数据集所占空间远远大于内存空间; 2、磁盘访问比内存访问慢得多; 3、对象按物理页分组,页是内存和外存交换数据的单位(大小为1K到4K) ,读/写一页为一次I/O操作。 4、访问一个具体对象时,该对象所在页可能在内存中,或不在内存中需要 调入内存。 非空间数据库的索引操作中,CPU时间与I/O操作时间相比可忽略不计,访 问方法的效率用I/O数衡量。空间索引的操作中,有些情况下需考虑CPU时间 ,但不考虑页的缓存,使用一页时才调入内存。
1、索引的查找 索引查找从树根开始,通过比较关键字大小,查找相应的子树,直到叶结点。一次查找中读入 物理页的数量等于树的深度,复杂度是被索引数据集大小的对数。 2、插入索引项 插入新的索引项 E = [23 ,PRT] 。 1)从根结点搜索,该索引项应插入到第二个叶子中。 2)插入时该叶结点满了,必须分裂,原结点的一部分索引项保留在原索引单元内 (9,10,13),另一部分索引项和 E形成一个新的叶结点( 15,23)。 3)按照 B+树的定义,应将左边叶结点( 9,10,13)中最右边一个关键字 13插入父结点中, 插入新索引项后的 B+树如图 7.1b所示,仍然是平衡树。 B+ 树是一种较好的外存空间索引结构,时间复杂度是数据集合中元素数量的对数,空间复杂度 使索引空间的利用率为 50%以上, 动态性能支持随机插入和删除。 B+树的上述优点是以关键字有序为基础的,空间数据不具备这 样的特点,不能简单照搬。
空间索引结构
空间索引技术是提高空间数据查询和各种 空间分析效率的关键技术。空间索引可缩小 空间数据的搜索范围,使访问不需要遍历整 个空间数据集。
索引文件中的数据称为索引数据,索引结 构是索引数据的数据结构及索引创建与维护 算法的总称。
空间索引结构是按照空间数据在空间分布 上的特性来组织和存储索引数据的索引结构。
二、非空间数据库中的B+树索引 B+树是B树的一个变种,B+树是一个平衡树,所有叶子位于相同的
深度。B+树的每个结点为一个索引单元,存贮多个索引项,对应磁盘上
一个物理页,每个索引单元存贮索引项的数量由物理页容量和索引项大 小来确定。结点上每个索引项的内容为[KEY,PRT],叶结点的PRT指向 关键字为KEY的数据对象,非叶结点的PRT指向孩子结点。每个结点中
空间索引结构
3、区域(窗口)查询:查找含在区域内、与区域相交或部 分位于区域中的所有空间对象,窗口是一个特殊的区域。
4、K-最邻近查询:给定一个参照对象(点、线或区域), 查询距离参照对象最近的K ? 1个空间对象。
5、空间关系查询:相交、相邻、包含等拓扑关系查询,方 位关系和基于距离的各种查询。
相关文档
最新文档