GIS中的栅格数据结构

一、栅格数据
1、栅格数据:栅格数据结构实际就是像元阵列,每个像元由行列确定它的位置。由于栅格结构是按一定的规则排列的,所表示的实体位置很容易隐含在网络文件的存储结构中,且行列坐标可以很容易地转为其它坐标系下的坐标。在网络文件中每个代码本身明确地代表了实体的属性或属性的编码。
    2、栅格数据的优点:在栅格数据结构中,点实体表示为一个像元;线实体则表示为在一定方向上连接成串的相邻像元集合;面实体由聚集在一起的相邻像元结合表示。这种数据结构很适合计算机处理,因为行列像元阵列非常容易存储、维护和显示。

3、栅格数据的缺点:用栅格数据表示的地表是不连续的,是量化和近似离散的数据,是地表一定面积内 (像元地面分辨率范围内)地理数据的近似性,如平均值、主成分值或按某种规则在像元内提取的值等;另一方面,栅格数据的比例尺就是栅格大小与地表相应单元大小之比。像元大小相对于所表示的面积较大时,对长度、面积等的度量有较大影响,这种影响还与计算长度、面积的方法有关。如图1(a)中a点与c点之间的距离是5个单位,但在图1(b)中,ac之间的距离可能是7,也可能是4,取决于算法。如以像元边线计算则为7,以像元为单金大会则为4。同样,图1(a)中三角形的面积为6个平方单位,而图1(b)中则为7个平方单位,这种误差随像元的增大而增加。
图 1:栅格数据对量测量的影响
二、栅格数据的取值方法:
栅格数据的取得,可在专题地图上均匀地划分网格(相当于将一透明方格纸覆盖在地图上),每一单位格子覆盖部分的属性数据便成为图中各点的值,最后形成栅格数字地图文件。 也可以用数字化仪跟踪,得到矢量 栅格数据 后再转换为网格,或用扫描数字化方法,逐步扫描专题地图,将扫描 数据 重采样和再编码得到 栅格数据 文件
栅格数据的获取需尽可能保持原图或原始数据的精度。在决定代码时尽可能保持地表的真实性,保证最大的信息容量。图形用网格覆盖后,常常会在同一格子下对应了几种不同的属性值,而每一个单元只能取一个值,在这种情况下,有不同的取值方法:
中心点法 :用处于栅格中心处的地物类型或现象特性决定栅格代码。
面积占优法 :以占栅格最大的地物类型或现象特征决定栅格代码。
长度占优法 :当覆盖的格网过中心部位时,横线占据该格中的大部分长度的属性值定为该栅格的代码。
重要性法 :根据栅格内不同地物的重要性,选取最主要的地物类型决定相应的栅格单元代码。对于特别重要的地理实体,其所在的区域尽管面积很小或不在中心,也采取保留的原则,台稀有金属矿区域等。
为了逼近原始数据精度,除了采用上述几种取值方法外,还可以采用缩小单个栅格单元的面积,增加栅格单元总数的方法,这样行列数也相应增加,每个栅格单元可代表更细小的地物类型,然而增加栅格个数、提高精度的同时也带来了一个严重的问题,那就是数据量的大幅度增加,数据冗余严重。为了解决这一矛盾,现已发展了一系列栅格数据压缩编码方法,如键码、游程长度编码、块码和四分树编码等。
三、编码方法
1、直接栅格编码
这是最简单直观而又非常重要的一种栅格结构编码方法,通常称这种编码的图像文件为网格文件或栅格文件,栅格结构不论采用何种压缩编码方法,其逻辑原型都是直接编码网格文件。直接编码就是将栅格数据看作一个数据矩阵,逐行(或逐列)逐个记录代码,可以每行都从左到右逐个象元记录,也可以奇数行地从左到右而偶数行地从右向左记录,为了特定目的还可采用其他特殊的顺序。
2、压缩编码方法
目前有一系列栅格数据压缩编码方法,如键码、游程长度编码、块码和四叉树编码等。其目的,就是用尽可能少的数据量记录尽可能多的信息,其类型又有信息无损编码和信息有损编码之分。信息无损编码是指编码过程中没有任何信息损失,通过解码操作可以完全恢复原来的信息,信息有损编码是指为了提高编码效率,最大限度地压缩数据,在压缩过程中损失一部分相对不太重要的信息,解码时这部分难以恢复。在地理信息系统中多采用信息无损编码,而对原始遥感影像进行压缩编码时,有时也采取有损压缩编码方法。
1 )链码( Chain Codes
链码又称为弗里曼链码[Freeman]或边界链码,链码可以有效地压缩栅格数据,而且对于估算面积、长度、转折方向的凹凸度等运算十分方便,比较适合于存储图形数据。缺点是对边界进行合并和插入等修改编辑工作比较困难,对局部的修改将改变整体结构,效率较低,而且由于链码以每个区域为单位存储边界,相邻区域的边界将被重复存储而产生冗余。
2 )游程长度编码( Run-Length Codes
游程长度编码是栅格数据压缩的重要编码方法,它的基本思路是:对于一幅栅格图像,常常有行(或列)方向上相邻的若干点具有相同的属性代码,因而可采取某种方法压缩那些重复的记录内容。其方法有两种方案:一种编码方案是,只在各行(或列)数据的代码发生变化时依次记录该代码以及相同的代码重复的个数,从而实现数据的压缩。
游程长度编码在栅格压缩时,数据量没有明显增加,压缩效率较高,且易于检索,叠加合并等操作,运算简单,适用于机器存储容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况。
3 )块码( Block codes
块码是游程长度编码扩展到二维的情况,采用方形区域作为记录单元,每个记录单元包括相邻的若干栅格,数据结构由初始位置(行、列号)和半径,再加上记录单位的代码组成。
块码具有可变的分辨率,即当代码变化小时图块大,就是说在区域图斑内部分辨率低;反之,分辨率高以小块记录区域边界地段,以此达到压缩的目的。因此块码与游程长度编码相似,随着图形复杂程度的提高而降低效率,就是说图斑越大,压缩比越高;图斑越碎,压缩比越低。块码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。然而在某些操作时,则必须把游程长度编码和块码解码,转换为基本栅格结构进行。
4 )四叉树( Quadtrees
四叉树又称四元树或四分树,是最有效的栅格数据压缩编码方法之一,绝大部分图形操作和运算都可以直接在四叉树结构上实现,因此四叉树编码既压缩了数据量,又可大大提高图形操作的效率。四叉树将整个图像区逐步分解为一系列被单一类型区域内含的方形区域,最小的方形区域为一个栅格象元,分割的原则是,将图像区域划分为四个大小相同的象限,而每个象限又可根据一定规则判断是否继续等分为次一层的四个象限,其终止判据是,不管是哪一层上的象限,只要划分到仅代表一种地物或符合既定要求的少数几种地物时,则不再继续划分,否则一直划分到单个栅格象元为止。四叉树通过树状结构记录这种划分,并通过这种四叉树状结构实现查询、修改、量算等操作。
四叉树中象限的尺寸是大小不一的,位于较高层次的象限较大,深度小即分解次数少,而低层次上的象限较小,深度大即分解次数多,这反映了图上某些位置单一地物分布较广而另一些位置上的地物比较复杂,变化较大。正是由于四叉树编码能够自动地依照图形变化而调整象限尺寸,因此它具有极高的压缩效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值