书签 分享 收藏 举报 版权申诉 / 44
上传文档赚钱

类型空间数据库课件:SDB(第六章).pptx

  • 上传人(卖家):罗嗣辉
  • 文档编号:2046089
  • 上传时间:2022-01-21
  • 格式:PPTX
  • 页数:44
  • 大小:528.33KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《空间数据库课件:SDB(第六章).pptx》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    空间 数据库 课件 SDB 第六
    资源描述:

    1、第六章第六章 Oracle Spatial的空间的空间索引和操作符索引和操作符基本要求:基本要求: 1、如何利用已有空间信息进行邻近分析; 2、掌握Oracle空间技术的三个基本构件: a.空间操作符; b.空间索引; c.几何处理函数(第七章介绍)。 注意注意:要运行运行本章的例子,必须导入以下数据集。 app_with_loc.dmp包含三个“应用”表(branches、customers和competitors),且每个表都有一个SDO_GEOMETRY类型的附加列location来存储相应实体的位置。 注意注意:要运行运行本章的例子,必须导入以下数据集。 map_large.dmp包含

    2、表:US_STATES、US_COUNTIES、US_CITIES、US_INTERSTATES、US_PARKS、US_RIVERS、WORLD_CONTINENTS和WORLD_COUNTRIES这个文件包含了美国的州和县的边界,以及主要城市、国家公园、河流和洲际公路的位置。它也包含了世界大陆和国家的边界。除边界被存储为SDO_GEOMETRY列外,有些表还包含人口统计学信息,例如,人口密度或人口区域。 注意注意:要运行运行本章的例子,必须导入以下数据集。 map_large.dmp包含表:building_footprints、city_buildings和trip_route这个文件包

    3、含了一些假想建筑的三维结构以及它们的二维脚点(footprint)。6.1 空间索引空间索引 如何得到一个分店周围0.5英里范围内的所有客户的数量?出现错误原因:在使用空间操作符之前,必须要在customers 表的location列上创建空间索引。和B-tree索引一样,空间索引也是用SQL语句创建的。如下,可以在customers 表的location列上创建空间索引。 如果没有为空间层(对应于)插入适当的元数据,则上述创建索引会执行失败。提示如下:6.1.1 建立索引之前为空间层插入元数据建立索引之前为空间层插入元数据空间层(表示为)的空间元数据是插入在USER_SDO_GEOM_MET

    4、ADATA视图中的,如下,列出了该视图的所有域。上述视图的所有域应被正确赋值,如下,对应于customers表的 location列的空间层插入元数据。标识空间层的两个域table_name和column_name,分别被设为customers和location;srid域被设为8307以表示大地坐标系;diminfo域为每个维定义了边界和容差。6.1.2 创建空间索引创建空间索引完成元数据的插入后,就可以创建空间索引了。可是如果你以前创建索引时失败了,首先必须删除失败的索引。删除以前的空间索引后,就可以创建新的索引了。6.1.3 空间索引概念空间索引概念通过查询USER_SDO_INDEXE

    5、_METADATA视图的SDO_INDEXE_TABLE列,可以得到所有的空间索引表。6.2 空间索引参数空间索引参数对B-tree索引,你可以指定在哪儿放置索引数据,对与空间关联的空间索引表,同样可以。如下,是创建一个空间索引的语法,包括PARAMETERS字句。这里的parameter_string是一个列表,其中的每个元素是一个parameter_name=value对。下面将介绍在实际应用中常用的几个重要参数: (1)TABLESPACE参数 (2)WORK_TABLESPACE参数 (3)LAYER_GTYPE参数 (4)SDO_INDX_DIMS参数 (5)SDO_DML_BATC

    6、H_SIZE参数 (6)SDO_LVEL参数(1)TABLESPACE参数参数通过这个参数,可以指定哪个空间来存储空间索引表,例如TABLESPACE=TBS_3会将空间索引表存储在表空间TBS_3中。(2)WORK_TABLESPACE参数参数在索引的创建过程中,R_tree索引会在整个数据集上执行排序操作,因此会产生一些工作表。使用WORK_TABLESPACE参数来为这些工作表指定一个单独的表空间。如下,创建一个WORK_TABLESPACE为TAB_3的索引:(3)LAYER_GTYPE参数参数通过这个参数,可以指定customers表的location列的几何数据为特定类型几何体。有

    7、助于完整性检查,有时还可加快查询操作符的执行速度。例如,通过指定LAYER_POINT来表示customers表只含有点型数据。(4) SDO_INDX_DIMS参数参数通过该参数指定spatial_index的维数,默认值为2。R-tree也可以对三维或四维的几何体建立索引。如下,创建一个指定维数的R-tree索引:(5) SDO_DML_BATCH_SIZE参数参数这个参数用于指定一个事务中批量插入、删除、更新时的批量大小。如果没有被明确的指定,该参数被内部设为1000。如下,创建一个带有SDO_DML_BATCH_SIZE参数的索引:(6) SDO_LVEL参数参数除了R_tree外,还

    8、可以通过在PARAMETERS子句中指定SDO_LEVEL参数来创建一个四分树索引。如下,创建一个四分树类型的索引:6.2.1 USER_SDO_INDEX_METADA视图视图上述讨论的在CREATE INDEX语句中是用的参数都存储在USER_SDO_INDEX_METADA视图中。如下,创建一个空间索引后,就可以检查该索引的SDO_DML_BATCH_SIZE值:6.2.2 空间索引大小需求空间索引大小需求对于一张表中N行数据的一个集合,R-tree空间索引大致需要100*3*N字节作为空间索引表的存储空间。在创建索引过程中, R-tree空间索引还需要额外200*3*N到300*3*N

    9、字节作为临时工作表的存储空间。如下,可以用实用函数来粗略估计一个R-tree空间索引表的大小。第一个参数指定模式名称;第二个参数指定表名称;第三个参数指定要创建的空间索引的列名称。6.3 空间操作符空间操作符Oracle Spatial支持很多不同的空间操作符来执行邻近分析。和比较操作符和=一样,空间操作符也可用于常规SQL语句的WHERE字句。6.3.1 空间操作符的语法空间操作符的语法空间操作符的通用语法如下:在上面程序清单中,如下叙述为真:(1)table_geometry是操作符作用的表的SDO_GEOMETRY列。(2)query_geometry是查询位置。(3)parameter

    10、_string指定某空间操作符特有的参数。(4)tag指定了一个在某些空间操作符中专用的数字。6.3.2 空间操作符的语义空间操作符的语义如下,为第一个在WHERE子句中使用SDO_GEOMETRY_DISTANCE操作符的空间查询。第一个变量指定了在customers表中被索引的列名,第二个变量指定一个查询位置,第三个变量指定操作符特定的参数。返回在查询位置0.5英里范围内的所有客户。6.3.3 空间操作符的计算空间操作符的计算空间操作符的计算是通过一个涉及空间索引的两部过滤机制来完成的:一个空间操作符首先是通过空间索引来计算的,这被称为初级过滤初级过滤。然后使用geometry engin

    11、e处理这个候选行集,从而返回符合指定操作符的正确行集,这就是二级过滤二级过滤。如下图为使用一个关联的空间索引来进行空间操作符计算。6.4 深入理解空间操作符深入理解空间操作符Oracle Spatial提供不同的操作符来执行下述的邻近分析。1、找出在查询位置指定距离内的所有数据:该操作符称为SDO_WITHIN_DISTANCE或简称为within distance操作符;2、找出距离查询位置最近的邻居:该操作符被称为SDO_NN或简称为nearestneighbor操作符;3、找出与查询位置相交或关联的所有邻居:可达到这个目标的主要操作符被称为SDO_RELATE。如果只使用索引的近似值,那

    12、么可以使用一个简单的变种(操作符),称为SDO_FILTER。6.4.1 SDO_WITHIN_DISTANCE操作符操作符给定一个位置集,SDO_WITHIN_DISTANCE操作符将从中返回在一个查询位置指定距离范围内的所有位置。SDO_WITHIN_DISTANCE操作符的语法描述如下:其中下述所列为真:1、table_geom为被检索表的SDO_GEOMETRY列。2、query_geom为指定查询位置的SDO_GEOMETRY。3、parameter_string指定参数distance及可选参数unit(对应于指定的距离)。如下,为SDO_WITHIN_DISTANCE操作符的用法

    13、,它找出了指定的竞争对手商店(store id=1)周围0.25英里范围内的所有客户:执行结果为:6.4.2 SDO_NN操作符操作符SDO_WITHIN_DISTANCE操作符不适合获取指定数量的邻居,不管他们离查询位置多远,而SDO_NN可以。给定一个位置集, SDO_NN操作符将按其与查询位置的距离顺序来返回数据。其语法描述如下:table_geometry指定SDO_GEOMETRY列;query_geometry为查询位置指定SDO_GEOMETRY;parameter_string是一个可选参数,它指定两个调优参数SDO_BATCH_SIZE和SDO_NUM_RES之中的一个;ta

    14、g是另一个可选参数,它允许SDO_NN操作符绑定到一个辅助距离操作符。如下,获取离指定竞争对手最近的5个客户:执行结果为:计算SDO_NN操作符时必须使用空间索引;如果在同一个表上有一个非空间谓词(如customer_grade=GOLD),且在它相关的列( customer_grade )上存在一个索引,那么在执行过程中该索引不能被使用。从前面例子中可看出SDO_NN操作符可以和其他谓词一起用在同一个SQL语句中。但存在下列限制:SDO_BATCH_SIZE性能调优参数:可以设置查询的批量大小;SDO_NUM_RES性能调优参数:可以约束返回的邻近;SDO_NN_DISTANCE辅助操作符:

    15、可以获取邻居的距离。SDO_NN操作符还可以使用性能调优参数和辅助操作符来加快查询速度。 6.4.3用于空间相互作用(关系)的操作符用于空间相互作用(关系)的操作符SDO_FILTER操作符:可以识别出其最小外包矩形与查询几何体的最小外包矩形有相互作用的所有几何体,主要用于空间索引,不调用Geometry Engine函数;SDO_RELATE操作符:可识别出以某种指定的方式与查询几何体相互作用的所有几何体。(指定的相互作用方式可以是相交、与边界接触、完全包含在内等);一些SDO_RELATE操作符的简单变种操作符:可以使用简单变种操作符替代使用适当参数来识别相应特定关系的SDO_RELATE

    16、操作符。 SDO_FILTER操作符的语法如下: 其中: 1、 table_geometry指定SDO_GEOMETRY列; 2、 query_geometry为查询位置指定SDO_GEOMETRY; 3、 parameter_string总被设为querytype=window,这个参数是可 选的。1、 SDO_FILTER操作符操作符 如下,为一个SDO_FILTER操作符的具体用法,它找出在一个竞争对手影响区域内的所有客户: SDO_RELATE操作符的语法如下: 其中: 1、 table_geometry指定SDO_GEOMETRY列; 2、 query_geometry为查询位置指定

    17、SDO_GEOMETRY; 3、 parameter_string被设为querytype=window MASK=min_resolution=max_resolution=,这个参数是可选的。2、 SDO_RELATE操作符操作符 在了解SDO_RELATE的各种相互关系之前,先了解几何体的组成:边界:几何体的外围边界;内部:任何在几何体边界之内的部分被认为是几何体的内部;外部:任何几何体之外的部分。如图,两个几何体Q、A分别对应于SDO_RELATE语法中的query_geometry和table_geometry:(1)SDO_RELATE中的相互关系中的相互关系 如下,为一个SDO_

    18、RELATE操作符的具体用法,通过使用ANYINTERACT,它找出在竞争对手0.25英里缓冲区域所有的客户:多掩码之间用一个加号(+)连接起来。如下,查看多少个销售区域与查询区域(id=51)重叠:(2)SDO_RELATE中的多掩码中的多掩码在SDO_RELATE操作符的parameter_string中指定SDO_LEVEL有可能提高操作符的响应时间,(一般查询中SDO_LEVEL 的值被隐式地设为4)如下,为使用性能调优参数的例子 :(3)SDO_RELATE性能调优参数性能调优参数1/20/20221/20/20226.5 空间索引的高级特性空间索引的高级特性空间索引的高级特性,他们对大型空间数据存储非常有用。基于函数的空间索引;本地分区空间索引;并行索引;在线索引重建;三维索引。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:空间数据库课件:SDB(第六章).pptx
    链接地址:https://www.163wenku.com/p-2046089.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库