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