在GIS数据处理中,数据类型转换是一项常见且重要的操作。栅格数据从浮点型转换为整型不仅可以减小文件大小,还可以提高算法处理效率。本文将详细介绍两种实现这一转换的方法。
在进行数据类型转换前,我想有必要先知晓不同数据类型的取值区间,以便选择最合适的数据存储类型。避免数值溢出。
Byte/Int8:-128到127
UInt16:0到65535
Int16:-32768到32767
UInt32:0到4294967295
Int32:-2147483648到2147483647
使用QGIS图形界面操作
点击菜单栅格-->Conversion-->转换(格式转换)。将高级参数中的输出数据类型修改为整型即可。

使用GDAL
gdal_translate是专门执行栅格数据格式转换的工具。将浮点转换整型的命令,参考如下。
gdal_translate -of GTiff -ot Int32 E:/float.tif E:/int.tif
参数说明:
-of GTiff:指定输出格式为GeoTIFF
-ot Int32:设置输出数据类型为32位有符号整型
E:/float.tif:输入浮点型栅格文件路径
E:/int.tif:输出整型栅格文件路径
批量处理示例脚本
#!/bin/bash
# 批量转换当前目录下所有TIFF文件
for file in *.tif; do
if [[ -f "$file" ]]; then
output="int_${file}"
echo "Converting $file to $output"
gdal_translate -of GTiff -ot Int16 "$file" "$output"
fi
done
gdal_translate详细参数说明,请参考官网。
更多QGIS使用问题,欢迎留言或联系我们。转载须注明出处。