2

我在 GTiff 中有一张卫星图像,范围为 0 - 65535,我需要将其转换为字节格式(0-255)。

使用:gdal_translate [-a_nodata 0 和 -scale 0 65535 0 255] -ot Byte infile.if outfile.tif

这工作正常,但我得到很多像素被四舍五入(截断)为 0,这是我的 nodata 值,这意味着它们在可视化时变得透明。

我尝试过使用 -a_nodata 0 和 -scale 1 65535 0 255,但我找不到适合我的解决方案。

我正在寻找的是 0 作为 nodata 和 1-255 作为数据范围。

4

1 回答 1

1

如果其他人偶然发现这一点,我只想发布我找到的解决方案。

例程 gdal_calc.py 可以让人们使用 Python 函数,例如 numpy 和 math,可以很容易地做到这一点。

gdal_calc.py -A inputfile.tif --outfile=outputfile.tif --calc="A/258+1" --NoDataValue=0

然后只需通过 gdal_translate og gdalwarp 将其转换为字节格式(如果还需要重新网格化数据)。

于 2016-09-13T10:49:08.060 回答