空间数据库实验指导书实验三郭明_第1页
空间数据库实验指导书实验三郭明_第2页
空间数据库实验指导书实验三郭明_第3页
空间数据库实验指导书实验三郭明_第4页
空间数据库实验指导书实验三郭明_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、空间数据库课程实验指班级 学号 姓名单位:北京建筑大学测绘与城市空间信息学院2015年9月评分表实验一实验二实验三实验四总评实验指导书目录空间数据库实验预备知识一Oracle Sp atial简介、元数据表说明二、空间字段解析三、空间索引技术实验一 认识 Oracle Spatial 的主要数据库对象、实验目的二、实验环境三、实验步骤及分析( 2 课时)10实验二 空间查询15实验目的15二、实验环境15三、实验步骤及内容( 2 课时)15Step1. 创建一张表,其中 shape 用来存放空间数据15Step2. 在 user_sdo_geom_metadata 表中插入新记录,用于描述空间

2、字段15Step3. 创建空间索引16Step4. 插入空间数据16Step5. 查询17实验三 简单的空间数据库示例21、实验目的21二、实验环境21三、实验内容和要求( 2 课时)21实验四 空间数据库设计与开发示例错误 !未定义书签。一、实验目的错误 !未定义书签。二、实验环境错误 !未定义书签。三、实验内容和要求( 4 课时)错误 !未定义书签。空间数据库实验预备知识Oracle Spatial简介Oracle Spatial主要通过元数据表、空间数据字段(即sdo_Geometry 字段)和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分 析的程序包,让用户进行更深层次

3、的 GIS应用开发。Oracle Spatial使用空间 字段sdo_Geometry存储空间数据,用元数据表来管理具有sdo_Geometry字段的空间数据表,并采用 R树索引和四叉树索引技术来提高空间查询和空间 分析的速度。、元数据表说明字段名Sdo DiinnameVarcliar2Cd4)是空阊维名称(Longl100$或20Q31003或20031003或川031W3 或 2MB用于为伽ck即泅不支持的几何类型建模具有n个点的点集由直由融 的诜嘶蹄TMS由賦W意一点 以廉点鹹槨som点不讓鲫融由直龈臟觴边形,起点与终点必须相同曲线段组成維边形,起点与终点必須相同.FC 驗由翻壯任意一

4、点癖磁相綱段洲 接点儘Sfi碱矩做由左下删右上询两点确定nlW05 或 2005nl由直龈和弧昭连成的复犠11表示姐成复合塢 的相邻子元素的个教,子元素的!SDO-ETYPE必须为 1. 1个子元素的SJgi点是下个子元黒的第1个 点,并盘该点不能重氨由直线段和弧龈连成維合魏形小表示复 合多边形的相邻子元素的个数,子元素的 SDO.ETTPE必须为芻一个子元素的量右一点是下 一个子元蚕的第一个点,并且该点不能重.多边形 的起点和终点必须相孔否为复杂元素决定。如果 SDO_ETYPE是复杂元素(4, 1005和2005 ),则 SDO_INTERPRETATION 表示它后面有几个子3元组属于这

5、个复杂元素。如果 SDO_ETYPE 是简单元素(1,2, 1003 和 2003 ),贝U SDO_INTERPRETATION 表示该元素的坐标值在SDO_ORDINATES 中是如何排列的。需要注意的是,对于复杂元素来说,组成它的子元素是连续的,一个子元素 的最后一个点是下一个子元素的起点。最后一个子元素的最后一个坐标要么与下 一个元素的SDO_STARTING_OFFSET 值减1所对应的坐标相同,要么是整 个SDO_ORDINATES 数组的最后一个坐标。 sdo_OrdinatesSDO_ORDINATES 是一个可变长度的数组,用于存储几何对象的实际坐 标,是一个最大长度为 10

6、48576 ,类型为 Number 的数组。如果几何对顺序排列,SDO_ORDINATES 的坐标以 x1, y1, z1, x2, y2,SDO_ORDINATES 必须与 sdo_Elem_Info 数组配合使用,才具有实际 意义。SDO_ORDINATES 的坐标存储方式由几何对象的维数决定, 象为二维,则 SDO_ORDINATES 的坐标以 x1, y1, x2, y2, 如果几何对象为三维,则 z2,顺序排列。三、空间索引技术Oracle Spatial 提供 R 树索引和四叉树索引两种索引机制来提高空间查询 和空间分析的速度。 用户需要根据不同空间数据类型创建不同的索引, 当空间

7、数 据类型比较复杂时,如果选择索引类型不当,将使 Oracle Spatial 创建索引的 过程变得非常慢。 fit arlrIn-diaRfT riltpl iN F-t实验认识Oracle Spatial的主要数据库对象、实验目的.5.6.了解Oracle1Og数据库中MDSYS方案的空间元数据表的结构及用途; 了解对象类型MDSYS.SDO_DIM_ARRAY以及和空间元数据表的关系; 掌握通过元数据视图USER_SDO_GEOM_METADATA查看空间元数据表的内容; 了解对象类型 了解数组类型 了解数组类型MDSYS.SDO_GEOMETRY 的结构及用途; MDSY

8、S.SDO_DIM_ELEMENT 结构及用途; MDSYS.SDO_ORDINATE_ARRAY 结构及用途;、实验环境在 Oracle 的 Enterprise Manager中进行实验,打开 Enterprise Manager的方法: 登陆页面https:/WJ-T:1158/em出现如下登录界面:pl iN pr厂 I牛_7 L 肯-: : 痂和 9吕 B ifTMAE) lAdl 帮比 QP岛T C 亭T師叱*蛋哇S *工皿*DRACLjE f MiMiirbMi RLiw幵 Ifl n .:rniniii?.41X1)D 廿*填入正确的用户名:system和口令:SYS123ab

