# 概述
一、栅格数据模型
在栅格数据模型中,它的基本单元是一个格网,每个格网称为一个栅格(像元),被赋予一个特定值。这种规则格网通常采用三种基本形式:正方形、三角形、六边形(如下图)。每种形状具有不同的几何特性。其一是方向性:正方形和六边形栅格数据模型中的所有格网都具有相同的方向,而三角形栅格数据模型中的格网却具有不同的方向;其二是可再分性:正方形和三角形格网都可以无限循环地再细分成相同形状的子格网,而六边形格网则不能进行相同形状的无限循环再分;其三是对称性:每个六边形格网的邻居与该六边形格网等距,也就是说该六边形格网的中心点到其周围的邻居格网的中心点的距离相等,而三角形和正方形格网就不具备这一特征。
栅格模型中最常用的也是最简单的是正方形格网,除了因为它具有上述方向性和可再分性外,还因为大多数栅格地图和数字图像都采用了这种栅格数据模型。
栅格模型的缺点在于难以表示不同要素占据相同位置的情况,这是因为一个栅格被赋予一个特定的值。因而一幅栅格地图仅适宜表示一个主题(土地貌、土地利用等)。
在栅格模型中,栅格大小的确定是一个关键,根据抽样原理,当一个地物的面积小于1/4个栅格时就无法予以描述,而只有面积大于一个栅格时才能确保被反映出来。从中可以发现很多栅格具有相同的值,数据冗余非常大。在地图数据库中,为了节约存储空间,通常不是直接存储每个像元的值,而是采用一定的数据压缩方法,常用的有“行程编码”和“四叉树”方法。
行程编码
行程编码方法是逐行将具有相同取值的栅格用两个数值(L,V)表示,L表示栅格数,V表示栅格的值。行程编码法也可以是按列压缩,其压缩倍率与按行压缩一般不相等。行程编码的数据在处理时需要还原,因此研究数据压缩还应考虑到数据还原的可能性与方便性。
四叉树
四叉树是一个分层的多分辨率的栅格地图表示方法。它首先将整幅图以2*2的方式四等分,如果其中任一栅格内属性不唯一,则将该栅格再进行2*2四等分,如此循环直至每个栅格内的值唯一(如下图),就是一个对多边形表示的面状地物的四叉树描述,每个像元的大小并不相等,各像元根据其所处层次的编号逐层记录,如图1号和6号像元处于第一层,2、3、4、5、11、12、13号像元处于第二层,7、8、9、10号像元处于第三层,以此类推。四叉树就其本质而言不仅是一种数据压缩方法,还是一种数据结构,用四叉树表示的栅格地图一般无需还原即可进行数据分析。四叉树曾经是一个相当活跃的研究领域,基于四叉树的算法非常丰富。
二、栅格和矢量数据模型的比较
栅格模型与矢量模型似乎是两种截然不同的空间数据结构,栅格模型“属性明显、位置隐含”,而矢量模型“位置明显、属性隐含”,栅格数据操作总的来说比较容易实现,尤其是作为斑块图件的表示更易于为人们接受;而矢量数据操作则比较复杂,许多分析操作(如两张地图的覆盖操作,点或线状地物的邻域搜索等)用矢量模型实现十分困难,矢量模型表达线状地物是比较直观的,而面状地物则是通过对边界的描述而表达。无论哪种结构,数据精度和数据量都是一对矛盾,要提高精度,栅格模型需要更多的栅格单元,而矢量模型则需记录更多的线段结点。一般来说,栅格模型只是矢量模型在某种程度上的一种近似,如果要使栅格模型描述的图件取得与矢量模型同样的精度,甚至仅仅在量值上接近,则数据也要比后者大得多。
栅格模型在某些操作上比矢量模型更有效更易于实现,如按空间坐标位置的搜索,对于栅格模型是极为方便的,而对矢量模型则搜索时间要长得多;在给定区域内的统计指标运算,包括计算多边形形状、面积、线密度、点密度,栅格模型可以很快算得结果,而采用矢量模型则由于所在区域边界限制条件难以提取而降低效率,对于给定范围的开窗、缩放栅格模型也比矢量模型优越;另一方面,矢量模型用于拓扑关系的搜索则更为高效,即诸如计算多边形形状搜索邻域、层次信息等;对于网络信息只有矢量模型才能完全描述;矢量模型在计算精度与数据量方面的优势也是矢量模型比栅格模型受到欢迎的原因之一,采用矢量模型记录数据量大大少于栅格模型的数据量。
栅格模型除了可使大量的空间分析模型得以容易实现之外,还具有以下两个特点:
(1)易于与遥感相结合。遥感影像是以像元为单位的栅格模型,可以直接将原始数据或经过处理的影像数据纳入栅格模型的地理信息系统。
(2)易于信息共享。目前还没有一种公认的矢量模型地图数据记录格式,而不经压缩编码的栅格格式即整数型数据库阵列则易于为大多数程序设计人员和用户理解和使用,因此以栅格数据为基础进行信息共享的数据交流较为实用。
许多实践证明,栅格模型和矢量模型在表示空间数据上可以是同样有效的,对于一个GIS软件,较为理想的方案是采用两种数据结构,即栅格模型与矢量模型并存,对于提高地理信息系统的空间分辨率、数据压缩率和增强系统分析、输入输出的灵活性十分重要。两种格式的比较见下表:
三、栅格数据组织
栅格数据的数据组织形式有栅格目录、栅格数据集和金字塔三种形式。其中金字塔数据是组织在栅格数据中的。