- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
空間数据多级索引结构的算法实现和分析
《空间数据组织与分析》
结课论文
题目:多级空间索引算法分析
学 院: 研究生学院
专 业: 大地测量学与测量工程
班 级: 硕研12级3班
姓 名: 张鼎凯
学 号: 2012020344
日 期: 2012年12月05日
摘要:空间数据库的索引是提高空间数据库存储效率和空间检索性能的关键技术。介绍了空间数据库中建立索引的常用技术,给出了一种多级空间索引,详细讨论了该索引的建立算法以及应用该索引的检索算法,并进行了算法分析。
关键词:计算机软件;间数据库;空间索引;空间检索;算法分析
1 空间索引技术
空间索引是指依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。作为一种辅助性的空间数据结构,空间索引介于空间操作算法和空间对象之间,它通过筛选作用,大量与特定空间操作无关的空间对象被排除,从而提高空间操作的速度和效率。空间数据是多维在此主要介绍二维空间数据的索引。近年来,国外学者提出应用空间基数分区对空间数据进行管理,已得出了几种空间数据索引结构。例如 Robinson提出的 K-D-B 树[2] ,Guttman 提出 R 树结构[3],Freeston 提出的 BANG 文件[4],Beckmann 提出的 R*树结构[5]等。国内则学者提出了 QR-树[6],网格索引[7][8]等索引结构,并进行了有关索引结构的性能分析和查询优化研究[8][9]。众多的索引结构可以说各有优缺点。总的来说,可分为以四叉树为代表的网格文件结构和以 R 树及其变种为代表的动态索引技术。
四叉树结构
四叉树索引是栅格文件索引技术的代表。栅格文件索引技术的基本思想是将一张地图规则地划分成多个互不相交的栅格,且要求所有栅格覆盖全地图,然后再利用栅格对地图上的空间对象进行索引。如 K-D树、K-D-B 树、四叉树、八叉树等均基于此思想。我们在此主要介绍一下四叉树空间索引技术。四叉树空间索引是将一张地图逐步四等分,且依次编号,如图 1(a)所示,其层次由用户依需要而定。划分的结果可生成如图 1(b)的四叉树结构。从此结构中可确定被索引类中每个对象实例的被索引属性值属于那一个最小范围块,并将其 ID 加到该最小范围块所带的链表中。查询时根据用户关心的区域,选中区域所在最小范围块中的对象。四叉树的查询在最坏情况下效率较低,而且四叉树的动态性较差。建立索引后,如果又扩大地图范围增加新对象时,必须重新建立四叉树索引,因而缺乏灵活性。
图 1 四叉树结构
Fig.1 the structure of quartered tree
树结构
R 树是在 B 树的基础上通过对空间数据递推分区,并以分区后的区域作为关词建立起的一种层次结构。它不对地图预先划分,可随着地图中空间对象的增加而使原有的范围块分裂,具有 B 树的动态平衡性。其中叶结点包含指向数据库中实际几何物体的指针,所有叶结点都在同一层上,且可以实现多维索引。非
叶结点完全包含了子结点的区域。图 2(a)表示了地图上的两个范围 A、B(用虚线框起),相互有覆盖。图 2(b)是与之对应的一个 4 阶 R 树结构。当空间对象加入 B 范围时,R 树会相应分裂。同样,当删除空间对象时,会引起 R
图 2 R 树结构
Fig.2 the stucture of R-Tree
树结点的合并。R 树结构的主要优点在于空间利用率高,每个空间对象在树中只表示一次。R 树的查询效率较高,但分区可能产生重叠。在 R 树结构中频繁插入或删除对象时,由于要动态地保持树的平衡,可能会产生震荡而降低效率。
2 多级空间索引的基本结构
多级空间索引实质上仍属于网格索引结构[7][8],其基本思想是将整个空间纵横分成若干个均等的小块,每个小块都作为一个桶,将落在该小块内的实体对象的标识号放入该小块对应的桶中。为适应精度要求,小块还可以再细分,直到不可分为止。设将空间分成 m*n 个小块,左下角为坐标原点,则每个小块可表示为 Block[i, j],0≤im,0≤jn。一个 m×n 的网格共有 m×n 个桶,第 i 个桶表示为 Buck[i],(0≤im×n)。Buck 与 Block 的关系如下:Buck[i]←→Block[i / m, i mod n];其中 0≤im×n(’←→’表示一一对应关系)。为支持点、线、面三种基本的空间查询方式,网格索引方法引入了点索
文档评论(0)