- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
空间数据库中涉及到的基本知识讲述
* * 2.空间连接 例2 对每条河流找出沿河10000米的所有城市 设“河流”、“城市”是两个关系。在关系“河流”中,有属性“河流流域图”。如果城市中心距离河流小于等于10000米,则该城市和河流匹配。可以用空间连接表示如下: ∏河流名,城市名(河流 ?F城市) 其中,F=Mindist(城市名,ROUTE(河流流域图))10000 * * 2.7空间数据查询语言 一般在SQL语言基础上扩充空间数据类型及其操作和相应的保留字。 * * 例 3 ●选择广东省所有城市及其人口: select 城市名,人口 from 城市 where center(城市地图)inside广东省; * * ●选择流经广东省所有河流的河流名及其在广东省境内的长度: select 河流名,length(intersection(route(河流流域图),广东)) from 河流 where route(河流流域图)intersects广东; * * ●选择距离广州小于等于100000米,人口大于等于50万的所有城市: select 城市名,人口 from 城市,广东区域图 where dist(城市名,广州)=100000 and 人口=500000; * * 例4 将例2表示的查询用SQL风格表示出来 select 河流名,城市名 from 河流,城市 where mindist(城市名,ROUTE(河流流域图))=10000 * * 3 空间索引 空间数据库查询的开销一般比关系数据库大,特别是空间谓词求值的开销远比数值或字符串的比较要大。若采用顺序扫描方法进行查询,则效率就会很低,因此采取空间索引十分必要的。 * * 3.1空间索引概述 1.空间索引的思路 为了减少开销,通常是采用近似规则图形例如边平行于坐标轴的最小矩形来代替不规则土星进行查询。这种矩形就称为不规则区域的最小限定矩形(minimum bounding rectangle ,MBR)。设MBR左下角坐标为(x1,y1),右上角为(x2,y2),则x1,y1就分别为空间对象的最小横坐标和纵坐标,x2,y2分别为空间对象的最大横坐标和纵坐标。不但区域可以用MBR近似表示,线也可以用MBR近似表示;进一步,不但单个空间对象可以用MBR近似表示,有时MBR还可以包含多个空间对象。最小限定矩形如下图所示。 * * * * 如果一个MBR还含有另外的MBR,则称其为目录MBR,否则就称为对象MBR。 如果两个空间对象相交,则相应的MBR也相交;如果两个MBR不相交,则对应的两个空间对象也不相交。这样,用MBR代替空间对象检查相交情况,就可以排除一批不相交的对象。 * * 当然,两个MBR相交,并不能得出对应的空间对象一定相交,此时还需要用精确方法对MBR相交的空间对象逐个进行检验,找出真正相交的情形。先用高效率的近似方法进行粗选,再用精确方法 进行精选,这是空间数据库中常用的搜索方式。 * * 2.空间索引的特点 (1)索引对象的无序性 (2)索引对象的不规则性 (3)索引对象的交叉性 * * 3.2空间对象的近似表示 1.点 点不但是基本的空间数据类型之一,而且多属性的检索也相当于多维空间点的搜索。有些规则图形也可以用高维空间的点表示。例如一维空间的线段[a,b]可以用二维空间的点(a,b)表示。二维空间的边平行于坐标轴的矩形{(x1,y1),(x2,y2)}可以用四维空间的点(x1,y1,x2,y2)表示,式中(x1,y1),(x2,y2)分别为矩形的左下角和右上角坐标。 * * 2.矩形或方盒 矩形和方盒不但是近似表示不规则空间对象的简单、有效手段,也是划分子空间的首选图形。 * * 3.栅格(grid) 用栅格表示空间对象,类似于用点阵、像素阵列表示二维图像,原则上可以推广到高维空间,但主要用于二维空间 * * * * * * 每个区域都可以近似表示为二进制串的集合。这种二进制串的集合称为该区域的Z元素(Z-element)。要检查两个区域是否相交或包含,可以按序比较两个区域的Z元素。比较时,如果一个二进制串是另一个二进制串的前缀,则后者所代表的区域必然包含于前者所代表的区域中,例如100101一定包含在1001中。 * * 用Z次序的栅格表示区域,可以把本是二维的空间对象,用一维的有序二进制串序列表示。因此,空间对象所占的区域,可以用二进制串作为索引键,组成一个B树。下面是A,B区域的Z元素,经扫描比较,可以找出它们的重叠部分。 * * 重叠部分:(A1,B1), (A1,B2)(A1,B3),(B1,A2),(B1,A3),……。 在上面的重叠栏中,二元组的第一项覆盖第二项。 * * ●空间数据模型 ●空间索引 ●空间数据库管理系统 1 空间数据库中涉及到的知识
文档评论(0)