9、c如下图: P !IAfc-ur.ii -afiyiM:,.粵hU*-01m 7rmMPSfo*b-JTP1 T,Timjc Tim- hj:Flirfi- XHUfy p 泌HnHAaocnanAltK优gw邑* sflL曲阿*li鬲 *迹删:韦4 -牺L ICILi=:t时ft*阪乃砒ri悅 lont -J3-|i-i J4Z? if 週兰)B(s供韬 g片常D 秒I F 三、实验步骤及分析( 2 课时)一膛侑亶Jxnttt * _ _ _t*A 11* | lfi7逛甲-TSTFSEF WS4j:;oiJ=nCM屮L诰Kft空.vxnd施坤耳 忻吗ft忌3W比帕干可甲 35 ADDVis

10、f由书机errmftt50也2QaoT预*並 ffl- Q m讯LRft匝町冋 :&iStt荃绘亨冋ftlTaie-K KrB ft时宦El去sm 能1沖tips 左冋宦域 2JH旳1吃0比血S(ai珂霜性上 j:at?可 IHt* BiTYhQUlilsTl注意改写*.ora文件中的内容,复制一段代码后将主机名改写为wJ-T登陆,填入正确的用户名:system和口令:SYS123abc主机字符串:orci,如下*BHWCDl.*i - WfiMiwM 晒*d+ OrLa WLmuP匚両冈ML-Flire:iv,z. 1*8?,Db-acl. AU rights.申J;* Xdcle tJld

11、iidsc 1flq EntBr|trl( Lilltioi Heltdse-rntAictlHiJll.h I hr FMt I LlOiiiii , ni riiJ bjh 4 HIAln| spl LhiS筑人止忧(1勺M户呂=iftm 口亍:Bk.曲勢=Mcl.如h圈:幷运行如下SQL话B 建立一i咱含IXDEYS SDO.GEOMETEyfc性茁黑 CFJEATI TAELE SFAITALTESr,自己名字编耳卩TTiqrx H rD n TJ r CEi PP Tr t. IJV TZ TZV .1d A JIi-月甘I 65.*連強- 匚:*sFlqrJ: tr :刚-中黑|中

12、3)3FF图:!n.P(:QLI* ndV I *l n 叵 T -1= ii - 11. j| Vpji.+ A 诃1 可s1 *为丰於崔州户昱孚耳仝 1间兀数Jife-幷说明耳羽环意丈* *P 中S 件 33)01WE 1-CREATE TABLESPATIALTEST _自己名字缩写(jnpKiur赫琦应方幸申列魏据?5鈿曲IALTE釘,击査韦衷塔胡,可臥石到LoEaTION 酌翅詈奚刮thCTY岂SrO.GECMETRlf,所口一 LOCmOA】;=眼在!&我 中塢可一*ffi芒记录”语句,建立一个包含 MDSYS . SDO_GEOMETRY 属性的IDNAMEVARCHAR2(10

13、0),ADDRESSVARCHAR2(200),TELE PH ONEVARCHAR2(50),LOCMDSYS . SDO_GEOMETRY);VARCHAR2(20) PRIMARY KEY ,在对应方案中找到数据表 SPATIALTEST,双击查看表结构,可以看到LOCATION 的数据类型是MDSYS . SDO_GEOMETRY,所以,LOCATION需要在元数据表 中填写一条相关记录。(5) 根据用户表填写空间元数据,并说明其实际意义。INSERT INTO USER_SDO_GEOM_METADATAVALUES(SPATIALTEST _自己名字缩写LOC,MDSYS.SDO_

14、DIM_ARRAY(MDSYS.SDO_DIM_ELEMENTLongitude ,-180,180,10),MDSYS.SDO_DIM_ELEMENTLatitude -90,90,10),8307 );( 7)查看对象类型 性代表的实际意义。(6) 利用 USER_SDO_GEOM_METADATA 视图查看元数据表并记录内容: SELECT * FROM USER_SDO_GEOM_METADATAMDSYS.SDO_GEOMETRY 的结构并记录下来,说明每个属MDSYS.SDO_ELEM_INFO_ARRAY 的结构并记录下来。它( 8)查看数组类型和 MDSYS.SDO_GEOME

15、TRY 对象类型有何关系?(9)查看数组类型 MDSYS.SDO_ORDINATE_ARRAY 的结构并记录下来。它 和MDSYS.SDO_ELEM_INFO_ARRAY数组类型有何关系?(10)【加分】查看数据库实例Orel管理器中其他管理选项、数据库对象(表的 建立)、程序包、用户和权限等项目的学习心得:完成时间实验过程、结果及分析得分教师签名2080实验空间查询、 实验目的1. 掌握空间数据表的建立的过程;2. 掌握空间数据的输入方法;3. 掌握空间索引的建立方法;3.掌握 filter 和 related 两个查询过程。二、实验环境 实验中的 SQL 语句均在 SQL-PLUS 中执行

16、。三、实验步骤及内容( 2 课时)Step1. 创建一张表,其中shape 用来存放空间数据CREATE TABLE mylake ( feature_id NUMBER PRIMARY KEY , name VARCHAR2(32), shape MDSYS.SDO_GEOMETRY);Step2. 在 user_sdo_geom_metadata 表中插入新记录,用于 描述空间字段INSERT INTO user_sdo_geom_metadata AVLUES (mylake,/-表名shape, /-字段名MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMEN

17、T(X, 0, 100, 0.05), /-X 维最小,最大值 和容忍度。MDSYS.SDO_DIM_ELEMENT(Y, 0, 100, 0.05) /-Y 维最小,最大值 和容忍度),NULL /- 坐标系,缺省为笛卡尔坐标系);Step3. 创建空间索引CREATE INDEX mylake_idx ON mylake(shape)INDEXTYPE IS MDSYS.SPATIAL_INDEX打开创建的空间索引mylake_idx,记录索引的一般信息。Step4. 插入空间数据Oracle Spatial 用 MDSYS.SDO_GEOME来存储空间数据, / 插入包含一个岛屿的湖泊I

18、NSERT INTO mylake VALUES(10,Lake Calhoun,MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1, 19,2003,1),MDSYS.SDO_ORDINATE_ARRAY(01,00,0, 10,10, 0,10, 0,0,4,4, 6,4, 6,6, 4,6, 4,4);/ 插入两艘小船INSERT INTO mylake VALUES(11,The Windswept,MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_IN

19、FO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(2,2, 3,2, 3,2, 2,3, 2,2);INSERT INTO mylake VALUES(12,Blue Crest,MDSYS.SDO_GEOMETRY(2003,NULL,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(7,7, 8,7, 8,7, 7,8, 7,7);运行SELECT * FROM MYLA,并记录运行结果,并说明每条记录代表什么。Step5. 查询Oracle Spatial 查询数据包括

20、二个处理过程:只通过索引查询候选项。通过函数 SDO_FILTE实现:SDO_FILTER(geometry1MDSYS.SDO_GEOMETRgYe,ometry2MDSYS.SDO_GEOMETRY, params VARCHAR2)geometry1 : 必须是被索引的几何数据geometry2 :不一定是表中的空间字段,也不要求被索引 params: Filter 类型querytype=WINDOW geometry2 不要求来自表 querytype=JOIN : geometry2 必须来自表运行下列SQL语句,并记录结果,并说明这个结果这代表什么意义?SELECT n ame

21、boat_ nameFROM mylake tWHERE feature_id = 11AND SDO_FILTER(t.sha pe, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem _in fo_array(1,1003,1),mdsys.sdo_ordi nate_array(2,2, 5,2, 5,5, 2,5, 2,2),queryty perWINDOW) = TRUE;SDO_RELAT实现:再检查每个候选项是否和条件精确匹配。通过函数geometry2do notSDO_RELATE(geometry1MDSYS.SDO_GE

22、OMETRY,MDSYS.SDO_GEOMETRY, p arams VARCHAR2)params: masktype 类型DISJOINT the boun daries and in teriors do not in tersectTOUCH the boun daries in tersect but the in teriorsin tersectOVERLA PBDYDISJOIN the in teriorof one object in tersectstheboundary and interior of the other object, but the two boun

23、dariesdo notin tersect.This relati on shi poccurs, for exa mple, whe n a line orig in atesoutside a po lyg on and ends in side that po lyg on.OVERLA PBDYINTERSECT the boun daries and in teriors of the twoobjects in tersectEQUAL the two objects have the same boun dary and in teriorCONTAINS the interi

24、orand boundary of one object is completelycontained in the in terior of the other objectCOVERS the in terior of one object is comp letely contained inthe in terior of the other object and their boun daries in tersectINSIDE the opposite of CONTAINSA INSIDE B implies B CONTAINSA.COVEREDBY the opp osit

25、e of COVERS. A COVEREDBY B imp lies BCOVERS A.ON the interiorand boundary of one object is on the boundaryof the other object (and the second object covers the first object). This relati onship occurs, for exa mp le, whe n a line is on the boun dary of a po lyg on.ANYINTERACT the objects are non-dis

26、joi nt.运行下列SQL语句,并记录结果,并说明这个结果这代表什么意义?/选择在定义矩形内的所有小船SELECT n ame boat_ nameFROM mylake tWHERE feature id = 12AND SDO_FILTER(t.sha pe, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem _in fo_array(1,1003,1),mdsys.sdo_ordi nate_array(2,2, 5,2, 5,5, 2,5, 2,2),queryty perWINDOW) = TRUEAND SDO_RELATE(t.

27、sha pe, mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem _in fo_array(1,1003,1),mdsys.sdo_ordi nate_array(2,2, 5,2, 5,5, 2,5, 2,2), mask=INSIDE queryt yp e=WINDOW) = TRUE运行结果和分析:/ masktype可联合使用 SELECT n ame boat_ nameFROM mylake tWHERE feature id = 11AND SDO_FILTER(t.sha pe, mdsys.sdo_geometry(2003,

28、NULL,NULL, mdsys.sdo_elem _in fo_array(1,1003,1),mdsys.sdo_ordi nate_array(2,2, 5,2, 5,5, 2,5, 2,2),queryty perWINDOW) = TRUEAND SDO_RELATE(t.sha pe, mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem _in fo_array(1,1003,1),mdsys.sdo_ordi nate_array(1,1,5,1,5,5, 1,5, 1,1), mask=INSIDE+TOUCH queryt yp

29、e=WINDOW) = TRUE运行结果和分析:完成时间实验过程、结果及分析得分教师签名2080实验三 简单的空间数据库示例、实验目的通过一个简单的空间集合的示例,运用前面实验所学的方法,建立空间数据 表、元数据表、建立空间索引、输入空间数据,实现一些简单的空间查询和分析。、实验环境实验中的SQL语句均在SQL-PLUS执行。三、实验内容和要求(3课时)一个商场有4个区域cola_a,cola_b,cola_c,cola_d,可以在一个20X20的直角坐标中表示为不同的多边形,如下图:1fi5cola, b01 S 3 4 0 e 7 6 9 10 11 12 13 14针对上图,自行设计并完成以下实验内容:1.创建一个表(COLA_MARKET自己名字的缩写)来保存空间数据;BTdTX-USTTm1皿.细4电罷ft臨*泗.匕汕心!=5FLjTC3i_Il冠h皿fe. iailRx R亦-二丄JI冋皑 IE . iSiK*I:V? Iw*m?FWilffTTViz - rr-i“L 亠 ft * OTP 1rwiflSRC*tfufl5i*#nitr *回门卢彳阳FL 警豪直 陰d応砥:甩宅1诱ft荻 iriL.H/1I,H 3 口引r; FJ丽门f3 O?片出ft牛吊齡WHr 二Lb;以粘JEFVCbM. 2卫!碎0.3atFrr S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论