12 空间索引.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12 空间索引

北京建筑大学测绘与城市空间信息学院; 主要内容;;; 主要内容;;; 主要内容;3 空间索引的概念—引入空间索引的原因;3 空间索引的概念—引入空间索引的原因;3 空间索引的概念—内涵; 主要内容;4 空间索引的分类 ;;;;;;将坐标空间中所有的几何体以分解完整且互不重叠的分块面片覆盖,其基本思想是将坐标空间的范围视为一矩形,四叉树分解的第一步是将矩形沿坐标轴方向平均分割生成四个相同大小的分块,对每一个与几何体相交的面片继续以相同形式分割,直至满足一定的原则,如面片达到一定大小或覆盖几何体的面片达到一定数目,则分解停止。;;树的概念 构成:根节点、中间结点、叶结点、无回路的图。 度量:树的深度,子结点个数 平衡树 根结点到每一个叶结点的深度相等 。 树中每个非叶结点有n到M个子结点,M 对特定的树是固定的(阶数)。2= n= M/2;B树的定义 ????B树是一种平衡的多分树,通常我们说m阶的B树,它必须满足如下条件: ????(1)每个结点至多有m个子结点; ????(2)除根结点和叶结点外,其它每个结点至少有m/2 个子结点; ????(3)若根结点不是叶子结点,则至少有两个子结点; ????(4)所有的叶结点在同一层; ???;基本思想 用最小外接矩形的层次集合来组织空间对象; 是B树在多维上的扩展 R-树的分类 处理大的空间对象 R 树:叶结点(数据)矩形可能重叠,中间结点 (目录)矩形允许重叠 ( overlap ) R+ 树:中间结点的目录矩形不允许重叠; R树和R+树的基本概念,阅读课本 ;R树的非叶结点 (I, 子结点的指针):I为子树结点所表示的矩形MBR; 子结点的指针: 指向低一层结点。 R树的叶结点 (I, 元组标识符): I为空间对象的MBR;元组标识符是数据库中存储对应于MBR的对象的元组唯一标识符。;R-树的特征 平衡树 结点是矩形 子结点矩形位于父结点矩形内; 中间结点可能重叠; 其他属性见4.2.2节; 查找操作的实现 搜索根结点、确定相关的子结点。 递归地搜索子结点; 由于中间结点可以重叠,查找路 径可能有多条 例如: find record for rectangle 5 Root search identifies child x Search of x identifies children b and c Search of b does not find object 5 Search of c find object 5;R+ 树;● 1-9是图层中相应几何体的MBR。 ● a、b、c、d是R树的叶结点,含有所包括的几何体的MBR和指向该几何体的指针;即a含1-MBR、1-ID、2-MBR、2-ID,b含3-MBR、3-ID、4-MBR、4-ID,c含5-MBR、5-ID、6-MBR、6-ID、7-MBR、7-ID,d含8-MBR、8-ID、9-MBR、9-ID。 ● A含a-MBR、a-ID和b-MBR、b-ID,B含c-MBR、c-ID和d-MBR、d-ID。 ● 根结点(root)含A和B的MBR。;R 树优点;R 树缺点;选择R树或者四叉树索引 ;创建R树索引;4.1.5 聚类文件组织;Z曲线的搜素顺序(Z值);将一个区域在x和y坐标上进行折半(0,1)迭代划分; 在i次迭代中(i=0,1,……,n-1),x, y轴上的分段数为N=2i,分段的x,y位置可以用i位二进制数(0,1)表示。 将平面分成NxN的网格区域。 每个网格坐标的二进制表示 如何计算每个单元的Z值? ;1)读入每个网格x和y坐标的二进制表示; 2)交叉扫描X、Y二进制数字的比特,形成一个新二进制字符串; 计算出结果二进制串的十进制值作为该网格的Z值。;三个对象A,B,C 给出x, y坐标,查找Z值;1 读入每个网格x和y坐标的n比特二进制表示; 2 对x和y隔行扫描二进制比特到一个字符串; 3 将字符串分成两个比特长的字符串; 4 ??算两比特字符串的十进制表示; 5 对于网格的十进制串的每个数字j 如果 j= 0, 把跟在其后的所有1变为3,如果是3变为1 如果 j=3, 把跟在其后的所有0变为2,如果是2变为0 6 将步骤5转换的十进制串中每一个十进制值转换为二进制,然后连接成串,在将整个串转换成十进制,作为该网格的H序号值。;例子;Z曲线有斜线,Hilbert 要比Z曲线好一些。 ;作业 P133 习题1和习题2

文档评论(0)

骨干 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档