第6章_空间索引与空间信息查询
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2n ×2n个分区, 编号为0~2n ×2n-1
n=0 n=1 n=2 n=3
图5-31 Z-排序示例
2) Hilbert曲线 与Z-排序类似,Hilbert曲线也是一种 空间填充曲线,它利用一个线性序列来 填充空间,其构造过程如图5-33所示。 实验证明,Hi1bert曲线的方法比Z-排 序好一些,因为它没有斜线。不过 Hilbert曲线算法的计算量要比Z-排序 复杂。
删除矩形:找到矩形所在结点,从数据桶中删除。
如果删完后桶为空,且该节点没有孩子结点,则可以删 除该节点。
CIF四叉树可以用于索引矩形以及任何 其他形体的空间目标而不需要经过目标近 似与空间目标映射,因此对于区与查询, 效率相对MX、PR四叉树要高些。
但是区域查询往往需要访问多个节点对 应的存储桶,尤其当索引量增大,大区域 节点所包含较多数据矩形时,外存I/O开销 很大。
查询的意义
信息管理
• 通过查询可以获取特定数据,进行信息管理和数 据更新。
特定信息提取
• 通过查询提取需要的信息,据弃无关的信息,便 于使用。
空间分析基础
• 查询结果一般是对所需查找的信息及数据的报告 ,研究需要对这些数据单独提出进行相关分析。
二.空间查询方式
1、图查文(图形查询属性)
2、文查图(属性查询图形) 2、空间关系的查询(面—点、面—线、面— 面、线—点、线—线查询 ) 4、逻辑查询(SQL查询)
1.空间索引的定义
空间索引是指根据空间要素的地理位置、形 状或空间对象之间的某种空间关系,按一定的 顺序排列的一种数据结构,一般包括空间要素 标识,外包络矩形以及指向空间要素的指针。
2.空间索引的作用
为了GIS系统中快速定位到所选中的空间要素, 从而提高空间操作的速度和效率。 空间索引的技术和方法是GIS关键技术之一,是 快速高效的查询、检索和显示地理空间数据的重 要指标,他的优劣直接影响空间数据库和GIS系统 的整体性能。
缺点:
(1)尽管点四叉树构造简单,但是删除一个节点时 ,该节点对应的所有子树节点必须重新插入四叉 树中,效率很差。 (2)对于精确匹配的点查找,效率很高,但是对于 区域查找,查找路径有多条,效率较差。 (3)树的动态性差,树的结构完全由点的插入顺序 决定。树的平衡难以保证。
2.区域四叉树
区域四叉树(Region-Based Quadtree)是以区域目 标为循环分解对象的四叉树,分解过程既可以按照区域 边界,也可以按照区域内部对二维空间进行划分。 如果区域四叉树中的结点覆盖的区域中所有数组元 素的值都相同,则该结点是叶子结点。否则,该结点 是内部结点,被进一步划分为四个等大小的子结点。 主要有MX四叉树与PR四叉树。 避免了点四叉树的动态性差、结构完全由点的插入 顺序决定的功能缺点。
R树是一种高度平衡的树 ,由中间节点和页节点组 成,实际数据对象的最小 外接矩形存储在页节点中 ,中间节点通过聚集其低 层节点的外接矩形形成, 包含所有这些外接矩形。 R树是一种动态索引结构 ,即:它的查询可与插入 或删除同时进行,而且不 需要定期地对树结构进行 重新组织。
R树示例图
五、空间填充曲线
14 15 25
26
32 33 35
E
D D D.F
D
D D E
32-33
35-35 38-38 14-15
A
16 5
E
37
38
E
D E E
E
E E E
26-26
37-37 39-39 48-48
B
4
1 0
6
3 2
12
9 8
14
11 10
36
33 32
38
35 34
44
41 40
46
43 42
D F
n=0
n=1
n=2
n=3
图5-33 Hilbert曲线示例
6.2 空间查询
一. 空间信息与 空间信息查询 二. 空间查询方式 三. 空间信息查询语言
一.空间信息与空间信息查询
空间信息分类
空间位置和形态
• 对象所在的地理区域,对象的几何和属性特征。
空间关系和关联
• 空间对象间的拓扑关系。
空间分布规律
MX四叉树
MX四叉树将每个空间点看成是区域四叉 树中的一个黑象素,或当成一个方阵( Square Matrix)中的非零元素,因此称为 MX四叉树。 利用叶子节点为黑节点或空闲点表示数 据空间某一位置空间点的存在与否。 树的构造过程即是对整个数据空间重复 地进行2k次等分,直到每一空间点都位于某 一象限的最左下角的过程。
0
数据桶的容量设为3。
相交查询:从根节点开始,首先检查与之关联的所有矩形是 否为查找结果;接下来检查象限空间与查询区域相交的孩 子结点„.直到叶子节点。 插入矩形:首先检查根节点,如果与根节点的划分线相交, 则插入到根节点对应的桶链表中;否则检查包含该矩形的 子象限的孩子结点„;如果检查到某一没有孩子的象限, 而且该矩形依旧没有插入到对应的位置,那么该象限必须 再次细分直到为该矩形找到对应的子象限。
MX四叉树特点: 空间中每一个点都属于某一象限且位于 该象限的最左下角,每一象限只与一个空 间点相关联。 尽管D同时是两个大小不等的象限的最 左下角,但其应属于最下一级象限(即最 后一次空间划分所产生的子象限)。这就 决定了所有空间点均位于叶子节点。
缺点: 插入(或删除)一个点可能导致树的深 度增加(或减少)一层或多层,所有的叶 子节点都必须重新定位。 树的深度往往很大,这会影响查找效率 。
CIF四叉树
CIF四叉树是为了表示VLSI(Very Large Scale Integration) 应用中的小矩形而提出的。 它可以用于索引空间矩形及其他形体。 表示方式与区域四叉树类似,数据空间被递 归的细分,直至产生的子象限不再包含任何矩形 。
在分解过程中,所有与任一划分线相交的矩 形与该划分线对应的象限相关联。
3.空间索引的分类
按照搜索分割对象不同,可将空间索引分为3类, 即基于点区域划分的索引方法、基于面区域划分 的索引方法和基于三维体区域划分的索引方法。 B树是常见的基于点区域划分的索引。
常见的空间索引
常见空间索引一般是自顶向下、逐级划分空间 的各种数据结构空间索引,比较有代表性的包括 BSP树、R树、R+树和CELL树等。此外,结构 较为简单的格网型空间索引有着广泛的应用。
点四叉树的构造过程:
(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孩子节点。
PR四叉树
PR(Point Region)四叉树叶子 节点或者为空,或者包含唯一数据点。
PR四叉树与MX四叉树的构造过程类似, 不同的是,当分解到一个象限只包含一个 点时,不需要继续分解使该点位于某一子 象限的最左下角。 另外,插入或删除一个点也不会影响到 其他的分支,操作比较简单。
PR四叉树与MX四叉树的区别: (1)数据点位于象限内,不要求位于左下角 。 (2)叶子节点可能不在树的同一层次。 (3)PR四叉树的叶子结点数及树的深度都小 于MX四叉树,因此PR四叉树效率高。
空间索引
Peano键 空间对象
对象索引
空间对象 Peano键集
7
B
E E A
A
B C C
25-25
7-7 54-55 60-60
C
21 20 17 23 22 19 18 7 29 28 25 24 13 31 30 27 26 15 53 52 49 48 37 55 54 51 50 39 61 60 57 56 45 63 62 59 58 47
(a)行排序
(b)Hilbert排序 (c)Z排序 图5-30 几种常用的空间填充编码方法
1) Z-ordering曲线(peano曲线)
Z-排序(Z-ordering)技术将数据空间循环分解
到更小的子空间(被称为Peano Cell),每个子 空间根据分解步骤依次得到一组数字,称为该子 空间的Z-排序值。 子空间有不同的大小,Z-排序有不同的长度,显 然,子空间越大,相应的Z-排序值越短。这里, 分辨率(resolution)是指最大的分解层次,它 决定了Z-排序值的最大长度。
四叉树索引的缺点: 当索引数据量较大时,如果四叉树层次 过小,将导致查找性能下降;如果四叉树 层次过大,将导致重复存储的增加,从而 增加空间开销,这同时又会影响查找性能 。
四.R树空间索引
1.R树
1984 年 Guttman 发表了《R 树 : 一种空间查询的 动态索引结构》,首次提出了 R 树空间索引结构 。 其后,人们在此基础上针对不同空间运算提出 了不同改进,才形成了一个繁荣的索引树族,是 目前流行的空间索引。
29 28 25 24 13
31 30 27 26 15
53 52 49 48 37
55 54 51 50 39
61 60 57 56 45
63 62 59 58 47
4
1 0wenku.baidu.com
6
3 2
12
9 8
14
11 10
36
33 32
38
35 34
44
41 40
46
43 42
为了便于建立空间 索引的线性表,每个格 网按一定规律进行编码 ,建立码与空间实体的 关系,该关系表就成为 格网索引文件。每个要 素在一个或者多个网格 中,每个网格可以包含 多个要素。
39 48
50
54 55
E
C C
E
F
50-50
35-35
每个要素在一个或者多个网格中,每个网格 可以包含多个要素,要素不是真正被分割。 由此建立Peano键和空间对象的关系。
60
C
三.
四叉树检索
点四叉树 区域四叉树
MX四叉树 PR四叉树
CIF四叉树
1.点四叉树
以空间点为划分点,将索引空间 分为两两不相交的的2k个子空间,依次与 它的2k个子结点相对应,对于位于某一子 空间的点,则分配给对应的子树。
第6章 空间索引与查询
6.1 空间索引
一、 二、 三、 四、 五、 空间索引技术 简单格网空间索引 四叉树索引 R树索引 空间填充曲线
一、空间索引
对一个数据集做“索引”,是为了提高对这个数 据集检索的效率。
索引是用来提供快速、有选择性的存取数据库的 一种机制。相当于一个映射机构,将属性的值转换 为相应的地址或地址集。 对于空间数据,其存储主要依赖于空间对象之间 的位置关系而非属性值。鉴于空间数据的特点,我 们需要寻找适用的空间索引机制 。
• 特定类别地物分布在特定的区域,如电子市场、
娱乐场所、饮食街等。
时空演化
• 通过时间空间数据分析,可以研究和揭示事物发 展演化的规律。
空间信息查询
查询什么
• 空间查询的一般问题是“有没有?”、“是什么 ?”、“在什么地方?”、“怎样(到达)?”
查询对象
图形中的信息 属性表中的信息
其它信息 • 一般问题是“某图元代表什么实体,有什么属性 ”、“处于什么位置、距离、路径”、“一定范 围内包含的地物,地物之间的关系等”。
空间填充曲线是一种重要的近似表示方法,将数 据空间划分成大小相同的网格,再根据一定的方 法将这些网格编码,每个格指定一个唯一的编码 ,并在一定程度上保持空间邻近性,即相邻的网 格的标号也相邻,一个空间对象由一组网格组成 。这样可以将多维的空间数据降维表示到一维空 间当中。 理想的空间映射方法是:在多维空间中聚集的空 间实体,经过填充曲线编码以后,在一维空间中 仍然是聚集的。
二、 简单格网空间索引
基本思想是将研究区域用横竖线条划分大小相等 和不等的格网,记录每一个格网所包含的空间实 体。当用户进行空间查询时,首先计算出用户查 询对象所在格网,然后再在该网格中快速查询所 选空间实体,这样一来就大大地加速了空间索引 的查询速度。
21 20 17 16 5
23 22 19 18 7
四叉树索引优点: 结构清晰,容易建立。它同时具有聚集空间目 标的能力(在栅格数据存储中发挥突出作用), 提高了检索效率,得到广泛应用。 有很多改进的方法被提出: (1)一体化索引,进行了索引空间的三级划分, 包括索引块、基本格网、细分格网,并采用行次 序法对各级区域进行了编码。 (2)CELLQTREE, 叶子节点索引点对象, 中间节点索引线和面对象,较好的解决了 大区域对象的标示符在子空间结点中的多次重复 存储问题。