这是 r.compressgrass 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
压缩 - 压缩和解压缩光栅图。
关键词
光栅、地图管理、压缩
概要
压缩
压缩 - 帮帮我
压缩 [-up] 地图=绳子[,绳子,...] [--帮助] [--详细] [--安静] [--ui]
标志:
-u
解压地图
-p
打印输入映射的压缩信息和数据类型
- 帮帮我
打印使用摘要
--详细
详细模块输出
- 安静的
静音模块输出
--用户界面
强制启动 GUI 对话框
参数:
地图=字符串[,字符串……] [必需的]
现有栅格地图的名称
商品描述
压缩 可用于压缩和解压缩栅格地图图层。 此外,它
打印有关输入栅格地图的地图压缩和数据类型的信息。
在压缩过程中,该程序使用游程长度编码 (RLE) 重新格式化栅格地图
或 ZLIB 的“放气”(基于 LZ77)算法。 包含很少的栅格地图图层
信息(例如边界、地质、土壤和土地利用图)可以大大减少
尺寸。 一些栅格地图图层缩小到其原始大小的大约 1%。 光栅图
包含复杂图像(如高程和照片或卫星图像)的图层可能
尺寸略有增加。 所有新生成的栅格地图都会自动存储在
压缩形式(见下面的格式)。 其他模块可以读取压缩和常规
(未压缩的)文件格式。
例如,Spearfish 数据库栅格地图图层 业主 最初是一个大小
26600 字节。 经过 RLE 压缩后,光栅图变成只有 1249 字节(25351
字节更小)。
光栅文件可以手动解压缩以将它们恢复为原始格式,使用
此 -u 的旗帜 压缩。 如果 压缩 被要求压缩一个光栅图,它是
已经压缩(或解压缩已经解压缩的光栅图),它只是
通知用户地图已经(解)压缩并退出。
术语
· INTEGER 地图(CELL 数据类型):来自 INTEGER 类型的栅格地图(仅限整数)
· FLOAT map(FCELL数据类型):来自FLOAT类型的光栅图(4字节,7-9位)
精确)
· DOUBLE 地图(DCELL 数据类型):来自 DOUBLE 类型的栅格地图(8 字节,15-17 位数字)
精确)
· NULL:表示光栅图中“无数据”,与0(零)数据区分开来
折扣值
用过的 压缩 算法
浮点(FCELL、DCELL)栅格地图从不使用 RLE 压缩; 他们要么
使用 ZLIB 压缩或未压缩。
整数 (CELL) 栅格地图默认为 ZLIB 压缩格式或可能保持未压缩状态。 如果
环境变量 GRASS_INT_ZLIB 存在且值为 0,新生成
压缩整数(CELL 类型)栅格地图将使用 RLE 压缩进行压缩
而不是 ZLIB。
在内部 cellhd 文件中,“compressed”的值对于 RLE 是 1,对于 ZLIB 是 2。
显然,解压是由光栅图的压缩控制的,而不是
环境变量。
附注
压缩 可以以非交互方式或交互方式运行。 在非交互式使用中,
用户必须指定要压缩的栅格地图图层的名称(或
解压缩)在命令行上,使用形式 地图=姓名[,姓名,...](其中每个 姓名 is
要压缩或解压缩的栅格地图图层的名称)。 默认行为是
压缩命名映射。
FORMATS
从概念上讲,栅格数据文件由多行像元组成,每行包含
相同数量的细胞。 一个单元由一个或多个字节组成。 每个单元格的字节数
取决于存储在单元格中的类别值。 0-255 范围内的类别值
每个单元格需要 1 个字节,而 256-65535 范围内的类别值需要 2 个字节,并且
65535 以上范围内的类别值需要每个单元格 3(或更多)字节。
这款 解压的 栅格地图格式与概念格式相匹配。 例如,一个栅格
具有 1 个字节单元格的映射,即 100 行,每行 200 个单元格,由 20,000 个字节组成。
运行 UNIX 命令 ls -l 在此文件上将显示 20,000 的大小。 如果细胞是
2 个字节的单元格,该文件将需要 40,000 个字节。 地图图层类别值开始
左上角单元格后跟沿北边界的其他单元格。
第一行最后一个字节后面的字节是第二行的第一个单元格
类别值(从左到右移动)。 没有行尾标记或其他
同步光栅图中的代码。 一个单元格头文件(手机硬盘) 用于定义如何
字节串被分成几行类别值。
这款 压缩 RLE 格式并不那么简单,但其设计非常优雅。 它不是
只需要较少的磁盘空间来存储光栅数据,但通常可以导致更快
执行图形和分析程序,因为磁盘 I/O 较少。 那里有两个
压缩的 RLE 格式:3.0 版之前的格式(GRASS 程序可以读取但不能读取)
更长的生产)和版本 3.0 格式(新光栅时自动使用)
地图图层已创建)。
3.0前 格式:
前 3 个字节(字符) - 这些是将栅格数据标识为的特殊代码
压缩。
地址数组(长) - 指向地址的数组(行数的大小 + 1)
每行的内部开始。 因为每一行的大小可能不同,所以这个数组是
需要提供数据的映射。
一行一行,从数据的北边开始,一系列字节组描述
数据。 每组中的字节数是每个单元格的字节数加一。
每组的第一个字节给出包含的单元格数量的计数(最多 255)
组的剩余字节给出的类别值。
后 3.0 格式:
不使用 3 字节代码。 相反,单元格标题中的字段用于指示
压缩格式。
地址数组是一样的。
RLE 格式与 3.0 之前的 RLE 相同,只是每行数据前面都有
包含行的每个单元格的字节数的单个字节,如果
运行长度编码的行不需要比非运行长度编码更少的空间,
那么该行没有被编码。
这些改进在 3.0% 的栅格中提供了比 99 之前的格式更好的压缩
数据层。 变大的栅格数据层的种类是每一行
如果压缩(例如,图像带文件)会更大。 但即使在这种情况下
栅格数据层只会因地址数组的大小和单个
每行前面的字节。
从 GRASS GIS 7.0.0 开始,Integer (CELL) 地图的默认压缩方法是 deflate
不再是 RLE 压缩。
DEFLATE 压片 水平
如果环境变量 GRASS_ZLIB_LEVEL 存在并且其值可以解析为
整数,它决定了新生成的光栅图时使用的压缩级别
使用 zlib 压缩。 这适用于所有栅格地图类型(CELL、FCELL、
DCELL)。
如果变量不存在,或者值不能解析为整数,zlib的
将使用默认压缩级别。
示例
打印当前压缩状态:
r.compresscompressed_no -p
(级别 0:无)。 数据类型:
将 RLE 压缩应用于未压缩地图的副本:
# 使用 RLE 压缩来压缩地图
g.copy raster=compressed_no,compressed_RLE
导出 GRASS_INT_ZLIB=0 # RLE
r.compress 压缩_RLE
r.compresscompressed_RLE -p
被压缩(级别 1:RLE)。 数据类型:
取消设置 GRASS_INT_ZLIB
将 DEFLATE (ZLIB) 压缩应用于未压缩地图的副本:
# 使用 DEFLATE 压缩来压缩地图
g.copy raster=compressed_no,compressed_DEFLATE
导出 GRASS_INT_ZLIB=1 # 放气
r.compresscompressed_DEFLATE
r.compresscompressed_DEFLATE -p
被压缩(级别 2:DEFLATE)。 数据类型:
取消设置 GRASS_INT_ZLIB
使用 onworks.net 服务在线使用 r.compressgrass