第二节 空间数据结构的类型
要将现实的实体、现象在GIS概念世界表达,需要建立一定的数据模型来描述地理实体及实体关系。数据结构是对数据模型具体的存储表现,通过特定的逻辑组织将地理实体、地理现象在GIS 中记录下来。空间数据结构的建立是根据确定的数据结构类型,形成与该数据结构相适应的GIS空间数据,为空间数据库的建立提供基础。对现实世界的数据表达可以采用矢量数据模型和栅格数据模型。数据结构一般分为基于矢量模型的数据结构和基于栅格模型的数据结构(图2-2)。矢量数据是面向地物的结构,即对于每一个具体的目标都直接赋有位置和属性信息以及目标之间的拓扑关系说明。但是矢量数据仅有一些离数点的坐标,在空间表达方面它没有直接建立位置与地物的关系,如多边形的中间区域是“洞”或“岛”,其间的任何一点并没有与某个地物发生联系。与此相反,栅格数据是面向位置的结构,平面空间上的任何一点都直接联系到某一个或某一类地物。但对于某一个具体的目标又没有直接聚集所有信息,只能通
图2-2 栅格数据结构与矢量数据结构
过遍历栅格矩阵逐一寻找,它也不能完整地建立地物之间的拓扑关系。因而,从概念上形成了基于矢量和基于栅格两种类型的系统,分别用于不同的目的。为了设计一种系统能用于多种目的,目前正在研制一种一体化的数据结构,该数据结构具有矢量和栅格两种结构的特性,称为矢量栅格一体化的数据结构。以下分别介绍上述两种不同类型的数据结构。
一、简单数据结构
在简单数据结构中,空间数据按照以基本的空间对象(点、线或多边形)为单元进行单独组织,不含有拓扑关系数据,最典型的是面条结构。
这种数据结构的主要特点是:
(1)数据按点、线或多边形为单元进行组织,数据编排直观,数字化操作简单。
(2)每个多边形都以闭合线段存储,多边形的公共边界被数字化两次和存储两次,造成数据冗余和不一致。
(3)点、线和多边形有各自的坐标数据,但没有拓扑数据,互相之间不关联。
(4)岛只作为一个单个图形,没有与外界多边形的联系。
二、拓扑数据结构
建立拓扑关系是一种对空间结构关系进行明确定义的数学方法。具有某些拓扑关系的矢量数据结构就是拓扑数据结构,拓扑数据结构是GIS的分析和应用功能所必须的。
空间拓扑关系是指图形发生连续状态下的变形,但图形之间的邻接关系、关联关系和包含关系是保持不变的性质。在拓扑变换(理想橡皮板拉伸或缩短,但不能撕破、扭转或折叠)下,拓扑元素间能够保持不变的几何属性——拓扑属性具有空间分析意义。图形的形状和大小会随着图形的变形而改变,但是实体间的关系不会改变。拓扑关系能清晰地反映实体间的逻辑结构关系,它比几何关系具有更大的稳定性,不随地图投影而发生变化,对数据处理和空间分析具有重要意义。例如:利用拓扑关系有助于空间要素的查询,如供水管网系统中某段水管破裂,找关闭它的阀门,就需要查询该线(管道)与哪些点(阀门)关联。
1.拓扑元素
对二维而言,矢量数据可抽象为点(节点)、线(链、弧段、边)、面(多边形)3种要素,即为拓扑元素。对三维而言,则要加上体。
点(节点)——孤立点、线的端点、面的首尾点、链的连接点等。
线(链、弧段、边)——两节点间的有序弧段。
面(多边形)——若干条链构成的闭合多边形。
2.空间数据的拓扑关系
空间数据拓扑关系的表示方法主要有下述几种:
(1)拓扑关联性。表示空间图形中不同类元素之间的拓扑关系。如结点、弧段及多边形之间的拓扑关系。如图2-3所示的图形,具有面和链之间的关联性:P1/ a1、a5、a6,P2/ a2、a4、a5等;也有链和结点之间的关联性: N1/ a1、a3、a6,N2/ a1、a5、a2等。即从图形的关联性出发,图2-3可用表2-1和表2-2所示的关联表来表示。
用关联表来表示图的优点是每条弧段所包含的坐标点只需存储一次,如果不考虑它们之间的关联性,而以每个多边形的全部封闭链的坐标点来存储数据,不仅数据量大,还无法反映空间关系。
图2-3 拓扑数据结构
(2)拓扑邻接性。拓扑邻接性表示图形中同类元素之间的拓扑关系。如多边形之间的邻接性、链之间的邻接性以及结点之间的邻接性(连通性)。由于链的走向是有方向的,因此,通常用链的左右多边形来表示并求出多边形的邻接性,如表2-5用链的左右多边形表示时,得到表2-6所示。显然,同一弧段的左右多边形必然邻接,从而得到如表2-7所示的邻接矩阵表,表中值为1处,所对应多边形邻接。
表2-1 面与链的拓扑关联
表2-2 链与结点的拓扑关联
表2-3 链和结点之间的关系
表2-4 链和结点之间的关系
表2-5 链与面的拓扑关系
表2-6 面之间的邻接性
表2-7 面之间的邻接性
表2-8 链之间的邻接性
表2-9 结点之间的连通性
同理,从图2-3可以得到如表2-3和表2-4所示的链和结点之间的关系表。由于同一弧段上两个结点必相通,同一结点上的各链必相邻,所以分别得到链之间邻接矩阵和结点之间连通性矩阵如表2-8和表2-9所示。
(3)拓扑包含性。拓扑包含性是表示空间图形中,面状实体所包含的其他面状实体或线状、点状实体的关系。面状实体中包含面状实体的情况又分三种,即简单包含、多层包含和等价包含,如图2-4所示。
图2-4 面状实体之间的包含关系
(a)简单包含;(b)多层包含;(c)等价包含
图2-4(a)中多边形P1包含多边形P2;图2-4(b)中多边形P3包含在多边形P2中,而多边形P2、P3又包含在多边形P1中;图2-5(c)中多边形P2、 P3都包含在多边形P1中,多边形P2、 P3对P1而言是等价包含。
3.拓扑关系的意义
空间数据的拓扑关系,对地理信息系统的数据处理和空间分析,具有重要的意义,因为:
(1)根据拓扑关系,不需要利用坐标或距离,可以确定一种地理实体相对于另一种地理实体的空间位置关系。因为拓扑数据已经清楚地反映出地理实体之间的逻辑结构关系,而且这种拓扑数据较之几何数据有更大的稳定性,即它不随地图投影而变化。
(2)拓扑数据有利于空间要素的查询。例如某区域与哪些区域邻接;某条河流能为哪些行政区的居民提供水源;与某一湖泊邻接的土地利用类型有哪些;特别是野生生物学家可能想确定一块与湖泊相邻的土地覆盖区,用于对生物栖息环境做出评价等,都需要利用拓扑数据。
(3)可以利用拓扑数据作为工具,重建地理实体。例如建立封闭多边形,实现道路的选取,进行最佳路径的计算等。