GIS空间数据查询优化技术研究_张宏
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第26卷第5期
2010年10月
哈尔滨商业大学学报(自然科学版)
Journal of Harbin U ni v ersity of Comm erce (Natural Sciences Edition)
V o.l 26N o .5O ct .2010
收稿日期:2009-07-221
作者简介:张 宏(1984-),男,硕士,研究方向:航空运输经济地理信息系统.
G I S 空间数据查询优化技术研究
张 宏,夏洪山
(南京航空航天大学,南京210016)
摘 要:空间数据库是G IS(地理信息系统)的核心,空间数据查询是空间数据库的关键技术,其性能的高低决定着整个空间数据库的效率.查询效率一直是G IS 系统的一个瓶颈,因此研究空间数据的查询优化技术具有重要的意义.重点对提高数据库查询性能的关键技术)))空间数据索引技术、查询处理算法、空间数据访问技术进行了阐述.
关键词:G IS ;空间数据库;查询效率;空间数据查询中图分类号:U 8 文献标识码:A
文章编号:1672-0946(2010)05-0570-03
Spatial data query and opti m ization of G IS
Z HANG H ong ,X I A H ong -shan
(N an ji ng U n i v ers it y o f A eronauti cs and A stronauti cs ,N anji ng 210016,Ch i na)
Abst ract :Spatial database is t h e core o fG I S(Geograph ic Infor m ati o n Syste m ),w hile spatial data query is the key of the spatial database ,its perfor m ance deter m i n es the efficiency of the w ho le spatia l database .Query effic i e ncy is al w ays the bottleneck o f G I S ,so the studies of
query and opti m ize o f spatial data have beco m e sign ifican.t To i m prove the capability of spa -ti a l data query ,th is paper discusses on spatia l i n dex ,algor ith m for query pr ocessi n g and spa -ti a l data accessing technology.K ey w ords :G I S ;spatia l database ;quer y effic i e ncy ;spatial data quer y
空间查询又称空间查找、空间检索.空间查询是指从空间数据库中查找出满足某一条件的空间目标的过程(查找条件与空间位置有关).空间数据查询实质上是按照一定条件对空间对象的空间
数据和属性数据进行查询,以形成一个新的数据子集.在G I S 中,空间查询操作无处不在,空间查询的性能是这些应用系统成功的关键所在.
由于空间数据自身的复杂性,空间数据查询的效率成为了空间数据库性能的瓶颈,而现有的关系数据库查询优化技术不能完全适用于空间数据,空间查询优化势必成为空间数据库应用的难点和突破点.本文着重从空间索引、查询处理算法以及空间数据访问技术3个方面对空间数据的查询优化技术进行讨论.
1 空间索引技术
所谓空间索引,就是指依据空间实体的位置和形状或空间实体之间的某种空间关系,按一定顺序排列的一种数据结构
[1]
.简单地说,就是将空间对
象按某种空间关系进行划分,以后对空间对象的存
取都基于划分块进行.在空间数据库设计中,为了提高数据存取和管理的效率,一般都要为空间数据库建立索引,不同的空间数据索引结构和索引管理技术,直接影响系统的性能.目前国内外主要的空间数据库大都是采用四叉树系列和R -树系列这两类空间索引.1.1 四叉树
四叉树是基于空间划分的一类索引,将已知范
围的空间划分成四个相等的子空间,如果需要,可以将每个或其中几个子空间继续四等分下去,这样就形成了一个基于四叉树的空间划分.四叉树实际上是指在k 维数据空间中,每一结点有2k 棵子树,用于对空间点的表示与索引.每个结点存储了一空间点的信息及2k 个子结点的指针,如二维空间的四叉树,每个子结点对应一个矩形,用4种方位NW 、NE 、S W 、SE 表示逐级将空间划分到含有数据的个数低于某一值的矩形为止.四叉树索引又分为点四叉树索引和区域四叉树索引两类.1.2 R 树
R 树家族索引算法是面向对象分割技术的索引算法,将空间对象按范围划分,每个结点都对应一个区域和一个磁盘页,非叶结点的磁盘页中存储其所有子结点的区域范围;叶结点的磁盘页中存储其区域范围之内的所有空间对象的外接矩形.这种面向对象的索引数据组织方式节省了存储空间.R
树索引有R -树、R *-树和R +
-树三类.
2 查询处理算法
空间查询处理的过程一般分为2个步骤)))过滤和精炼.从图1可看出当执行空间查询时,查询处理器首先访问空间索引,对其存储的空间对象的近似表示做相关的操作,过滤掉其中不满足查找
条件的目标,余下的对象就构成了候选集,这就是过滤步骤.接下来提取所剩候选目标的精确几何信息进行计算,得到查询结果,这就是精炼步骤
.
图1 空间查询的处理步骤
候选集当中有相当一部分对象并不满足实际的查询条件,尽可能地减少这样的对象进入精炼步骤,从而避免不必要的几何计算,这是提高查询效率的途径之一.精炼步骤是对实际数据进行几何计算,显然这是耗费计算时间和空间的.对这2方面的改进可以有效提高查询效率.2.1 减小候选集
减小候选集可以从以下2个方面进行.
2.1.1 提高过滤步骤中对象近似程度
在过滤步骤中的对象近似应当是简单的,这样
才能够实现快速的过滤.另一方面,对空间对象的近似程度越高,滤除未命中对象的效果越好.一般来说,用少量参数表示的凸近似是合适的.通过目标近似的方法,和M BR (最小包围/矩形0)相比,其他近似描述的空间存取方法需要访问更多的数据页,但由于它们的近似质量高,可以减少未命中对象,从而减少后继处理中的几何计算开销.近似使用的参数越多,近似质量越高.经过实验研究得
出5-corner 的近似性能和凸壳接近[2]
,但所需要的参数却要少得多,它在近似性能和额外存储之间达到了较佳的折中.2.1.2 对候选集进行再次判断
如图2所示,R av i k #Kothur,i S i v a Ravada [3]
在过滤步和精炼步之间插入一个中间步骤,对对象的MBR 与查询窗口的内部表示(I nteri o r(Q ))的关系进行判断,满足查询条件(M B R (G)完全包含在I n -teri o r(Q )内)的直接作为结果输出,否则仍进行计算,但计算量已大大减少.
图2 加入内部近似比较的空间查询的处理步骤
2.2 提高几何检测速度
使用多次执行简单快速的算法取代复杂的几何算法,有利于提高几何检测的速度.一般而言,对象分解技术是将对象分解为满足一些定量约束的简单子对象(例如三角形、不规则多边形、凸多边
形等).在对象分解后,为决定一次处理所涉及的子对象,需要空间存取方法合理地组织对象各组成子部分的位置和形状.
3 空间数据访问技术
从广义的角度讲,数据缓存技术的含义广泛,它指对一切广义数据的缓存.从狭义的角度讲,数
据缓存技术专指对后台关系型数据库中数据的缓存.前者是基于www 技术的,是对站点、网页、链接等非结构化或半结构化内容的缓冲;而后者是基于
#
571#第5期 张 宏,等:G IS 空间数据查询优化技术研究