基于矢量数据的GIS分析
矢量数据模型用点及其x、y坐标来构建点、线、面、体的空间特征。因此,矢量数据分析是基于表示地理对象的点、线、多边形几何实体,且分析结果的可信性取决于这些对象的位置和形状的精确性。矢量数据可以是拓扑关系的,也可以是非拓扑关系的。矢量数据分析主要涉及对地理实体属性数据的运算,或地理实体间的拓扑关系或相对位置关系分析。矢量数据分析归纳起来有地理查询、缓冲分析、叠置分析、网络分析、地形分析和趋势分析等。
一、矢量地理查询
地理查询是指从GIS数据库中获取用户咨询的数据,并以一定的形式提供给用户。有时地理查询也涉及简单的几何计算(如距离和面积)或地理实体的重新分类。例如,一个用户咨询由北京到福州的直线距离,GIS通常是根据存储在数据库中这两地的坐标数据,计算出它们的距离,然后将答案提供给用户。又如,一个用户询问某一地区适合于农业耕作的地方分布在哪里,如果GIS数据库中只存在一幅详细表示该地区土壤类型的矢量图层,则可以根据一定的划分标准,将矢量图层重新分类,产生一幅表示适宜农业耕作的土地分布图层,提供给用户作为查询的答案。因此,地理查询运算可分为三种:数据库查询、几何量测和重新分类。
1.数据库查询
数据库查询是根据用户提出的问题,从GIS数据库中提取有关的数据。数据库查询选择不产生新数据,也不改变数据库中的数据,此时GIS作为编辑工具,仅仅是针对空间数据进行分析。其中最主要的是对字段和记录进行一系列的分析。
GIS一般提供两种视图(View)用于数据库查询,如见图5.1所示。一是地图视图,即以地图表示一幅图层上地理实体的分布,用户从地图上通过选择一个或一组地理实体,从数据库中检索有关这些地理实体的数据。二是表格视图,即以主题属性表显示一幅图层上地理实体的属性数据,用户通过查询主题属性表,检索有关的地理实体。在主题属性表中,一个记录表示一个地理实体。通常,地图视图和表格视图是相互连接和互动的(如图5.1所示)。

