来源:互联网
地理信息系统要对自然对象进行描述、表达和分析,首先就要建立合理的数据模型以 存储地理对象的位置、属性以及动态变化等信息,合理的数据模型是进行空间分析的基础。 这里我们就对常见的数据模型进行介绍。
现实世界错综复杂,从系统的角度来看,空间事物或实体的运动状态和运动方式不断发生变化,系统的诸多组成要素之间存在着相互制约、相互作用的依存关系,表现为人口、 质、能量、信息、价值的流动和作用,反映不同的空间现象和问题。为了控制和调节空间 系统的物质流、能量流和人口流等,使之转移到期望的状态和方式,实现动态平衡和持续 发展,人们开始考虑对其中诸多组成要素的空间状态、相互依存关系、变化过程、相互作 用规律、反馈规律、调制机理等进行数字模拟和动态分析,在客观上为地理信息系统提供 了良好的应用环境和重要发展动力。
空间分析是基于地理对象的位置和形态特征的空间数据分析技术。空间分析方法必然要受到空间数据表示形式的制约和影响,因此,在研究空间分析时,就不能不考虑空间数 据表示方法与数据模型。
空间数据表示的基本任务是将以图形模拟的空间物体表示成计算机能够接受的数字形 式,因此空间数据的表示必然涉及空间数据模式和数据结构问题。
空间数据通常分为栅格模型和矢量模型两种基本的表示模型。此外矢量栅格一体化、三维数据模型、时空数据模型等由于自身的特点,代表数据模型发展的方向。
在栅格模型中,地理空间被划分为规则的小单元(像元),空间位置由像元的行列号表 示。像元的大小反映数据的分辨率,空间物体由若干像元隐含描述。例如一条道路由其值 为道路编码值的一系列相邻的像元表示,要从数据库中删除这条道路,则必须将所有有关 像元的值改变成该条道路的背景值。栅格数据模型的涉及思想是将地理空间看成一个连续的整体,在这个空间中处处有定义。 栅格结构是以规则的阵列来表示空间地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。如图1 所示,在栅格结构中,点用一个栅格单元表示;线状地物则用沿线走向的一组相邻栅格单元表示,每个栅格单元最多只有两个相邻单 元在线上;面或区域用记有区域属性的相邻栅格单元的集合表示,每个栅格单元可有多于 两个的相邻单元同属一个区域。任何以面状分布的对象(土地利用、土壤类型、地势起伏、 环境污染等),都可以用栅格数据逼近。遥感影像就属于典型的栅格结构,每个象元的数字表示影像的灰度等级。
栅格结构的显著特点是:属性明显,定位隐含,即数据直接记录属性的指针或属性本 身,而所在位置则根据行列号转换为相应的坐标给出,也就是说定位是根据数据在数据集 中的位置得到的。由于栅格结构是按一定的规则排列的,所表示的实体的位置很容易隐含 在网格文件的存贮结构中,在后面讲述栅格结构编码时可以看到,每个存贮单元的行列位 置可以方便地根据其在文件中的记录位置得到,且行列坐标可以很容易地转为其他坐标系下的坐标。
在网格文件中每个代码本身明确地代表了实体的属性或属性的编码,如果为属性的编 码,则该编码可作为指向实体属性表的指针。图1 中表示了一个代码为6 的点实体,一 条代码为9 的线实体,一个代码为7 的面实体。由于栅格行列阵列容易为计算机存储、操 作和显示,因此这种结构容易实现,算法简单,且易于扩充、修改,也很直观,特别是易于同遥感影像结合处理,给地理空间数据处理带来了极大的方便,受到普遍欢迎,许多系 统都部分和全部采取了栅格结构,栅格结构的另一个优点是,特别适合于FORTRAN、 BASIC 等高级语言作文件或矩阵处理,这也是栅格结构易于为多数地理信息系统设计者接 受的原因之一。
栅格结构表示的地表是不连续的,是量化和近似离散的数据。在栅格结构中,地表被 分成相互邻接、规则排列的矩形方块(特殊的情况下也可以是三角形或菱形、六边形等), 每个地块与一个栅格单元相对应。栅格数据的比例尺就是栅格大小与地表相应单元大小之比。在许多栅格数据处理时,常假设栅格所表示的量化表面是连续的,以便使用某些连续函数。由于栅格结构对地表的量化,在计算面积、长度、距离、形状等空间指标时,若栅格尺寸较大,则会造成较大的误差,同时由于在一个栅格的地表范围内,可能存在多于一种的地物,而表示在相应的栅格结构中常常只能是一个代码。这类似于遥感影像的混合象元问题,如landsat MSS卫星影像单个象元对应地表79×79m的矩形区域,影像上记录的光谱数据是每个象元所对应的地表区域内所有地物类型的光谱辐射的总和效果。因而,这种误差不仅有形态上的畸变,还可能包括属性方面的偏差。虽然栅格数据模型在表示空间要素的精确位置时有缺点,但在诸多算法中,栅格可以看成行与列的矩阵,其单元值储存为 二维数组。常用的编程语言易于处理数组变量,栅格数据模型对于数据的操作、集合和分析比矢量数据模型容易。
矢量模型将地理空间看成一个空间区域,地理要素存在于其间。在矢量模型中,各类地理要素根据其空间形态特征分为点、线、面三类,对实体是位置显式、属性隐式进行描述的。
点实体包括由单独一对x,y 坐标定位的一切地理或制图实体。在矢量数据结构中,除点实体的x,y 坐标外还应存储其它一些与点实体有关的数据来描述点实体的类型、制图符 号和显示要求等。点是空间上不可再分的地理实体,可以是具体的也可以是抽象的,如地物点、文本位置点或线段网络的结点等,如果点是一个与其它信息无关的符号,则记录时应包括符号类型、大小、方向等有关信息;如果点是文本实体,记录的数据应包括字符大小、字体、排列方式、比例、方向以及与其它非图形属性的联系方式等信息。 对其它类型的点实体也应做相应的处理。
线实体用其中心轴线(或侧边线)上的抽样点坐标串表示其位置和形状;线实体可以定义为直线元素组成的各种线性要素,直线元素由两对以上的x,y 坐标定义。最简单的线 实体只存储它的起止点坐标、属性、显示符等有关数据。
面实体用范围轮廓线上的抽样点坐标串表示位置和范围,多边形面(有时称为区域)数据是描述地理空间信息的最重要的一类数据。在区域实体中,具有名称属性和分类属性的,多用多边形表示,如行政区、土地类型、植被分布等;具有标量属性的有时也用等值线描述(如地形、降雨量等)。
图1 为地理数据模型示意图,其中(a)为图形模拟表示的地理对象;(b)为该空间对象对应的栅格数据模型表示;(c)为对应的矢量模型表示。
图1 地理数据模型示意图
栅格数据模型和矢量数据模型是描述地理现象最常见、最通用的数据模型。 栅格数据与矢量数据的最大区别是前者用元子空间充填集合表示,后者用点串序列表达边界形状及分布。因此栅格数据面向空间的数据结构在布尔运算、整体操作特征计算及 空间检索方面有着明显的优势,而矢量数据面向目标的数据结构则很容易实现模型生成、 目标显示及几何变换。鉴于栅格与矢量两种数据结构的优劣互补性,研究栅格矢量一体化 数据结构已成为新一代GIS 软件开发的基础。
随着二维制图和GIS 的迅猛发展和广泛应用,使得不同领域的人们都在无意识的接受将三维空间简化为二维投影的概念模型。应用的深入和实践的需要渐渐暴露了二维GIS 的缺陷,目前GIS 工作者不得不思考地理空间的三维本质特征及在三维空间概念模型下的一系列处理方法,首先对于空间实体的描述在几何坐标上增加了第三维的信息,即垂向坐标信息。垂向坐标信息的增加导致了空间拓扑关系的复杂,出现了许多不同于二维数据模型有待于解决的新问题。合理高效的三维数据模型的建立以及在此基础上进行三维分析是 GIS 发展的趋势。
传统的地理信息系统应用只涉及地理信息空间维度和属性维度两个方面的内容,对空间对象进行静态的描述和表达。然而,世界是发展变化的,对于对象的表述应该介入时间维参数。这样就要求建立能够对空间对象进行时间和空间全面动态描述的数据模型——时空数据模型。
各种数据模型都有自己的优点和不足,从栅格数据模型、矢量数据模型、矢栅一体化数据模型、三维数据模型到时空数据模型,可以看出,数据模型发展的趋势是趋于更完整、 更全面、的、动态的对空间对象进行表达,同时数据结构也趋于复杂。在实际的应用中,根据不同的应用目的和应用层面,选用适当的数据模型对对象进行表达和分析。