Khi bắt đầu câu hỏi của bạn, bạn hỏi về việc đi từ 32 bit đến 8 bit và cuối cùng bạn hỏi về cách đi khác, vì vậy đây sẽ là một câu trả lời chung chung.
Hầu hết các hàm GDAL cho phép bạn chỉ định độ sâu pixel bằng thẻ dòng lệnh -ot
(ví dụ: xem tài liệu về gdal_translate hoặc gdal_rasterize ). Công tắc -ot có thể lấy các giá trị Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64.
Trong QGIS, nếu bạn muốn buộc đầu ra từ hàm GDAL cung cấp cho bạn độ sâu pixel cụ thể thay vì mặc định, thì hãy chỉnh sửa dòng lệnh để bao gồm công tắc -ot với bất kỳ độ sâu pixel nào bạn muốn. Chẳng hạn, đi Raster-> Chuyển đổi-> Dịch. Ở dưới cùng của hộp thoại (ít nhất là trong phiên bản 1.9), bạn sẽ thấy lệnh dòng lệnh được tạo cho bạn. Nhấp vào nút bên cạnh nó với biểu tượng bút chì nhỏ để cho phép bạn chỉnh sửa dòng lệnh và thêm công tắc -ot của bạn.
Ví dụ sử dụng gdal_translate trong QGIS, chuyển đổi từ dấu phẩy động 32 bit thành số nguyên không dấu 16 bit:
-ot
tắc không mở rộng các giá trị khi chuyển đổi. Để làm điều đó, việc sử dụng-scale
hay-scale_1
,-scale_2
... mỗi ban nhạc.