第六讲 空间数据索引技术与空间查询语言_第1页
第六讲 空间数据索引技术与空间查询语言_第2页
第六讲 空间数据索引技术与空间查询语言_第3页
第六讲 空间数据索引技术与空间查询语言_第4页
第六讲 空间数据索引技术与空间查询语言_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,空间数据索引技术与空间查询语言,第七讲,.,空间数据索引技术空间查询语言,.,空间索引技术,一、空间索引技术二、简单格网空间索引三、KD树索引(二叉树索引)四、B树索引五、四叉树索引六、可扩展的哈希索引七、空间填充曲线,.,1)点四叉树索引,点四叉树是QuadTree的一个变种,主要是针对空间点的存储表达与索引,与KD树相似,两者的差别是在点四叉树中,空间被分割成四个矩形,四个不同的多边形对应于SW、NW、SE、NE四个象限。点四叉树的每个结点存储了一个空间点的信息及孩子结点的指针。,五、四叉树索引,.,(a)平面图(b)结构图图5-22一颗二维的点四叉树结构,.,点四叉树的结构简单,对于精确匹配的点查找性能较高,查找路径只有一条。但对区域查找,查找路径有多条,查找性能较差。其搜索过程和KD树相似,如果想从PointQuadTree中删除一个点的话,则会引起相应的子树的重建,一个简单的方法是将所有子树上的数据重新插入。,.,2)PR四叉树,PR四叉树是点四叉树的一个变种,它不使用数据集中的点来分割空间。在PR四叉树中,每次分割空间时,都是将一个正方形分成四个相等的子正方形,依次进行,直到每个正方形的内容不超过所给定的桶量(比如一个对象)为止。PR四叉树叶子结点可能不在树的同一层次;叶子结点的黑结点或空结点分别表示数据空间某一位置空间点的存在与否。,.,图5-24PR四叉树的索引结构,.,3)CIF四叉树索引,它的组织方式与区域四叉树相似,数据空间被递归地细分直至产生的子象限不再包含任何矩形。在分解的过程中,与任一划分线相交的矩形与该划分线对应的象限相关联,矩形只属于完全包围它的最小象限。图5-25是二维空间一颗CIF树的例子(这里假设数据桶的容量为3个矩形)。,.,(a)平面图(b)结构图(c)桶表图5-25二维空间CIF四叉树的一个例子,.,4)基于固定网格划分的四叉树索引,在基于固定网格空间划分的四叉树空间索引机制中,二维空间范围被划分为一系列大小相等的棋盘状矩形,即将地理空间的长和宽在X和Y方向上进行2N等分,形成2N2N的网格,并以此建立N级四叉树。在四叉树中,空间要素标识记录在其外包络矩形所覆盖的每一个叶结点中。但当同一父亲的四个兄弟结点都要记录该空间要素标识时,则只将该空间要素标识记录在该父亲结点上,并按这一规则向上层推进。,.,有效减少了大的空间要素(跨越多个网格)在结点中的重复记录。,.,网格文件,网格文件是一种典型的基于哈希的存取方式,它是由包含着很多与数据桶相联系的单元的网格目录来实现对于二维空间为平行于x或y轴的直线,这一超平面将数据空间划分为两个子空间。所有的边界一起将整个数据空间划分成许多k维的矩形子空间,这些矩形子空间称为网格目录,由一个k维的数组表示。,六、可扩展的哈希索引,.,图5-28网格文件的结构,.,目录项(即网格目录数组的元素)和网格单元之间具有一对一的关系。网格目录的每一网格单元包含一个外存页的地址,对应着一个数据桶,一般一个数据桶为硬盘上一个磁盘页,这一外存页存储了包含了网格单元的数据目标,称为数据页。数据页所对应的一个或多个网格单元称之为存储区域存储区域两两不相交。每个数据桶往往可以包含着几个相邻的单元,存储多个网格单元的目标,只要这几个网格单元一起形成一矩形的区域。,六、可扩展的哈希索引,.,D5,D4,D6,网格文件插入目录示意图,.,七、空间填充曲线,空间填充曲线是一种重要的近似表示方法,将数据空间划分成大小相同的网格,再根据一定的方法将这些网格编码,每个格指定一个唯一的编码,并在一定程度上保持空间邻近性,即相邻的网格的标号也相邻,一个空间对象由一组网格组成。这样可以将多维的空间数据降维表示到一维空间当中。理想的空间映射方法是:在多维空间中聚集的空间实体,经过填充曲线编码以后,在一维空间中仍然是聚集的。,.,(a)行排序(b)Hilbert排序(c)Z排序图5-30几种常用的空间填充编码方法,.,1)Z-ordering曲线(peano曲线),Z-排序(Z-ordering)技术将数据空间循环分解到更小的子空间(被称为PeanoCell),每个子空间根据分解步骤依次得到一组数字,称为该子空间的Z-排序值。子空间有不同的大小,Z-排序有不同的长度,显然,子空间越大,相应的Z-排序值越短。这里,分辨率(resolution)是指最大的分解层次,它决定了Z-排序值的最大长度。,.,图5-31Z-排序示例,2n2n个分区,编号为02n2n-1,.,2)Hilbert曲线,与Z-排序类似,Hilbert曲线也是一种空间填充曲线,它利用一个线性序列来填充空间,其构造过程如图5-33所示。实验证明,Hi1bert曲线的方法比Z-排序好一些,因为它没有斜线。不过Hilbert曲线算法的计算量要比Z-排序复杂。,.,图5-33Hilbert曲线示例,.,空间查询语言一、扩展SQL以处理空间数据二、对象关系查询语言三、强调空间的查询示例四、空间查询处理,.,突破关系模型中关系必须是第一范式的限制,允许定义层次关系和嵌套关系。增加抽象数据类型,如点、线、面、栅格、图像等。增加空间谓词。如表示空间关系的,包含、相交等,表示空间操作的,叠加、缓冲区等。增加适合空间数据索引的方法,如R数、四叉树等。,一、扩展SQL以处理空间数据,在SQL的基础上进行扩展将是管理和分析空间数据的一个趋势。扩展关系模型主要表现在:,.,.,定义的空间操作算子包括基本操作、空间关系运算和空间分析操作。,.,.,.,1)SQL3(SQL99)概览它详细地描述了空间数据类型点、线、面在数据库中的存储方式,并能够定义操作于空间数据的空间运算符。支持抽象数据类型(AbstractDataType,ADT)并且包括了指定拓扑操作和空间分析操作。可以使用CREATETYPE语句来定义ADT,ADT由一组属性和访问这些属性的方法组成。ADT可以作为关系模式中某一列的类型。,二、对象关系查询语言(OR-SQL),.,扩展方案ADT:,二、对象关系查询语言(OR-SQL),.,三、强调空间的查询示例,.,查询:列出country表中所有与美国(USA)相邻的国家名字。查询:找出River表中所列出的河流流经的国家。,.,查询:对于River表中列出的河流,在City表中找到距离其最近的城市。查询:圣劳伦斯河能为方圆300公里以内的城市供水,列出能从该河获得供水的城市。,.,查询:求出河流在流经的各国境内的长度查询:按其邻国数目的多少列出所有国家。,.,过滤

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论