地理信息系统教程

地理信息系统教程”习题及参考答案(三)

第六章 空间查询与空间分析 1. 什么是空间数据的查询?

空间数据的查询一般定义为从空间数据库中找出所有满足属性条件和空间约束条件的地理对象。属性约束条件一般用带比较运算符的逻辑表达式描述,这与传统的结构查询语言SQL的where语句中条件表达式相似。空间约束条件用带空间谓词的逻辑表达式描述,空间谓词由地理对象间的空间关系演变而来,如包含、相交、分离、重叠、距离同、方向等。因此空间查询是作用在库体上的函数,返回用户请求的内容,也属于咨询式分析。 2.查询种类有哪些?实现方式如何? 查询种类及实现方式:

几何参数查询,包括点的位置坐标,两点间的距离,一个或一段线目标的长度,一个面目标的周长或面积等。

实现方式:查询属性库或空间计算

(1)空间定位查询,给定一个点或一个几何图形,检索该图形范围内的空间对象及其属性。 按点查询:给定一个鼠标点,查询离它最近的对象及属性(点的捕捉)。

开窗查询:按矩形、圆、多边形查询。分为该窗口包含和穿过的区别。根据空间索引,检索哪些对象可能位于该窗口,然后根据点、线、面在查询开窗内的判别计算,检索到目标。 空间运算方法

(2)空间关系查询,包括相邻分析检索---通过检索拓扑关系;相关分析检索(不同要素类型之间的关系)--通过检索拓扑关系;包含关系查询;穿越查询等等。 A相邻分析检索---通过检索拓扑关系

面―面(如查询与面状地物相邻的多边形的实现方法): ① 从多边形与弧段关联表中,检索该多边形关联的所有弧段; ② 从弧段关联的左右多边形表中,检索出这些弧段关联的多边形。 线―线(如与某干流A相连的所有支流):

①从线状地物表中,查找组成A的所有弧段及关联的结点; ②从结点表中,查询与这些结点关联的弧段; 点―点(如:A与B是否相通等)。

B相关分析检索(不同要素类型之间的关系)--通过检索拓扑关系 线―面(例如:我国边境线总长度)

点―线(例如:自来水GIS中,与某阀门相关的水管) 点―面(例如:中国大于10万人口的城市个数) C包含关系查询

查询某个面状地物所包含的空间对象。

同层包含,如,某省的下属地区,若建立有空间拓扑关系,可直接查询拓扑关系表来实现。

不同层包含,如某省的湖泊分布,没有建立拓扑,实质是叠置分析检索,通过多边形叠置分析技术,只检索出在窗口界限范围内的地理实体,窗口外的实体作裁剪处理。 D穿越查询

某公路穿越了某些县,采用空间运算的方法执行,根据一个线目标的空间坐标,计算哪些面或线与之相交。

E落入查询:一个空间对象落入哪个空间对象之内。?D?D空间运算 F缓冲区查询

根据用户给定的一个点、线、面缓冲的距离,从而形成一个缓冲区的多边形,再根据多边形检索原理,检索该缓冲区内的空间实体。 G边沿匹配检索

空间查询在多幅地图的数据文件之间进行,这时需应用边沿匹配处理技术。 (3)属性查询 l 查找

仅选择一个属性表,给定一个属性值,找出对应的属性记录或图形。 在屏幕上已有一个属性表,用户任意点取记录,对应的图形以高亮显示。

实现:执行数据库查询语言,找到满足要求的记录,得到它的目标标识,再通过目标标识在图形数据文件中找到对应的空间对象,并显示出来。 l SQL查询

Select 属性项 From 属性表 Where 条件 or条件 and 条件

实现:交互式选择各项,输入后,系统再转换为标准的SQL,由数据库系统执行或ODBC C语言执行,得到结果,提取目标标识,在图形文件中找到空间对象,并显示。 l 扩展SQL

空间数据查询语言是通过对标准SQL的扩展来形成的,即在数据库查询语言上加入空间关系查询。为此需要增加空间数据类型(如点、线、面等)和空间操作算子(如求长度、面积、叠加等)。在给定查询条件时也需含有空间概念,如距离、邻近、叠加等。 例如,“查询闽江流域人口大于5万的县或市”,可表示为: SELECT * FROM县或市

WHERE 县或市.人口 > 5万 AND CROSS(河流.名称=“闽江”)

主要优点是:保留了SQL的风格,便于熟悉SQL的用户的掌握,通用性较好,易于与关系数据库连接。

执行扩展SQL,如果要将属性和空间关系整体统一起来,从底层进行查询优化,有一定困难。目前一般将两层分开进行查询。 (4)其它查询方法 l 可视化空间查询

可视化查询是指将查询语言的元素,特别是空间关系,用直观的图形或符号表示。查询主要使用图形、图像、图标、符号来表达概念。

优点:具有简单、直观、易于使用。

缺点:当空间约束条件复杂时,很难用图符描述;用二维图符表示图形之间的关系时,可能会出现歧义;难以表示“非”关系;不易进行范围(圆、矩形、多边形等)约束;无法进行屏幕定位查询等。 l 超文本查询

图形、图像、字符等皆当作文本,并设置一些“热点”(HotSpot),“热点”可以是文本、键等。

用鼠标点击“热点”后,可以弹出说明信息、播放声音、完成某项工作等。但超文本查询只能预先设置好,用户不能实时构建自己要求的各种查询。 l 自然语言空间查询

在SQL查询中引入一些自然语言,如温度高的城市 SELECT name FROM Cities

WHERE temperature is high SELECT name FROM Cities

WHERE temperature >= 33.75

这种查询方式只能适用于某个专业领域的地理信息系统,而不能作为地理信息系统中的通用数据库查询语言。

3. SQL对GIS有什么作用?

目前GIS的地物属性数据库大多是以传统的关系数据库为基础的,因此基于属性的GIS查询可以通过关系数据库的SQL语言进行查询。一般来说,地物的图形数据和属性数据是分开存贮的,图形和属性之间通过目标的ID码进行关联,通过SQL语言操作可进行数据库查询。

4.如何表达查询得到的结果?

l 使要素、对应的记录同步进入选择集,同时改变显示颜色。

l 进入选择集的记录可以用统计图表达。如果选择集是空的,统计图就包括该表的全体记录。

l 进入选择集的记录可以分类汇总统计。 5.对空间数据进行统计分析的意义是什么?

GIS中空间数据的统计分析是指对GIS地理数据库中的专题数据进行统计分析,针对不同领域的运用提取相关的地理信息,去除一些冗余信息使其便于分析利用。 6.通过什么方法可以对空间数据进行类别划分?

分类和分级的方法很多,常用的有:系统聚类法和最优分割分级法。 7.矢量数据的叠加有什么作用?

叠置分析是地理信息系统最常用的提取空间隐含信息的手段之一,它将有关主题层组成的数据层面,进行叠加产生一个新数据层面的操作,其结果综合了原来两层或多层要素所具有的属性。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4