第五章 空间查询与空间分析
本章概述:GIS不仅仅是一个地理数据的存贮系统,它还提供了丰富的数据查询功能。更重要的,GIS有自己的复杂而科学的空间分析模型和工具,使得我们可以通过GIS的空间分析功能,获取隐藏在GIS数据之中的信息和关系。地理信息系统集成了多学科的最新技术,如关系数据库管理、高效图形算法、插值、区划和网络分析,为空间分析提供了强大的工具,使得过去复杂困难的高级空间分析任务变得简单易行。本章将介绍GIS数据查询的基本知识和常用的GIS空间分析模型及其算法。
§5.1 空间数据的查询
本节将介绍空间数据查询的含义及图形查询、属性查询、混合查询、模糊查询等几种主要的查询方式,以及如何根据需求来控制查询结果的显示方式。
§5.2 空间数据的统计分析
讲述空间数据统计分析中基本统计量的计算和常用统计数据的分类分级算法。
§5.3 数字高程模型分析
讲述基于数字高程模型的信息提取、坡度分析、坡面分析、剖面分析和通视性分析、并介绍具体的算法。
§5.4 空间数据的叠置分析
空间叠置分析是GIS提取空间隐含信息的重要手段之一,本课介绍基于栅格和基于矢量数据结构的叠置分析方法,包括矢量数据的点、线、面两两叠置和栅格数据的单层和多层叠置分析。
§5.5 空间数据的缓冲区分析
缓冲区分析是解决空间实体邻接度问题的有效方法,本课介绍基于栅格和基于矢量数据结构的缓冲区生成算法。
§5.6 泰森多边形分析
泰森多边形对于GIS的空间划分、插值等具有重要意义,本节介绍泰森多边形、Delaulay三角形的定义、特性及生成算法。
§5.7 空间数据的网络分析
网络是以图论为工具模拟现实信息流通的通道,并解决路径优化、资源配给等运筹问题,网络分析具有重要的实际意义。本课讲述网络图论基础、路径分析及网络定位及分配模型。
§5.8 空间距离的量算
空间距离量算是许多空间分析的基础,在此介绍点、线、面实体之间的距离量算
§5.9 空间分析模型
讲述空间分析模型的概念、GIS常用的空间统计分析模型、对应的详细算法及模型库。
您可能还想看前贴【GIS原理学习(一)】【GIS原理学习(二)】【GIS原理学习(三)】【GIS原理学习(四)】【GIS原理学习(五)】【GIS原理学习(六)】【GIS原理学习(七)】【GIS原理学习(八)】【GIS原理学习(九)】【GIS原理学习(十)】【GIS原理学习(十一)】【GIS原理学习(十二)】【GIS原理学习(十三)】【GIS原理学习(十四)】【GIS原理学习(十五)】【GIS原理学习(十六)】【GIS原理学习(十七)】【GIS原理学习(十八)】【GIS原理学习(十九)】【GIS原理学习(二十)】【GIS原理学习(二十一)】【GIS原理学习(二十二)】【GIS原理学习(二十三)】【GIS原理学习(二十四)】【GIS原理学习(二十五)】【GIS原理学习(二十六)】【GIS原理学习(二十七)】【GIS原理学习(二十八)】【GIS原理学习(二十九)】【GIS原理学习(三十)】
§5.6 泰森多边形分析
GIS和地理分析中经常采用泰森多边形进行快速插值,和分析地理实体的影响区域,是解决邻接度问题的又一常用工具。
一、泰森多边形及其特性
荷兰气候学家A·H·Thiessen提出了一种根据离散分布的气象站的降雨量来计算平均降雨量的方法,即将所有相邻气象站连成三角形,作这些三角形各边的垂直平分线,于是每个气象站周围的若干垂直平分线便围成一个多边形。用这个多边形内所包含的一个唯一气象站的降雨强度来表示这个多边形区域内的降雨强度,并称这个多边形为泰森多边形。如图5-6-1,其中虚线构成的多边形就是泰森多边形。泰森多边形每个顶点是每个三角形的外接圆圆心。泰森多边形也称为Voronoi图,或dirichlet图。
图5-6-1 泰森多边形
泰森多边形的特性是:
1、每个泰森多边形内仅含有一个离散点数据;
2、泰森多边形内的点到相应离散点的距离最近;
3、位于泰森多边形边上的点到其两边的离散点的距离相等。
泰森多边形可用于定性分析、统计分析、邻近分析等。例如,可以用离散点的性质来描述泰森多边形区域的性质;可用离散点的数据来计算泰森多边形区域的数据;判断一个离散点与其它哪些离散点相邻时,可根据泰森多边形直接得出,且若泰森多边形是n边形,则就与n个离散点相邻;当某一数据点落入某一泰森多边形中时,它与相应的离散点最邻近,无需计算距离。
在泰森多边形的构建中,首先要将离散点构成三角网。这种三角网称为Delaunay三角网。
二、Delaulay三角形的构建
概要介绍Delaunay三角形的构建、产生的准则后,具体讲述凸包插值算法生成Delaunay三角网的步骤:
1、凸包生成;
2、环切边界法凸包三角剖分;
3、离散点内插。
Delaunay三角网的构建也称为不规则三角网的构建,就是由离散数据点构建三角网,如图5-6-2,即确定哪三个数据点构成一个三角形,也称为自动联接三角网。即对于平面上n个离散点,其平面坐标为(xi,yi),i=1,2,…,n,将其中相近的三点构成最佳三角形,使每个离散点都成为三角形的顶点。

