第六章 空间查询与分析 6
1 空间数据的查询 6
1 空间数据查询的含义 数据查询是 GIS 的一个重要功能,一般定义为:作用在 GIS 数据上的函数,它返回满足条件的内容
查询是用户与系统交流的途径,是 GIS 用户最经常使用的功能,GIS 用户提出许多问题都可以通过查询的方式解决,查询方法和范围在很大程度上决定了 GIS 的应用程度和应用水平
目前,GIS中的空间查询大致可分为三类:针对空间关系的查询(查询一条公路途经的所有城镇)、针对非空间属性的查询(查询一个城市的人口数量)及结合空间关系和非空间属性的查询(查询距某条河流≥500 m、种植玉米且面积大于 53 km2 的土地利用单元)
GIS 的空间查询主要有四种方式:扩展关系数据库的查询语言(SQL)、可视化空间查询、超文本查询和自然语言空间查询
2 扩展关系数据库的查询语言(SQL) 由于关系数据库具有严谨的数学基础和简洁的概念,在一般的事务性数据库中占有绝对的统治地位
在关系数据库中,几乎所有的功能都由查询语言(SQL)实现,关系数据库的查询语言(SQL)作为一种工业标准被广泛使用
SQL语句通常是由关系运算组合而成的,非常适合于关系表的查询与操作,但并不支持空间运算
由于标准的 SQL不支持空间概念,因此,不能进行空间数据的查询
目前的空间数据查询语言是通过对标准SQL的扩展来形成的,即在数据库查询语言上加入空间关系查询
为此需要增加空间数据类型(如点、线、面等)和空间操作算子(如求长度、面积、叠加等)
在给定查询条件时也需含有空间概念,如距离、邻近、叠加等
例如,“显示与价值超过 60000的地块相交的土壤图”,可表示为: SELECI SOIL
MAP FROM SOIL, PARCELS WHERE VALUATION>60000 AND OVERLAY (SOILS, PAR