栅格数据的图像压缩和编码

图像压缩技术

栅格数据由网格单元组成。与其由顶点和路径组成的矢量对应物不同。这是 GIS 中的两种主要空间数据类型

准确度取决于像元大小。像元大小必须足够小以捕获所需的细节。随着分辨率的增加,单元格的大小会减小。但这是以处理和数据存储速度为代价的。

原始状态下的栅格存储效率低下,因为它通常从左上角开始逐行存储值。

没有恐惧:

提高光栅大小效率的方法是通过图像压缩。并且有多种方法可以使用 GIS 压缩来减小文件大小并仍然保持数据质量。

让我们看一些如何压缩光栅图像的示例:

运行长度编码——分组数据行

游程编码逐行存储单元格。游程编码不是记录每个单独的单元格值,而是按行对单元格值进行分组。

拿这行数据:
AAAAAABBBBCCCCCCCCC

它可以呈现为:
6A4B9C

这种图像编码方法减少了数据量,因为每一行都被更有效地记录了。即使保存了相同的信息,相同的值也会存储为字符串。

在上面的示例中,第一行是空白的,存储为 (0,8)。这意味着有 8 个单元格,它们都是零。在第二行中,有 4 个连续的零,因此它的值为 (0,4)。在此之后,我们有三个连续的单元格,其值为 1,因此它的值为 (1,3)。这一直持续到它到达右下角的单元格。

游程编码

块编码——分组数据块

块编码栅格存储技术分配由块组成的区域以减少冗余。

块编码光栅图像压缩方法将整个光栅图像细分为层次块。它是游程编码技术的扩展,但将其扩展到二维。

在上面的例子中:

不需要存储 64 个网格单元,只需要 7 个块。使用块编码,需要一个 3×3 块、两个 2×2 块和四个 1×1 单元块来编码此光栅图像。

在此块编码示例中,左上角用作每个块的参考。

块编码

链式编码——定义外部边界

链式编码使用距起点的相对位置定义外边界。外部序列存储在端点在起点处结束的位置。

在编码过程中,方向被存储为一个整数。但是,在本示例中,为简单起见,我们使用基本方向。例如,值 0 是北,1 是东。

在示例中,我们从位置 (5,2) 开始。从这里我们使用基本方向和移动次数定义边界。我们向东移动 3 个位置,直到到达边缘。在这个位置,我们向南移动 4 个位置。这个过程一直持续到终点到达起点。

注意:仅在本练习中,我们使用北、东、南和西作为字母值。编码时,它是一个数值。

链式编码

四叉树编码——将数据细分为四分之一

四叉树是基于连续减少同类单元格的栅格数据结构。它递归地将光栅图像细分为四分之一。细分过程一直持续到每个像元都被分类为止。

四叉树

它降低了栅格存储要求。它还取决于特征的复杂性和最小网格单元的分辨率。

在示例中,左上角和右下角的 8×8 网格不需要进一步细分,因为它们是同质的。右上角的 8×8 网格被细分为三个 4×4 网格。剩余的 4×4 网格被分成 4 个单独的类别。

图像压缩减小文件大小

GIS数据丰富。随着卫星每天获取图像,栅格数据是首选的空间模型。但是您将使用哪种格式?

部署高效的光栅图像压缩技术意味着减少存储空间。这是压缩数据的主要好处。

它可以节省金钱和时间。您还可以提高网络性能,因为您使用的数据量减少了。

我们为您提供了光栅编码技术的概述,以帮助您节省宝贵的磁盘存储空间。现在轮到您尝试图像压缩及其可为您或您的组织带来的好处。

You may also like...