图5-6-2 Delaunay三角网
自动联接三角网的结果为所有三角形的三个顶点的标号,如:
1, 2, 8
2, 8, 3
3, 8, 7
┇
为了获得最佳三角形,在构三角网时,应尽可能使三角形的三内角均成锐角,即符合Delaunay三角形产生的准则:
1、任何一个Delaunay三角形的外接圆内不能包含任何其它离散点。
2、 相邻两个Delaunay三角形构成凸四边形,在交换凸四边形的对角线之后,六个内角的最小者不再增大。该性质即为最小角最大准则。
图5-6-3 凸包
下面介绍Tsai(1993)提出的在n维欧拉空间中构造Delaunay三角形的通用算法---凸包插值算法。
(一)、凸包生成
1、求出点集中满足min(x-y)、min(x+y)、max(x-y)、max(x+y)的四个点,并按逆时针方向组成一个点的链表。这4个点是离散点中与包含离散点的外接矩形的4个角点最近的点。这4个点构成的多边形作为初始凸包。
2、对于每个凸包上的点I,设它的后续点为J,计算矢量线段IJ右侧的所有点到IJ的距离,求出距离最大的点K。
3、将K插入I、J之间,并将K赋给J。
4、重复2、3步,直到点集中没有在线段IJ右侧的点为止。
5、将J赋给I,J取其后续点,重复2、3、4步。
6、当凸包中任意相邻两点连线的右侧不存在离散点时,结束点集凸包求取过程。
完成这一步后,形成了包含所有离散点的多边形(凸包),如图5-6-3所示。
(二)、环切边界法凸包三角剖分
在凸包链表中每次寻找一个由相邻两条凸包边组成的三角形,在该三角形的内部和边界上都不包含凸包上的任何其它点。将这个点去掉后得到新的凸包链表。重复这个过程,直到凸包链表中只剩三个离散点为止。将凸包链表中的最后三个离散点构成一个三角形,结束凸包三角剖分过程。

图5-6-4 环切边界法凸包三角剖分
完成这一步后,将凸包中的点构成了若干Delaunay三角形,如图5-6-4所示。
(三)、离散点内插
在对凸包进行三角剖分之后,不在凸包上的其余离散点,可采用逐点内插的方法进行剖分。基本过程为:
1、找出外接圆包含待插入点的所有三角形,构成插入区域。
2、删除插入区域内的三角形公共边,形成由影响三角形顶点构成的多边形。
3、将插入点与多边形所有顶点相连,构成新的Delaunay三角形。
4、重复1、2、3,直到所有非凸壳离散点都插入完为止。
完成这一步后,就完成了Delaunay三角网的构建,如图5-6-5所示。

图5-6-5 离散点内插
三、泰森多边形的建立步骤
建立泰森多边形算法的关键是对离散数据点合理地连成三角网,即构建Delaunay三角网。建立泰森多边形的步骤为:
1、离散点自动构建三角网,即构建Delaunay三角网。对离散点和形成的三角形编号,记录每个三角形是由哪三个离散点构成的。
2、找出与每个离散点相邻的所有三角形的编号,并记录下来。这只要在已构建的三角网中找出具有一个相同顶点的所有三角形即可。

图5-6-6 泰森多边形的建立
3、对与每个离散点相邻的三角形按顺时针或逆时针方向排序,以便下一步连接生成泰森多边形。排序的方法可如图5-6-6所示。设离散点为o。找出以o为顶点的一个三角形,设为A;取三角形A除o以外的另一顶点,设为a,则另一个顶点也可找出,即为f;则下一个三角形必然是以of为边的,即为三角形F;三角形F的另一顶点为e,则下一三角形是以oe为边的;如此重复进行,直到回到oa边。
4、计算每个三角形的外接圆圆心,并记录之。
5、根据每个离散点的相邻三角形,连接这些相邻三角形的外接圆圆心,即得到泰森多边形。对于三角网边缘的泰森多边形,可作垂直平分线与图廓相交,与图廓一起构成泰森多边形。