欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载
     

    第5章-空间数据查询、访问课件.ppt

    • 资源ID:3968487       资源大小:1.59MB        全文页数:58页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

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

    第5章-空间数据查询、访问课件.ppt

    1,空间数据库 杨 勇,地理信息系统课程,河南财经政法大学资源与环境学院,2,第五章 空间数据查询、访问,3,5.2 空间查询语言,为什么使用空间查询语言空间查询语言的实现PostgreSQL/PostGIS介绍空间查询语言应用实例,4,例1:列出日销售额超过万元的超市名称列出财经政法大学方圆500m内的超市名称,5,例2:,L,6,为什么使用空间查询语言(SSQL)?标准 SQL通常只提供简单的数据类型,如整型、日期型等,空间数据库的应用必须能够处理像点、线、面这样复杂的数据类型;空间数据库管理系统作为一种扩展的DBMS,应该既可以处理空间数据,也可以处理非空间数据,所以,应当对SQL进行扩展,使它支持空间数据。,7,5.2.1 关系模型的扩展对关系模型进行扩展:(1)突破第一范式的限制,允许定义层次关系和嵌套关系(2)增加抽象数据类型如点、线、面、栅格、图像等和用户自定义数据类型(3)增加空间谓词,包括空间关系谓词(如相交、包含等)以及空间操作谓词(如叠加、缓冲区等)(4)增加适用于空间数据的索引技术,如R树、四叉树等,8,5.2.2 OGIS标准的SQL扩展OGIS OpenGIS(open geodata interoperation specification,OGIS,开放的地理数据互操作规范):一些主要软件供应商组成的联盟,负责制定与GIS互操作相关的行业标准,9,扩展的SQL提供了:针对所有几何类型的基本操作;如spatial reference返回所定义几何体采用的基础坐标系统。描述空间对象间拓扑关系的函数;如Touch用来返回几何体之间是否相接。空间分析的一般操作。如difference用来返回几何体与给定几何体不相交的部分。,10,OGIS利用其自定义函数来支持空间关系,进而基于空间关系来实现空间查询。其具有的各种函数包括:基本函数:Dimension(),GeometryType(),SRID(),Envelope(),.拓扑/集合运算函数:Equals(),Disjoint(),Intersects(),Touches(),Crosses(),Within(),Contains(),Overlap(),Relate(),11,空间分析函数:Distance(),Buffer(),ConvexHull(),Intersection(),Union(),Difference(),SymDifference()空间数据转换函数:GeoFromBin(),AsBinary(),12,13,14,5.2.3 对象关系SQLSQL3/SQL99面向对象技术非常适合处理空间数据。面向对象技术与传统关系数据库系统相结合产生了对象关系数据库管理系统(ORDBMS),ORDBMS对传统SQL进行扩展,产生了SQL在ORDBMS上的标准SQL3/SQL99。典型的对象-关系型数据库管理系统(ORDBMS):PostgreSQL,15,PostgreSQL/PostGIS:PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大、特性最丰富和最复杂的自由软件数据库系统。起源于伯克利(BSD)的数据库研究计划,目前最重要的开源数据库产品开发项目之一,有着非常广泛的用户。PostGIS 在对象关系型数据库PostgreSQL 上增加了存储管理空间数据的能力。PostGIS 最大的特点是符合并且实现了OpenGIS 的一些 规范,是最著名的开源GIS 数据库,16,1.SQL3概述 SQL3不仅对SQL的语法作了更详细和准确的定义,而且对空间数据的支持作出统一的描述。它详细描述了空间数据类型点、线、面在数据库中的存储方式,并且能够定义操作空间数据的空间运算符。,17,SQL3定义了0维的点、一维的环和曲线、二维的面。,18,SQL3可使用户在关系数据库的框架内定义自己的数据类型,可以支持抽象数据类型(Abstract Data Type,ADT)和其它数据结构。如:点的定义:ST_Point 线的定义:ST_LineString 面的定义:ST_Polygon,19,2.SSQL查询实例(1)选择湖北省的所有城市及其人口。Select 城市名,人口 From 城市 Where Center(城市地图)Inside 湖北;,20,(2)选择流经湖北省的所有河流名及其在湖北省内的长度 Select 河流名,Length(Intersection(Route(河流流域图),湖北)FROM 河流 WHERE Route(河流流域图)Intersects 湖北 这里:Inside 用来判断一个空间实体是否在另一个空间实体的内部,Route用来计算河流、道路等的中心线,Intersection 用来返回由两个实体的交集构成的几何体。Intersects判断相交不相交。Center用来判断一个实体的中心是否在另一个实体的内部。,21,3.2.4 基于PostGIS的空间查询语言应用示例,示例数据介绍以下为虚构的、蓝湖地区的整饰地图,22,建表的SQL语句,湖泊:create table lakes(fid integer not null primary key,name varchar(64),shore geometry);路段:create table road_segments(fid integer not null primary key,name varchar(64),aliases varchar(64),num_lanes integer,centerline geometry);,23,组合路create table divided_routes(fid integer not null primary key,name varchar(64),aliases varchar(64),num_lanes integer,centerline geometry);桥Create table bridges(fid integer not null primary key,name varchar(64),roadseg1id integer references road_segments,roadseg2id integer references road_segments,positon geometry);,24,河流create table streams(fid integer not null primary key,name varchar(64),fromlakeid integer references lakes,tolakeid integer references lakes,centerline geometry);建筑物create table buildings(fid integer not null primary key,address varchar(64),position geometry,footprint geometry);,25,池塘create table ponds(fid integer not null primary key,name varchar(64),type varchar(64),shores geometry);岛create table island(fid integer not null primary key,name varchar(64),lakeid integer references lakes,boundary geometry);,26,区域create table zone(fid integer not null primary key,name varchar(64),boundary geometry);,27,空间数据的插入 湖泊:insert into lakes values(101,蓝湖,ST_GeomFROMText(MULTIPOLYGON(52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18),101);insert into lakes values(0,图外其他湖泊);,28,路段:insert into road_segments values(102,路5,NULL,2,ST_GeomFromText(LINESTRING(0 18,10 21,16 23,28 26,44 31),101);insert into road_segments values(103,路5,主街,4,ST_GeomFromText(LINESTRING(44 31,56 34,70 38),101);insert into road_segments values(104,路5,NULL,2,ST_GeomFromText(LINESTRING(70 38,72 48),101);insert into road_segments values(105,主街,NULL,4,ST_GeomFromText(LINESTRING(70 38,84 42),101);insert into road_segments values(106,绿森林边路,NULL,1,ST_GeomFromText(LINESTRING(28 26,28 0),101);,29,桥insert into bridges values(110,卡姆桥,102,103,PointFromText(POINT(44 31),101);河流insert into streams values(111,卡姆河,0,101,ST_GeomFromText(LINESTRING(38 48,44 41,41 36,44 31,52 18),101);insert into streams values(112,null,101,0,ST_GeomFromText(LINESTRING(76 0,78 4,73 9),101);,30,建筑物insert into buildings values(113,主街123号,ST_GeomFromText(point(52 30),101),ST_GeomFromText(polygon(50 31,54 31,54 29,50 29,50 31),101);insert into buildings values(114,主街215号,ST_GeomFromText(point(64 33),101),ST_GeomFromText(polygon(66 34,62 34,62 32,66 32,66 34),101);,31,池塘insert into ponds values(120,null,思道哥池塘,ST_GeomFromText(multipolygon(24 44,22 42,24 40,24 44),(26 44,26 40,28 42,26 44),101);,32,岛insert into island values(109,鹅岛,101,ST_GeomFromText(multipolygon(67 13,67 18,59 18,59 13,67 13),101);区域insert into zone values(117,阿诗顿,ST_GeomFromText(multipolygon(62 48,84 48,84 30,56 30,58 34,62 48),101);insert into zone values(118,绿森林,ST_GeomFromtext(MULTIPOLYGON(28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18),101);,33,简单空间查询 查询1:卡姆河流是否与蓝湖连接 select ST_Touches(S.centerline,L.shore)from streams S,lakes L where S.name=卡姆河 and L.name=蓝湖 查询结果:T 查询2:判读75号路是否与阿斯顿相离 select ST_Disjoint(centerlines,boundary)from divided_routes d,zone z Where d.name=路75 and z.name=阿诗顿;查询结果:T,34,查询3:获得卡姆桥与阿斯顿的距离 select ST_distance(Position,boundary)From bridges b,zone z Where b.name=卡姆桥 and z.name=阿诗顿查询结果:12(m),35,空间数据查询指从空间数据库中找出所有满足属性约束条件和空间约束条件的地理对象。空间查询是GIS最基本最常用的功能。空间数据查询的方式有两大类:即“属性查图形”和“图形查属性”。,5.3 GIS中空间数据检索与查询,36,37,一、空间查询的方式,1、给出图形信息:如鼠标点取、拉框等方式。1)检索其相应属性;2)检索其空间拓扑关系 2、给出属性特征条件1)检索对应的空间实体 2)查询属性,38,单纯查询:单纯地查询属性,或只查询空间拓扑关系;联合查询:将空间数据与属性数据联合查询。,39,空间查询是GIS最基本最常用的功能。可以分为四种方式:几何参数查询空间定位查询空间关系查询SQL查询,二、空间数据查询种类,40,1、几何参数查询:包括点的位置坐标,两点间的距离,一个或一段线目标的长度,一个面目标的周长或面积等。实现:查询属性库或空间计算,41,2、空间定位查询:给定一个点或一个几何图形,检索该图形范围内的空间对象及其属性。1)按点查询:给定一个鼠标点,查询离它最近的对象及属性-点的捕捉。2)开窗查询-按矩形、圆、多边形查询 分为该窗口包含和穿过的区域。,42,3、空间关系查询,1)相邻分析检索-通过检索拓扑关系面面:如查询与面状地物相邻的多边形的实现方法:A、从多边形与弧段关联表中,检索该多边形关联的所有弧段;B、从弧段关联的左右多边形表中,检索出这些弧段关联的多边形。,43,线线(与某干流A相连的所有支流)从线状地物表中,查找组成A的所有弧段及关联的结点;,44,2)包含关系查询查询某个面状地物所包含的空间对象。同层包含:如,某省的下属地区,若建立有空间拓扑关系,可直接查询拓扑关系表来实现。不同层包含:如某省的湖泊分布,没有建立拓扑,实质是叠置分析检索,通过多边形叠置分析技术,只检索出在窗口界限范围内的地理实体,窗口外的实体作裁剪处理。3)穿越查询 某公路穿越了某些县,采用空间运算的方法执行,根据一个线目标的空间坐标,计算哪些面或线与之相交。,45,4)落入查询 一个空间对象落入哪个空间对象之内。-空间运算 5)缓冲区查询根据用户给定的一个点、线、面缓冲的距离,从而形成一个缓冲区的多边形,再根据多边形检索原理,检索该缓冲区内的空间实体。,46,4、SQL查询(属性查询),1)查找 仅选择一个属性表,给定一个属性值,找出对应的属性记录或图形。在屏幕上已有一个属性表,用户任意点取记录,对应的图形以高亮显示。实现:执行数据库查询语言,找到满足要求的记录,得到它的目标标识,再通过目标标识在图形数据文件中找到对应的空间对象,并显示出来。,47,2)SQL查询,Select 属性项 From 属性表 Where 条件1 or 条件2 and 条件3,实现:交互式选择各项,输入后,系统再转换为标准的SQL,由数据库系统执行,得到结果,提取目标标识,在图形文件中找到空间对象,并显示。,48,3)扩展SQL,在数据库查询语言上加入空间关系查询。为此需要增加空间数据类型(如点、线、面等)和空间操作算子(如求长度、面积、叠加等)。在给定查询条件时也需含有空间概念(如距离、邻近、叠加等)。主要优点:保留了SQL的风格,便于熟悉SQL的用户的掌握,通用性较好,易于与关系数据库连接。执行扩展SQL,如果要将属性和空间关系整体统一起来,从底层进行查询优化,有一定困难。目前一般将两层分开进行查询。,49,例如,“查询长江流域人口大于50万的县或市”,可表示为:SELECT*FROM县或市WHERE 县或市.人口 50万 AND CROSS(河流.名称=“长江”),50,5、其它查询方法,1)可视化空间查询 可视化查询是指将查询语言的元素,特别是空间关系,用直观的图形或符号表示。查询主要使用图形、图像、图标、符号来表达概念。,51,2)自然语言空间查询在SQL查询中引入一些自然语言,如温度高的城市 SELECT name FROM Cities WHERE temperature is high SELECT name FROM Cities WHERE temperature=33.75这种查询方式只能适用于某个专业领域的地理信息系统,而不能作为地理信息系统中的通用数据库查询语言。,作定量转换,52,例:ArcGIS中的空间查询(1)空间定位查询 空间定位查询是指给定一个点或一个几何图形,检索出该图形范围内的空间对象以及相应的属性。,53,空间定位查询包括按点查询、按矩形查询、按圆查询、及按多边形查询等方式。按矩形查询给定一个矩形窗口,查询出该窗口内某一类地物的所有对象,如果需要,显示出每个对象的属性表。,54,(2)基于空间特征和属性特征的联合查询 基于空间特征和属性特征联合查询的实质是查询条件同时涉及空间特征和属性特征。如用户希望查询出满足如下条件的城市:A:在某条铁路的东部;B:距离该铁路不超过30km;C:城市人口大于70万;D:城市选择区域是特定的多边形。,55,基于SQL查询,56,57,查询结果显示,58,2023/3/29,58,本 章 小 结,内容标准SQL语言空间查询语言空间查询处理与优化GIS的空间查询重点标准SQL语言语法及应用空间查询语言的实现及扩展,

    注意事项

    本文(第5章-空间数据查询、访问课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开