栅格中的每个像元是栅格数据中最基本的信息存储单元,其坐标位置可以用行号和列号确定。由于栅格数据是按一定规则排列的,所以表示的实体位置关系隐含在行号、列号之中。
栅格数据结构
用规则格网单元表示地理实体及现象分布状态的空间数据组织方式。
- 英文名称
- raster data structure
- 所属学科
- 测绘学
表示栅格数据结构,一般是把栅格数据中各像素的值存储于一个二维数组的对应元素中。这种方式适合于灰度级大的浓淡图像的存储以及在通用计算机中的处理,是最常采用的一种方式。
如果栅格数据内的全体像素按照某一顺序排序赋予一维的连续号码,则能够把栅格数据存储到一维数组中。前述的二维数组,在计算机内部存储时也变成一维数组。也有其他方法,即不存储栅格数据全体,而只是把应该存储的像素的信息,按照一定规则存储到一维数组中。这种方法主要在栅格数据中用来存储图形轮廓线信息等。
栅格数据存储压缩编码方式主要包括直接栅格编码、链式编码、行程编码、块式编码和四叉树编码。
是最简单、最直观而又非常重要的一种栅格结构编码方法。直接栅格编码是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐像元记录,也可奇数行从左到右记录,而偶数行由右向左记录,为了特定目的还可采用其他特殊的顺序。栅格结构不论采用何种压缩方法,其逻辑原型都是直接编码的网格文件。
又称为弗里曼链码(Freeman)或边界链码。链式编码对线和多边形的表示具有很强的数据压缩能力,且具有一定的运算功能,如多边形面积和周长的计算等,因此探测边界急弯和凹进部分等都比较容易。但是,对于组合、相交等叠置运算则难以实施,除非还原成栅格结构,而且公共边界需要存储两次,从而产生多余的数据。
可以在各行(或列)数据的代码发生变化时,依次记录该代码及相同代码重复的个数,即按属性值、重复个数格式编码;也可以逐个记录各行(或列)代码发生变化的位置和相应的代码,即按位置、属性值格式编码。
是将行程编码扩大到二维,把多边形范围划分成由像元组成的正方形,然后对各个正方形进行编码。块式编码数据结构中包括3个数字:块的原点坐标(一般为块的左上角像元的行、列号)和块的大小(块的边长),再加上记录单元的代码组成。
一个多边形所包含的正方形越大,多边形的边界越简单,块式编码的效率就越高。行程和块式编码都对大而简单的多边形更有效,而对那些碎部较多的复杂多边形效果并不好。块式编码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。但对某些运算必须再转换成简单栅格数据形式才能进行。
将一幅栅格地图或一幅图像等分为四部分,逐块检查其格网属性值(或灰度)。如果检查到某个子区的所有格网都含有相同的值,那么这个子区域就不再往下分割;否则,把这个区域再分割成四个子区域,这样递归地分割,直至每个子块都只含有相同的灰度或属性值为止。四叉树编码的最大特点是转换的不定性,同一形状和大小的多边形可能得出多种不同的四叉树结构,故不利于形状分析和模式识别。
扩展阅读
- Freeman H.On the encoding of arbitrary geometric configurations.IRE Transactions on Electronic Computers,1961,(2):260-268.