图5.1GIS数据库查询中的表格示图和地图视图
当地图视图和表格视图同时显示在屏幕上时,在一个视图上选择的地理实体,在另一个视图上也会同时突出地显示出来。通过使用这两种视图,可以执行以下三种基本查询:
(1) 根据属性约束条件查询有关地理实体及其分布
这类查询可以运用GIS软件系统提供的数据查询语言进行。GIS数据查询语言很简单,一般是由比较运算符和逻辑运算符构成的查询语句。常见的比较运算符包括:=、<>、 <、>、<=、>=,分别用于判断数据值相等、不等、小于、大于、小于或等于、大于或等于的各种查询条件,那些满足条件的地理实体将从数据库中检索出来,显示在地图视图上或表格视图上。
GIS数据查询语言中的逻辑运算符主要有四种:AND、OR、XOR和NOT,它们用于连接多个查询条件。AND表示被连接的查询条件都成立,例如:[查询水土流失程度“3”,且流失面积大于10000m2的土地,可使用语句“chengdu=‘3’AND Area>10000”;OR表示被连接的查询条件中至少一个都成立,如执行语句“chengdu=‘3’Or Area=‘10000’”将查找并显示出所有的结果。XOR表示满足两个查询条件中其中的一个,但不满足另一个,如执行语句“Chengdu=‘3’XOR Area=10000”将查找出程度为“3”,但面积不等于10000m2的土地,或者面积为10000m2,但不是程度为“3”的土地。NOT将它使用的查询条件意义反转,如“NOT chengdu=‘3’”语句用于查找出所有不是程度为“3”的土地。
(2) 根据空间约束条件查询地理实体的属性
这类查询中最简单的就是在地图视图上用光标选择待查询的地理实体,一旦一个地理实体被选择后,GIS即从数据库中查找出它们的属性数据并显示给用户。
一种查询方法是用光标在显示的中国省区图上选取选择几个区域,有关它们的名称、人口密度等属性数据就以表的形式显示出来,如图5.2。另一种查询方法是使用光标在地图视图上定义一个矩形区域,选择位于该区域内的所有地理实体,列出它们的属性数据。第三种方法是在地图视图上画一个一定形状(如圆、多边形)、一定大小的图形,将位于图形内的地理实体选择出来,从数据库中查找并列出它们的属性数据,如图5.3所示。

图5.2 1990年总人口数在50000000以上的省区

图5.3某高级商业服务中心所服务的区域范围和人口情况
(3) 根据空间位置的相对关系查询有关的地理实体
这类查询的目的在于根据地理实体之间的相对位置关系查找某类地理实体,这些关系包括以下几种。
①包含(Containment):查找包含在某一地理实体内的另一类地理实体,如查找位于福州市仓山区内的中学及其所在地;或查找位于某一县境范围内的柑橘种植地等。
②相交(Intersect):查找与某一类地理实体相交的另一类地理实体,如找出有道路通过的森林地;或查找一条待建的沿途将通过的土地覆盖类型等。
③接近(Proximity):查找距某一类地理实体一定距离范围内的另一类地理实体,如查找位于距一条高速公路500m范围内的居民住宅;或查询距某一新村1000m以内的超市及其所在地。
以上三种查询可以联合起来使用,同时,还可以运用SQL进行较为复杂的地理查询(详见第3章)。
2.几何量测
几何量测包括长度、面积、周长和形状的计算,是地理查询中常见的问题。矢量GIS是根据平面几何的原理,运用坐标数据计算长度、面积和周长。
在矢量GIS中,利用勾股定理计算两点间的距离时,要以某一地图投影为基础的平面直角坐标为前提,两点坐标必须是以m或km为单位,不能使用以经度和纬度所表示的地理坐标单位。在矢量GIS中,线状实体以线段链或弧表示,因此,一条线状实体的长度为组成它的直线段长度之和,如图5.4所示;一个面状实体表示为一个多边形,其周长为组成多边形的所有直线段长度之和。每条直线段的长度由勾股定理计算。多边形的面积可通过将多边形分解成若干梯形计算,如图5.5所示,一个多边形由1、2、3、4、5五个顶点组成,将这五个顶点按顺时针方向排列,每个顶点在X轴上的投影分别为a、b、c、d、e,从而形成五个梯形,可以看出该多边形的面积等于12ba和23cb两个梯形面积减去34dc、45ed和15ea三个梯形面积之和。一个梯形面积等于其上底长度加下底长度,乘以高,再除以2。设1、2、3、4、5的坐标分别为(xa,ya),(xb,yb),(xc,yc),(xd,yd),(xe,ye),那么多边形12345的面积就可以计算出来,如图5.5所示。

图5.4长度计算图示

图5.5多边形面积计算图示
面状实体的几何形状一般是通过比较其面积和周长来定义的。在数据分析中,形状通常由形状紧致性SC指数描述,见(5.1)式。
(5.1)
其中A为面积,P为周长,正方形的形状紧致性指数等于1,形状紧致性指数越小,形状越不规则);
在矢量数据分析中,形状计算公式常用5.2式表示。
(5.2)
其中P为周长,A为面积。当S=1时,形状为圆,S越大,形状越不规则。
例如,利用遥感图像提取的水体信息,转成ArcView的shape格式,利用其字段的计算功能可获取每个水体图斑的面积、周长和形状指数k,并进行分类,如图5.6。

图5.6闽江河口区湿地景观分布图
3.重新分类
重新分类是将一幅矢量图层的数据分类系统转换成另一种分类系统,并产生一幅新的矢量图层,其原理与栅格图层重新分类相似。但是,在多边形矢量图层重新分类之后,应将具有相同类型的相邻多边形合并,即将同一类型相邻多边形的共同边界删除,重新组合多边形并重建多边形的拓扑结构。在ArcView中这种操作也称为“融合”,即基于属性的要素合并,将主题中某一字段取值相同且相邻的要素合并成一个要素。结果:几何上,某字段值相同并且有公共边的两个多边形被合并,属性上,该字段值得到保留,其他字段可根据需要进行汇总(如求和、求平均等)。图5.7给出了一个土地利用类型重分类图。

图5.7土地利用类型重分类示意
二、矢量缓冲分析
通过给定位置查询其邻域中的有关要素的情况,这在GIS中归结为“缓冲区分析”,也属于邻域分析的一部分内容。
1.缓冲区(带)
缓冲区分析是在某一类地理实体(如点、线、面状实体)按照给定的缓冲条件,在周围建立一定距离的空间,以识别这类实体的影响范围,或分析它们邻近区域内其他地理实体的分布。这样的带状区域称为缓冲区或带,如图5.8所示,一个点状实体的缓冲带是以该点为中心,缓冲带距离或宽度为半径的圆;一个线状实体的缓冲带是围绕其两侧的多边形条带,该多边形边界上的每个点到它的垂直距离等于缓冲带的宽度;一个面状实体的缓冲带是围绕该实体外侧的环带,环带的宽度为缓冲带宽度。缓冲带宽度一般由用户根据分析的需要定义。

