- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章_空间索引与空间信息查询讲述
第6章 空间索引与查询 6.1 空间索引 一、 空间索引技术 二、 简单格网空间索引 三、 四叉树索引 四、 R树索引 五、 空间填充曲线 一、空间索引 对一个数据集做“索引”,是为了提高对这个数据集检索的效率。 索引是用来提供快速、有选择性的存取数据库的一种机制。相当于一个映射机构,将属性的值转换为相应的地址或地址集。 对于空间数据,其存储主要依赖于空间对象之间的位置关系而非属性值。鉴于空间数据的特点,我们需要寻找适用的空间索引机制 。 1.空间索引的定义 空间索引是指根据空间要素的地理位置、形状或空间对象之间的某种空间关系,按一定的顺序排列的一种数据结构,一般包括空间要素标识,外包络矩形以及指向空间要素的指针。 2.空间索引的作用 为了GIS系统中快速定位到所选中的空间要素,从而提高空间操作的速度和效率。 空间索引的技术和方法是GIS关键技术之一,是快速高效的查询、检索和显示地理空间数据的重要指标,他的优劣直接影响空间数据库和GIS系统的整体性能。 3.空间索引的分类 按照搜索分割对象不同,可将空间索引分为3类,即基于点区域划分的索引方法、基于面区域划分的索引方法和基于三维体区域划分的索引方法。B树是常见的基于点区域划分的索引。 常见的空间索引 二、 简单格网空间索引 基本思想是将研究区域用横竖线条划分大小相等和不等的格网,记录每一个格网所包含的空间实体。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速度。 为了便于建立空间索引的线性表,每个格网按一定规律进行编码,建立码与空间实体的关系,该关系表就成为格网索引文件。每个要素在一个或者多个网格中,每个网格可以包含多个要素。 三. 四叉树检索 点四叉树 区域四叉树 MX四叉树 PR四叉树 CIF四叉树 1.点四叉树 以空间点为划分点,将索引空间分为两两不相交的的2k个子空间,依次与它的2k个子结点相对应,对于位于某一子空间的点,则分配给对应的子树。 点四叉树的构造过程: (1)输入空间点A,以A为根节点并进行划分空间。 (2)输入空间点B,B落入A的NW象限,并且A的NW象限为空,则B直接放入A的NW象限孩子结点。同理,C是A的SW孩子结点。 (3)输入D,由于D落入A的NW象限,但是NW不为空,所以继续往下查找,得到B的NE象限为空,因此,D作为B的NE孩子结点。 (4)同理,空间点E、F,分别为A的SE、NE孩子节点。 缺点: (1)尽管点四叉树构造简单,但是删除一个节点时,该节点对应的所有子树节点必须重新插入四叉树中,效率很差。 (2)对于精确匹配的点查找,效率很高,但是对于区域查找,查找路径有多条,效率较差。 (3)树的动态性差,树的结构完全由点的插入顺序决定。树的平衡难以保证。 2.区域四叉树 区域四叉树(Region-Based Quadtree)是以区域目标为循环分解对象的四叉树,分解过程既可以按照区域边界,也可以按照区域内部对二维空间进行划分。 如果区域四叉树中的结点覆盖的区域中所有数组元素的值都相同,则该结点是叶子结点。否则,该结点是内部结点,被进一步划分为四个等大小的子结点。 主要有MX四叉树与PR四叉树。 避免了点四叉树的动态性差、结构完全由点的插入顺序决定的功能缺点。 MX四叉树 MX四叉树特点: 空间中每一个点都属于某一象限且位于该象限的最左下角,每一象限只与一个空间点相关联。 尽管D同时是两个大小不等的象限的最左下角,但其应属于最下一级象限(即最后一次空间划分所产生的子象限)。这就决定了所有空间点均位于叶子节点。 缺点: 插入(或删除)一个点可能导致树的深度增加(或减少)一层或多层,所有的叶子节点都必须重新定位。 树的深度往往很大,这会影响查找效率。 PR四叉树 PR(Point Region)四叉树叶子节点或者为空,或者包含唯一数据点。 PR四叉树与MX四叉树的构造过程类似,不同的是,当分解到一个象限只包含一个点时,不需要继续分解使该点位于某一子象限的最左下角。 另外,插入或删除一个点也不会影响到其他的分支,操作比较简单。 PR四叉树与MX四叉树的区别: (1)数据点位于象限内,不要求位于左下角。 (2)叶子节点可能不在树的同一层次。 (3)PR四叉树的叶子结点数及树的深度都小于MX四叉树,因此PR四叉树效率高。 CIF四叉树 CIF四叉树是为了表示VLSI(Very Large Scale Integration)
文档评论(0)