欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    空间数据库实习三个实验.docx

    • 资源ID:2777674       资源大小:1.26MB        全文页数:35页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    空间数据库实习三个实验.docx

    1、空间数据库实习三个实验空间数据库实验指导书评分表实验一实验二实验三实验四总评空间数据库实验预备知识Oracle Spatial简介Oracle Spatial主要通过元数据表、空间数据字段(即sdo_Geometry字段)和空间索引来管理空间数据,并在此基础上提供一系列空间查询和空间分析的程序包,让用户进行更深层次的GIS应用开发。Oracle Spatial使用空间字段sdo_Geometry存储空间数据,用元数据表来管理具有sdo_Geometry字段的空间数据表,并采用R树索引和四叉树索引技术来提高空间查询和空间分析的速度。一、元数据表说明Oracle Spatial的元数据表存储了有空

    2、间数据的数据表名称、空间字段名称、空间数据的坐标范围、坐标系以及坐标维数说明等信息。用户必须通过元数据表才能知道Oracle数据库中是否有Oracle Spatial的空间数据信息。通过元数据视图(USER_SDO_GEOM_METADATA)访问元数据表。元数据视图的基本定义为:其中,TABLE_NAME为含有空间数据字段的表名,COLUMN_NAME为空间数据表中的空间字段名称,DIMINFO是一个按照空间维顺序排列的SDO_DIM_ARRAY对象的动态数组,SRID则用于标识与几何对象相关的空间坐标参考系。SDO_DIM_ELEMENT对象的定义如下所示:Create Type SDO_

    3、DIM_ARRAY as OBJECT (SDO_DIMNAME VARCHAR2(64),SDO_LB NUMBER,SDO_UB NUMBER,SDO_TOLERANCE NUMBER);其中,SDO_DIMNAME是空间维名称,SDO_LB为该空间维的左下角坐标,SDO_UB为该空间维的右上角坐标,SDO_TOLERANCE为几何对象的表示精度。 二、空间字段解析Oracle Spatial的空间数据都存储在空间字段sdo_Geometry中,理解sdo_Geometry是编写Oracle Spatial程序的关键。sdo_Geometry是按照Open GIS规范定义的一个对象,其原始

    4、的创建方式如下所示。 sdo_Gtype是一个NUMBER型的数值,用来定义存储几何对象的类型。sdo_Gtype是一个4个数字的整数,其格式为dltt,其中d表示几何对象的维数;l表示三维线性参考系统中的线性参考值,当d为3维或者4维时需要设置该值,一般情况下为空;tt为几何对象的类型,Oracle Spatial定义了7种类型的几何类型,目前,tt使用了00到07,其中08到99是Oracle Spatial保留的数字,以备将来几何对象扩展所用。 sdo_Sridsdo_Srid也是一个NUMBER型的数值,它用于标识与几何对象相关的空间坐标系。如果sdo_Srid为空(null),则表示

    5、没有坐标系与该几何对象相关;如果该值不为空,则该值必须为MDSYS.CS_SRS表中SRID字段的一个值,在创建含有几何对象的表时,这个值必须加入到描述空间数据表元数据的USER_SDO_GEOM_METADATA视图的SRID字段中。对于我们通常使用国际标准的Longitude/Latitude(8307),Oracle Spatial规定,一个几何字段中的所有几何对象都必须为相同的sdo_Srid值。 sdo_Pointsdo_Point是一个包含三维坐标X,Y,Z数值信息的对象,用于表示几何类型为点的几何对象。如果sdo_Elem_Info和SDO_ORDINATES数组都为空,则sdo

    6、_Point中的X,Y,Z为点对象的坐标值,否则,sdo_Point的值将被忽略(用NULL表示)。Oracle Spatial强烈要求用sdo_Point存储空间实体为点类型空间数据,这样可以极大的优化Oracle Spatial的存储性能和查询效率。 sdo_Elem_Infosdo_Elem_Info是一个可变长度的数组,每3个数作为一个元素单位,用于表示坐标是如何存储在SDO_ORDINATES数组中的。本文把组成一个元素的3个数称为3元组。一个3元组包含以下3部分的内容: SDO_STARTING_OFFSETSDO_STARTING_OFFSET 表明每个几何元素的第一个坐标在SD

    7、O_ORDINATES数组中的存储位置。它的值从1开始,逐渐增加。 SDO_ETYPE SDO_ETYPE 用于表示几何对象中每个组成元素的几何类型。当它的值为1, 2, 1003和2003时,表明这个几何元素为简单元素。如果SDO_ETYPE为1003,表明该多边形为外环(第一个数为1表示外环),坐标值以逆时针存储;如果SDO_ETYPE为2003,表明该多边形为内环(第一个数为2表示内环),坐标值以顺时针存储。当SDO_ETYPE为4, 1005和2005时,表明这个几何元素为复杂元素。它至少包含一个3元组用以说明该复杂元素具有多少个几何简单元素。同样,1005表示多边形为外环,坐标值以逆

    8、时针存储;2005表示多边形为内环,坐标值以顺时针存储。 SDO_INTERPRETATIONSDO_INTERPRETATION具有两层含义,具体的作用由SDO_ETYPE是否为复杂元素决定。如果SDO_ETYPE是复杂元素(4, 1005和2005),则SDO_INTERPRETATION表示它后面有几个子3元组属于这个复杂元素。如果SDO_ETYPE是简单元素(1, 2, 1003和2003),则SDO_INTERPRETATION表示该元素的坐标值在SDO_ORDINATES中是如何排列的。需要注意的是,对于复杂元素来说,组成它的子元素是连续的,一个子元素的最后一个点是下一个子元素的起

    9、点。最后一个子元素的最后一个坐标要么与下一个元素的SDO_STARTING_OFFSET值减1所对应的坐标相同,要么是整个SDO_ORDINATES数组的最后一个坐标。 sdo_OrdinatesSDO_ORDINATES是一个可变长度的数组,用于存储几何对象的实际坐标,是一个最大长度为1048576,类型为Number的数组。SDO_ORDINATES必须与sdo_Elem_Info数组配合使用,才具有实际意义。SDO_ORDINATES的坐标存储方式由几何对象的维数决定,如果几何对象为二维,则SDO_ORDINATES的坐标以 x1, y1, x2, y2, 顺序排列,如果几何对象为三维,

    10、则SDO_ORDINATES的坐标以x1, y1, z1, x2, y2, z2, 的顺序排列。 三、空间索引技术Oracle Spatial提供R树索引和四叉树索引两种索引机制来提高空间查询和空间分析的速度。用户需要根据不同空间数据类型创建不同的索引,当空间数据类型比较复杂时,如果选择索引类型不当,将使Oracle Spatial创建索引的过程变得非常慢。实验一 认识Oracle Spatial的主要数据库对象一、实验目的1. 了解Oracle10g数据库中MDSYS方案的空间元数据表的结构及用途;2. 了解对象类型MDSYS.SDO_DIM_ARRAY以及和空间元数据表的关系;3. 掌握通

    11、过元数据视图USER_SDO_GEOM_METADATA查看空间元数据表的内容;4. 了解对象类型MDSYS.SDO_GEOMETRY的结构及用途;5. 了解数组类型MDSYS.SDO_DIM_ELEMENT结构及用途;6. 了解数组类型MDSYS.SDO_ORDINATE_ARRAY结构及用途;二、实验环境在Oracle的Enterprise Manager中进行实验,打开Enterprise Manager的方法:登陆页面http:/w8-01:1158/em/,出现如下登录界面:填入正确的用户名:system和口令:abc,如下图:点击下方“我同意”之后,连接主界面为下图所示:三、实验步

    12、骤及分析(2课时)1了解Oracle数据库中MDSYS方案的空间元数据。(1)打开MDSYS. SDO_GEOM_METADATA_TABLE空间元数据表,并记录表结构下来,同时给出每个属性代表的实际意义:SDO_OWNER 是数据库所有者SDO_TABLE_NAME 是为含有空间数据字段的表名SDO_COLUMN_NAME为空间数据表中的空间字段名称SDO_DIMINFO是一个按照空间维顺序排列的SDO_SRID则用于标识与几何对象相关的空间坐标参考系(2) MDSYS. SDO_GEOM_METADATA_TABLE空间元数据表中的SDO_DIMINFO属性的类型是SDO_DIM_ARRA

    13、Y,在用户类型.数组类型中查看SDO_DIM_ARRAY的一般信息,SDO_DIM_ARRAY这个数组的元素是什么类型?MDSYS.SDO_DIM_ELEMENT(3)查看用户类型SDO_DIM_ELEMENT的结构并记录下来并说明每个属性代表的实际意义。它和元数据表中的SDO_DIMINFO属性有何关系?SDO_DIMNAME是空间维名称,SDO_LB为该空间维的左下角坐标,SDO_UB为该空间维的右上角坐标,SDO_TOLERANCE为几何对象的表示精度。SDO_DIMINFO是一个按照空间维顺序排列的,而这些属性是定义空间维的,这些属性的存在才能够使DIMINFO排列。(4)打开SQL-

    14、Plus(以后步骤中的SQL都在此程序中执行),步骤为:打开开始-程序等路径,如下图:注意改写*.ora文件中的内容,复制一段代码后将主机名改写为w8-01登陆,填入正确的用户名:system和口令:abc,主机字符串:orcl,如下图:并运行如下SQL语句,建立一个包含MDSYS . SDO_GEOMETRY属性的表:CREATE TABLE SPATIALTEST_liufei(ID VARCHAR2(20) PRIMARY KEY,NAME VARCHAR2(100),ADDRESS VARCHAR2(200),TELEPHONE VARCHAR2(50),LOC MDSYS . SDO

    15、_GEOMETRY);在对应方案中找到数据表SPATIALTEST,双击查看表结构,可以看到LOCATION的数据类型是MDSYS . SDO_GEOMETRY,所以,LOCATION需要在元数据表中填写一条相关记录。(5)根据用户表填写空间元数据,并说明其实际意义。INSERT INTO USER_SDO_GEOM_METADATAVALUES(SPATIALTEST_liufei,LOC,MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT(Longitude,-180,180,10),MDSYS.SDO_DIM_ELEMENT(Latitude,-90,90

    16、,10),8307);定义了经度和纬度(6) 利用USER_SDO_GEOM_METADATA视图查看元数据表并记录内容:SELECT * FROM USER_SDO_GEOM_METADATA(7)查看对象类型MDSYS.SDO_GEOMETRY的结构并记录下来,说明每个属性代表的实际意义。(8)查看数组类型MDSYS.SDO_ELEM_INFO_ARRAY的结构并记录下来。它和MDSYS.SDO_GEOMETRY对象类型有何关系?MDSYS.SDO_ELEM_INFO_ARRAY是MDSYS.SDO_GEOMETRY中的一个属性与sdo_gtype、sdo_srid类型一样都为NUMBER

    17、(9)查看数组类型MDSYS.SDO_ORDINATE_ARRAY的结构并记录下来。它和MDSYS.SDO_ELEM_INFO_ARRAY数组类型有何关系?MDSYS.SDO_ORDINATE_ARRAY是MDSYS.SDO_GEOMETRY中的一个属性, 与sdo_gtype、sdo_srid类型一样都为NUMBER(10)【加分】查看数据库实例orcl管理器中其他管理选项、数据库对象(表的建立)、程序包、用户和权限等项目的学习心得:经过这次查询使我更加了解了数据库实例orcl管理器的应用,和其中数据的属性结构与相关联系。这次实习与上课所讲的有紧密的联系,将课堂学习溶于实践活动中使我对学习的

    18、内容更加深刻,在实验中也更加熟练的掌握了orcl的应用,真是一举两得。希望在以后的学习中继续理论与实践想结合,对数据库的了解更加深刻完成时间实验过程、结果及分析得分教师签名2080实验二 空间查询一、 实验目的1.掌握空间数据表的建立的过程;2.掌握空间数据的输入方法;3.掌握空间索引的建立方法;3.掌握filter和related两个查询过程。二、实验环境实验中的SQL语句均在SQL-PLUS中执行。三、实验步骤及内容(2课时)Step1. 创建一张表,其中shape用来存放空间数据 CREATE TABLE liufei (feature_id NUMBER PRIMARY KEY, na

    19、me VARCHAR2(32), shape MDSYS.SDO_GEOMETRY); Step2. 在user_sdo_geom_metadata 表中插入新记录,用于描述空间字段INSERT INTO user_sdo_geom_metadata VALUES (liufei, shape, MDSYS.SDO_DIM_ARRAY( MDSYS.SDO_DIM_ELEMENT(X, 0, 100, 0.05), MDSYS.SDO_DIM_ELEMENT(Y, 0, 100, 0.05) ), NULL ); Step3. 创建空间索引 CREATE INDEX liufei_idx ON

    20、 liufei(shape) INDEXTYPE IS MDSYS.SPATIAL_INDEX打开创建的空间索引mylake_idx,记录索引的一般信息。Step4. 插入空间数据Oracle Spatial用MDSYS.SDO_GEOMETRY来存储空间数据,/ 插入包含一个岛屿的湖泊INSERT INTO liufei 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(0

    21、,0, 10,0, 10,10, 0,10, 0,0, 4,4, 6,4, 6,6, 4,6, 4,4) );INSERT INTO liufei VALUES(11, The Windswept, MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), MDSYS.SDO_ORDINATE_ARRAY(2,2, 3,2, 3,2, 2,3, 2,2) );INSERT INTO liufei VALUES( 12, Blue Crest, MDSYS.SDO_GEOMETRY( 2003, NULL

    22、, 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 liufei,并记录运行结果,并说明每条记录代表什么。Step5. 查询Oracle Spatial查询数据包括二个处理过程:只通过索引查询候选项。通过函数SDO_FILTER实现:SDO_FILTER(geometry1 MDSYS.SDO_GEOMETRY,geometry2 MDSYS.SDO_GEOMETRY, params VARCHAR2)geometry1

    23、: 必须是被索引的几何数据geometry2:不一定是表中的空间字段,也不要求被索引params:Filter类型 querytype=WINDOW:geometry2不要求来自表 querytype=JOIN:geometry2必须来自表运行下列SQL语句,并记录结果,并说明这个结果这代表什么意义? SELECT name boat_nameFROM liufei tWHERE feature_id = 11AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1)

    24、, mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2), querytype=WINDOW) = TRUE; 湖中没有船,而且两者不想交再检查每个候选项是否和条件精确匹配。通过函数SDO_RELATE实现:SDO_RELATE(geometry1 MDSYS.SDO_GEOMETRY, geometry2 MDSYS.SDO_GEOMETRY, params VARCHAR2)params:masktype类型 DISJOINT the boundaries and interiors do not intersect TOUCH the bou

    25、ndaries intersect but the interiors do not intersect OVERLAPBDYDISJOINT the interior of one object intersects the boundary and interior of the other object, but the two boundaries do not intersect. This relationship occurs, for example, when a line originates outside a polygon and ends inside that p

    26、olygon. OVERLAPBDYINTERSECT the boundaries and interiors of the two objects intersect EQUAL the two objects have the same boundary and interior CONTAINS the interior and boundary of one object is completely contained in the interior of the other object COVERS the interior of one object is completely

    27、 contained in the interior of the other object and their boundaries intersect INSIDE the opposite of CONTAINS. A INSIDE B implies B CONTAINS A. COVEREDBY the opposite of COVERS. A COVEREDBY B implies B COVERS A. ON the interior and boundary of one object is on the boundary of the other object (and t

    28、he second object covers the first object). This relationship occurs, for example, when a line is on the boundary of a polygon. ANYINTERACT the objects are non-disjoint. 运行下列SQL语句,并记录结果,并说明这个结果这代表什么意义?/ 选择在定义矩形内的所有小船SELECT name boat_nameFROM liufei tWHERE feature_id = 12AND SDO_FILTER(t.shape, mdsys.

    29、sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1), mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2), querytype=WINDOW) = TRUEAND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem_info_array(1,1003,1), mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2), mask=INSIDE q

    30、uerytype=WINDOW) = TRUE运行结果和分析:未选定行,因为湖里没有船/ masktype可联合使用SELECT name boat_nameFROM liufei tWHERE feature_id = 11AND SDO_FILTER(t.shape, mdsys.sdo_geometry(2003,NULL,NULL,mdsys.sdo_elem_info_array(1,1003,1), mdsys.sdo_ordinate_array(2,2, 5,2, 5,5, 2,5, 2,2), querytype=WINDOW) = TRUEAND SDO_RELATE(t.shape, mdsys.sdo_geometry(2003,NULL,NULL, mdsys.sdo_elem_info_arr


    注意事项

    本文(空间数据库实习三个实验.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开