图5.8缓冲区示意
产生缓冲区的过程在概念上很简单,但在计算上却比较复杂。图5.8显示了一种产生缓冲区的方法。设缓冲带宽度为d,根据这种方法,在组成一个弧段的每个直线段两侧产生一个以d为宽度的矩形,在每个直线段两端点产生以d为半径的圆,将这些矩形和圆重叠起来,消除它们之间重叠的部分,即形成一个连通的缓冲带多边形。数据结构不同,缓冲带算法也不同。图5.9说明了矢量和栅格多边形缓冲的形成有差别。

图5.9矢量(左)和栅格(右)数据的多边形缓冲区示意
2.缓冲分析应用
在大部分GIS应用中,使用宽度相等的缓冲带就足够了,但在某些应用中,则要求对不同类型的地理实体或某一地理实体的不同部分采用不同宽度的缓冲带。例如,在主要河流两岸建立100m的缓冲带,在次要河流或支流两岸建立50m的缓冲带,禁止在缓冲带内砍伐植被;在高速公路和铁路两旁建立2km的缓冲带,在主要道路旁建立1km的缓冲带,在缓冲带内的任何地点,就其通达性都可以看作是设立一个购物中心的合适地点。道路规划应注意交通噪声对周围居民的影响,可考虑沿公路两侧建立了500m宽的缓冲带,沿高速公路两侧建立了100m宽的缓冲带。此外,在某些应用中,还要求围绕一个或一类地理实体产生多个不同宽度的缓冲带,形成多环缓冲带,如围绕一个超市购物中心产生50m、100m、150m和200m四个缓冲带,分析超市对居民点的影响程度(其效果与栅格数据分析中的接近程度分析类似)。缓冲带还可以只产生线状实体的一侧。再如,为优化城市观光巴士旅游路线,可将便民自行车站点的设立和旅游结合在一起,如图5.10是近期福州市区观光巴士300M、便民自行车150M服务半径缓冲区图,在此基础上,优化者可以进一步做网络分析,为旅游者提供到景区的最佳线路。

图5.10 福州市区观光巴士300M、便民自行车150M服务半径缓冲区图
缓冲区建立和应用研究领域很广,除上述外,缓冲区设置可成为一个中立地区,作为解决冲突的一种工具;缓冲带与其他数据结合还可以进行多种地理查询和分析模拟。
三、矢量叠置分析
叠置分析是GIS中常用的提取空间隐含信息的方法之一。也是广泛应用于地理数据综合分析的一种地图分析方法。它是将有关主题层组成的各个数据层面进行叠加产生的一个新数据层面,其结果综合了原来两个或多个层面要素所具有的属性,同时叠置分析不仅生成了新的空间关系,而且还将输入的多个数据层的属性联系起来产生新的属性关系。其中,被叠加的要素层面必须是基于统一的地表定位参照系统下(即相同的坐标系统、相同的基准面统,同一区域的数据)才能进行分析或模拟多种地表现象在空间上的相互联系,或进行某些现象的区域统计分析。
在矢量GIS中,叠置分析是将两幅矢量图层通过几何图形相交合并成一幅新的矢量图层,并将两幅输入矢量图层上的地理实体的属性数据组合起来存储或表示在新的矢量图层上。
1.根据操作要素的不同,矢量数据叠置分析可分为:点与多边形叠置、线和多边形叠置以及多边形与多边形叠置等。
(1)点与多边形叠置
点与多边形叠置就是点包含分析,用于确定点与区域的位置关系,即判断一个点位于某一区域之内还是之外。如判断某一水源位于哪一行政区内,查询某一区域范围内城镇的分布情况等。它还可应用于某些图形数据的处理。
点包含分析的方法很多。最常见的方法是从判断点引出某一方向的射线,通过判断该射线与被判断区域多边形边界相交的次数来确定点与区域的包含关系,称为“射线法”。在射线不通过多边形顶点的情况下,当该射线与区域边界相交奇数次时,则该点位于此区域之中;当该射线与区域边界相交偶数次时,则该点位于此区域之外。图5.11表示了这一原理。

图5.11点包含分析原理
点包含分析输出的结果通常是一个点状实体矢量图层,每个点既包含了其输入的属性数据,又包含了它所在多边形的区域特征数据。例如,在图5.12中,通过点包含分析,识别考察点位置在流域哪些部位,水土流失具有哪些特征,在输出图层属性表中,每一个表示点都有一个新的属性,即水土流失类型。

