На початку запитання ви запитуєте про перехід від 32 біт до 8 біт, а в кінці запитуєте про інший шлях, тому це буде загальною відповіддю.
Більшість функцій GDAL дозволяють задавати глибину пікселя за допомогою тегу командного рядка -ot
(наприклад, перегляньте документацію на gdal_translate або gdal_rasterize ). Перемикач -ot може приймати значення Byte / Int16 / UInt16 / UInt32 / Int32 / Float32 / Float64 / CInt16 / CInt32 / CFloat32 / CFloat64.
У QGIS, якщо ви хочете змусити вихід з функції GDAL надати вам певну глибину пікселя, а не за замовчуванням, то відредагуйте командний рядок, щоб включити перемикач -ot з будь-якою глибиною пікселя. Наприклад, перейдіть Raster-> Conversion-> Translate. У нижній частині діалогового вікна (принаймні у версії 1.9) ви побачите створену для вас командну команду. Клацніть на кнопці поруч із маленькою піктограмою олівця, щоб дозволити вам редагувати командний рядок та додати свій перемикач -ot.
Приклад, використовуючи gdal_translate в QGIS, перетворюючи з плаваючої точки 32 біт в 16-бітове непідписане ціле число:
-ot
комутатор не масштабує значення при перетворенні. Щоб зробити це, використання-scale
або-scale_1
,-scale_2
... для кожного діапазону.