Đây là lệnh r.compressgrass có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình giả lập trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
r.compress - Nén và giải nén bản đồ raster.
TỪ KHÓA
raster, quản lý bản đồ, nén
SYNOPSIS
r.compress
r.compress --Cứu giúp
r.compress [-up] bản đồ=chuỗi[,chuỗi, ...] [-giúp đỡ] [-dài dòng] [-yên tĩnh] [-ui]
Cờ:
-u
Giải nén bản đồ
-p
In thông tin nén và kiểu dữ liệu của (các) bản đồ đầu vào
--Cứu giúp
In tóm tắt sử dụng
--dài dòng
Đầu ra mô-đun dài dòng
--Yên lặng
Đầu ra mô-đun yên tĩnh
--ui
Buộc khởi chạy hộp thoại GUI
Tham số:
bản đồ=string [, string, ...] [yêu cầu]
Tên của (các) bản đồ raster hiện có
MÔ TẢ
r.compress có thể được sử dụng để nén và giải nén các lớp bản đồ raster. Ngoài ra, nó
in thông tin về nén bản đồ và kiểu dữ liệu của (các) bản đồ raster đầu vào.
Trong quá trình nén, chương trình này định dạng lại bản đồ raster bằng cách sử dụng mã hóa độ dài chạy (RLE)
hoặc thuật toán "xì hơi" (dựa trên LZ77) của ZLIB. Raster các lớp bản đồ chứa rất ít
thông tin (chẳng hạn như ranh giới, địa chất, thổ nhưỡng và bản đồ sử dụng đất) có thể được giảm thiểu đáng kể trong
kích thước. Một số lớp bản đồ raster được thu nhỏ xuống còn khoảng 1% so với kích thước ban đầu của chúng. Bản đồ Raster
các lớp chứa hình ảnh phức tạp như độ cao và ảnh chụp hoặc ảnh vệ tinh có thể
tăng nhẹ về kích thước. Tất cả các bản đồ raster mới được tạo tự động được lưu trữ trong
dạng nén (xem ĐỊNH DẠNG bên dưới). Các mô-đun khác có thể đọc cả nén và thông thường
(không nén) định dạng tệp.
Ví dụ: lớp bản đồ raster cơ sở dữ liệu Spearfish chủ sở hữu ban đầu là một kích thước của
26600 byte. Sau khi nó được nén RLE, bản đồ raster chỉ còn 1249 byte (25351
byte nhỏ hơn).
Các tệp Raster có thể được giải nén theo cách thủ công để trả chúng về định dạng ban đầu bằng cách sử dụng
các -u cờ của r.compress. Nếu r.compress được yêu cầu nén một bản đồ raster
đã được nén (hoặc để giải nén một bản đồ raster đã được giải nén), nó chỉ đơn giản là
thông báo cho người dùng biết bản đồ đã được nén (de) và thoát ra.
THUẬT NGỮ
· Bản đồ INTEGER (kiểu dữ liệu CELL): bản đồ raster từ kiểu INTEGER (chỉ số nguyên)
· Bản đồ FLOAT (kiểu dữ liệu FCELL): bản đồ raster từ kiểu FLOAT (4 byte, 7-9 chữ số
độ chính xác)
· Bản đồ DOUBLE (kiểu dữ liệu DCELL): bản đồ raster từ kiểu DOUBLE (8 byte, 15-17 chữ số
độ chính xác)
· NULL: đại diện cho "không có dữ liệu" trong bản đồ raster, được phân biệt với dữ liệu 0 (không)
giá trị
ĐÃ SỬ DỤNG NÉN THUẬT TOÁN
Bản đồ raster dấu chấm động (FCELL, DCELL) không bao giờ sử dụng nén RLE; họ cũng vậy
nén bằng ZLIB hoặc không nén.
Theo mặc định, bản đồ raster số nguyên (CELL) được nén ZLIB hoặc có thể vẫn không được nén. Nếu như
biến môi trường GRASS_INT_ZLIB tồn tại và có giá trị 0, mới được tạo
Bản đồ raster số nguyên được nén (loại CELL) sẽ được nén bằng cách sử dụng nén RLE
thay vì ZLIB.
Trong tệp cellhd nội bộ, giá trị cho "nén" là 1 cho RLE và 2 cho ZLIB.
Rõ ràng, việc giải nén được kiểm soát bởi tính năng nén của bản đồ raster, không phải
biến môi trường.
GHI CHÚ
r.compress có thể chạy không tương tác hoặc tương tác. Khi sử dụng không tương tác,
người dùng phải chỉ định (các) tên của (các) lớp bản đồ raster sẽ được nén (hoặc
giải nén) trên dòng lệnh, sử dụng biểu mẫu bản đồ =tên[,tên, ...] (mỗi nơi tên is
tên của lớp bản đồ raster được nén hoặc giải nén). Hành vi mặc định là
để nén (các) bản đồ đã đặt tên.
M FORU ĐƠN
Về mặt khái niệm, tệp dữ liệu raster bao gồm các hàng ô, với mỗi hàng chứa
cùng một số ô. Một ô bao gồm một hoặc nhiều byte. Số byte trên mỗi ô
phụ thuộc vào các giá trị danh mục được lưu trữ trong ô. Giá trị danh mục trong phạm vi 0-255
yêu cầu 1 byte trên mỗi ô, trong khi giá trị danh mục trong phạm vi 256-65535 yêu cầu 2 byte và
giá trị danh mục trong phạm vi trên 65535 yêu cầu 3 (hoặc nhiều hơn) byte trên mỗi ô.
giải nén định dạng bản đồ raster phù hợp với định dạng khái niệm. Ví dụ, một raster
ánh xạ với các ô 1 byte là 100 hàng với 200 ô mỗi hàng, bao gồm 20,000 byte.
Chạy lệnh UNIX ls -l trên tệp này sẽ hiển thị kích thước 20,000. Nếu các ô được
2 ô byte, tệp sẽ yêu cầu 40,000 byte. Giá trị danh mục lớp bản đồ bắt đầu
với ô góc trên bên trái, tiếp theo là các ô khác dọc theo ranh giới phía bắc.
Byte theo sau byte cuối cùng của hàng đầu tiên đó là ô đầu tiên của hàng thứ hai
giá trị danh mục (di chuyển từ trái sang phải). Không có điểm đánh dấu cuối hàng hoặc khác
đồng bộ hóa mã trong bản đồ raster. Tệp tiêu đề ô (di động) được sử dụng để xác định cách thức này
chuỗi byte được chia thành các hàng giá trị danh mục.
nén Định dạng RLE không đơn giản như vậy, nhưng khá trang nhã trong thiết kế của nó. Nó không
chỉ yêu cầu ít dung lượng đĩa hơn để lưu trữ dữ liệu raster, nhưng thường có thể dẫn đến nhanh hơn
thực thi các chương trình đồ họa và phân tích vì có ít I / O đĩa hơn. Có hai
định dạng nén RLE: định dạng trước phiên bản 3.0 (mà các chương trình GRASS có thể đọc nhưng không
sản xuất lâu hơn) và định dạng phiên bản 3.0 (được tự động sử dụng khi raster mới
các lớp bản đồ được tạo).
TRƯỚC 3.0 ĐỊNH DẠNG:
3 byte đầu tiên (ký tự) - Đây là một mã đặc biệt xác định dữ liệu raster là
nén.
Mảng địa chỉ (dài) - mảng (kích thước của số hàng + 1) địa chỉ trỏ đến
bắt đầu nội bộ của mỗi hàng. Bởi vì mỗi hàng có thể có kích thước khác nhau, mảng này là
cần thiết để cung cấp ánh xạ dữ liệu.
Từng hàng, bắt đầu từ mép phía bắc của dữ liệu, một loạt các nhóm byte mô tả
dữ liệu. Số byte trong mỗi nhóm là số byte trên mỗi ô cộng với một ô.
Byte đầu tiên của mỗi nhóm cho biết số lượng ô chứa
giá trị danh mục được cung cấp bởi các byte còn lại của nhóm.
BÀI ĐĂNG-3.0 ĐỊNH DẠNG:
Mã 3 byte không được sử dụng. Thay vào đó, một trường trong tiêu đề ô được sử dụng để biểu thị
định dạng nén.
Mảng địa chỉ cũng vậy.
Định dạng RLE giống với RLE trước 3.0, ngoại trừ mỗi hàng dữ liệu được đặt trước
một byte đơn chứa số byte trên mỗi ô cho hàng và nếu
mã hóa theo chiều dài hàng sẽ không yêu cầu ít dung lượng hơn mã hóa không theo chiều dài,
thì hàng không được mã hóa.
Những cải tiến này cho khả năng nén tốt hơn so với định dạng trước 3.0 ở 99% raster
các lớp dữ liệu. Các loại lớp dữ liệu raster lớn hơn là những loại trong đó mỗi hàng
sẽ lớn hơn nếu được nén (ví dụ: tệp dải hình ảnh). Nhưng ngay cả trong trường hợp này,
lớp dữ liệu raster sẽ chỉ lớn hơn bằng kích thước của mảng địa chỉ và
byte trước mỗi hàng.
Kể từ GRASS GIS 7.0.0, phương pháp nén mặc định cho bản đồ Số nguyên (CELL) là deflate
và không phải là nén RLE nữa.
Deflate nén cấp
Nếu biến môi trường GRASS_ZLIB_LEVEL tồn tại và giá trị của nó có thể được phân tích cú pháp dưới dạng
số nguyên, nó xác định mức độ nén được sử dụng khi các bản đồ raster mới được tạo
nén bằng cách sử dụng nén zlib. Điều này áp dụng cho tất cả các loại bản đồ raster (CELL, FCELL,
DCELL).
Nếu biến không tồn tại hoặc giá trị không thể được phân tích cú pháp dưới dạng số nguyên, zlib's
mức nén mặc định sẽ được sử dụng.
VÍ DỤ
In trạng thái nén hiện tại:
r.compress nén_no -p
(mức 0: KHÔNG). Loại dữ liệu:
Áp dụng tính năng nén RLE cho một bản sao của bản đồ không được nén:
# nén bản đồ bằng cách sử dụng tính năng nén RLE
g.copy raster = archive_no, fixed_RLE
xuất GRASS_INT_ZLIB = 0 # RLE
r.compress nén_RLE
r.compress nén_RLE -p
được nén (mức 1: RLE). Loại dữ liệu:
hủy đặt GRASS_INT_ZLIB
Áp dụng tính năng nén DEFLATE (ZLIB) cho một bản sao của bản đồ không được nén:
# nén bản đồ bằng tính năng nén DEFLATE
g.copy raster =ression_no, nén_DEFLATE
export GRASS_INT_ZLIB = 1 # deflate
r.compress được nén_DEFLATE
r.compress nén_DEFLATE -p
được nén (cấp độ 2: DEFLATE). Loại dữ liệu:
hủy đặt GRASS_INT_ZLIB
Sử dụng r.compressgrass trực tuyến bằng các dịch vụ onworks.net