图5.12点包含分析示例
(2)线与多边形叠置
线与多边形叠置就是线包含分析,用于确定线(表示在一幅图层上)与区域(表示在另一幅图层上)的位置关系,其目的是判断一条线状实体是否位于某一区域内。例如,判断一条拟建的高速公路是否穿过森林地。线包含分析的算法涉及到三步:
(1)判断线状实体图层上每个弧段与面状实体图层上哪些区域多边形相交。
(2)求出弧段与多边形的相交点,并以相交点为结点建立新的弧段。
(3)重建弧段拓扑结构,并建立弧段与多边形的包含关系,即将多边形的属性赋给所包含的弧段。最后,以一幅新的矢量图层表示新的建立的弧段。
线包含分析输出的结果包含了按区域分割开来的线状实体。若将一幅拟建道路图层与一幅土壤图层叠置起来作包含分析,其结果是产生一个新的拟建道路图,但输入图层上的三个拟建道路弧段被分割成六个较小的道路段,每个道路段都包含土壤类型数据。
线包含分析在计算上比点包含分析复杂得多,其计算的复杂性主要体现在图形交点的判断和计算。有关判断图形相交的可能性以及求相交点的算法可参见有关文献(Ballard,1981;朱选,1990)。
(3)多边形与多边形叠置
多边形与多边形叠置分析就是将多幅面状实体矢量图层叠置起来产生一幅新的矢量图层,输出矢量图层上的多边形是输入图层上图形相交、分割的结果,每个输出多边形的属性是所有输入图层上与其相重置的多边形的组合。矢量数据多边形叠置分析在功能上与栅格数据的逐点叠置分析相似,本质上是多种要素的空间合成。即它是将同一地区、同一比例尺、同一坐标系统下的多种单要素地图叠置起来,综合分析和评价所有被叠置要素相互作用和相互联系,或是将反映不同时期同一现象的地图叠置起来,进行多时相的综合分析,反映现象的动态变化。但是,矢量数据多边形叠置分析在计算上比起栅格数据的逐点叠置分析要复杂得多,并且要求每幅输入图层建立要有拓扑数据结构。
定义被叠置地图为原图,经叠置所产生的地图为叠置图,对叠置图上每一多边形所包含的所有信息进行综合分析,最后获得反映多边形要素综合特性的地图,称之为合成图。因此,地图叠置分析经过三个过程,即第一,原图,包括三个输入层(Input Layer)叠加;第二,生成叠置图(Combined Layer);第三,生成合成图(Synthesised Layer)。图5.13表示了多边形叠置的基本原理。

图5.13多边形叠置分析图示
多边形叠置采用两两叠置的方法,也即具体进行多边形叠置时,每次只能在两幅图之间进行。两幅原图叠置后,将所得的叠置图与第三幅原图叠置,在所得的叠置图上,再叠置第四幅原图,如此下去,直到最后一幅原图被叠置。只有在所有原图叠置完毕后,才进行信息的综合分析。信息的综合分析是在叠置图的基础上,根据事先所确定的分析和评价方案,或根据一定的数学模型进行。因此,多边形叠置分析的关键问题是要解决两幅被叠置图的叠置。两幅图多边形叠置处理的基本方法有人(朱选等,1987)归纳如下几个步骤:
①以组成多边形的线段链为单位,寻找两幅被叠置图之间的图形相交点;
②在交点处,将相交线段链分割成相应数量的新线段链。
③形成新线段链的左、右区属性码,再将新线段链连接组合,形成新的多边形,最后生成叠置图。
2、根据操作形式的不同,即叠置图上应保留的原图要素的要求不同,叠置分析可以分为图层檫除、交集操作、图层合并等。典型的矢量GIS可提供如下三种运算用于产生叠置图,如图5.14所示。

图5.14产生叠置图的三种运算
(1)剪切(Clip):产生的叠置图只保留两幅原图上位于第一幅原图范围内的要素,第二幅原图上位于第一幅原图范围以外的要素统统删除,相当于对两幅原图作逻辑AND运算以后,将其结果再与第一幅原图作逻辑OR运算。
(2)交集(Intersect):产生的叠置图只保留两幅原图共同区域内的要素,相当于对两幅原图作逻辑AND运算。
(3)合并(Union):产生的叠置图保留两幅原图上所有的要素,相当于对两幅原图作逻辑OR运算。
当一幅叠置图产生以后,应当消除误差多边形(数据编辑处理说明请参见《地理信息系统导论实验指导》中的数据处理)。
在所有原图叠置完毕并消除了叠置图上的误差多边形以后,就可以根据所选择的分析方案,以多边形为分析单元,进行多要素综合分析,如统计计算、相关分析、多元回归分析、聚类分析、线性组合、条件组合和因素组合等,从而获得每一个多边形的统计属性值,并以此作为多边形分类的标准。在生成的合成图上,可能产生一些具有相同综合属性值的相邻多边形,同时,还会产生许多小的多边形。将具有相同属性值的相邻多边形进行合并,并通过确定一个面积阈值A0(最小多边形的设置),将一些面积小于A0的很小的多边形合并到相邻多边形中。
理论上,运用多边形叠置分析方法可进行大量要素的叠置分析,然而,随着地图的不断叠置,图形不断地相交和分割,图形的复杂程度也就不断增大,相应地,叠置处理的时间也就不断变长。

