(三)块式编码(Block Codes)

块式编码是将游程长度编码扩大到二维的情况,把多边形范围划分成由像元组成的正方形,然后对各个正方形进行编码。图 3-10 说明如何对图 3

-9 所示多边形进行分块和编码。

块式编码的数据结构由初始位置(行号,列号)和半径,再加上记录单元的代码组成。根据这一编码原则,上述多边形只需 17 个单位正方形。9 个4 单位的正方形和 1 个 16 单位的正方形就能完整表示。如果该区域是一片森林,用代码 4 表示,则图 3-7 的块式编码为:

(9,2,1,4),(9,3,1,4),(9,6,1,4),(9,8,1,4),

(9,9,2,4)

(10,1,1,4),(10,2,1,4),(10,3,4,4),(10,7,2, 4),(11,1,2,4)

(11,9,1,4),(12,7,2,4),(12,9,1,4),(13,9,1, 4),(13,12,1,4)

(13,13,1,4),(13,14,1,4),(13,15,2,4),(14,5, 1,4),(14,6,1,4)

(14,7,2,4),(14,9,2,4),(14,11,2,4),(14,13,2, 4),(16,9,1,4)

(16,10,1,4),(16,11,1,4)

一个多边形所能包含的正方形越大,多边形的边界越简单,块式编码的效果越好。游程和块式编码都对大而简单的多边形更有效,而对那些碎部较多的复杂多边形效果并不好。块码在合并、插入、检查延伸性、计算面积等操作时有明显的优越性。然而对某些运算不适应,必须再转换成简单数据形式才能顺利进行。