表2.2表明了游程编码的主要规则。有相同属性值的邻近像元被合并在一起称为一个游程,游程用一对数字表达;每个游程对中的第一个值表示游程长度,第二个值表示游程属性值(类别);每一个新行都以一个新的游程开始。表达游程长度的位数取决于影像的列数,游程属性值则取决于影像的最大类别数。通常用两个字节存贮游程长度,一个字节存贮游程属性值。
为进一步压缩,可以让游程跨行或跨列,属于同一类的像元归为一个游程。一幅大小为1024×1024,类别值全部为1的影像的游程编码对是(1048576,1)。但这个特殊的游程长度已无法用两个字节来表示。对数字化地图进行游程编码能大大节省存贮空间,即使是一幅平均游程长度很小的卫星影像图,也能节省部分存贮空间。
3)Morton顺序和Morton坐标
完全栅格结构的扫描顺序对游程编码的效率有较大影响。图2.19表明了四种扫描顺序:行序(Row order)、行主序(Row-Prime order)、Morton)顺序和Hilbert-Peano)顺序。
根据Morton顺序把影像中的像素相连得到的轨迹呈“Z”字形(图2.19C),“Z”方形影像(边长是2的指数倍)中的像元可以用Morton地址来建立索引,每个Morton坐标是Morton轨迹中表示空间位置的一个简单的数值。Morton坐标有利于空间查询,两个坐标值合成了一个值,不再需要分别查找行和列。Morton索引可大大提高某些操作的效率,如查找地图上靠近某一特定位置的类别值等。
在Morton序列中的像元从不交叉,从而减少了数值的跳跃。该轨迹以2×2的模式递推排序,各层均如此,如图2.20所示,在第二层(LEVEL 2)有4个等大的矩形块它们分别是0、1、2和3,在第一层(LEVEL 1),3个第二层的矩形块又被细分了,在第零层(LEVEL0),3个第一层的矩形块又被细分。Morton坐标系中的数位与层和块的大小成反比。
4)区域四叉树和八叉树
四叉树和八叉树都是层型的数据结构。它们分别把某像元块连续等分成四块或八块。
假设有一个8×8的栅格图像(如图2.21A),像元值以黑(为1)白(为0)二值分布。把该图像分成四份,每块如果由黑白混合组成则进一步四分,至到得到属性均一的图块,在图像化分的第三个阶段(第零级),图像块就等于像元。在图2.21B中,最大的图斑块依Mor-ton顺序显示,并从西南角起始标上了十进制注记符。