空间数据库课件:SDB(第六章).pptx
- 【下载声明】
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
展开阅读全文