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

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

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!