如何使用gdal_calc.py屏蔽RGB栅格

时间:2018-06-05 00:07:27

标签: python raster gdal

我想使用gdal_calc.py来屏蔽3波段RGB光栅。

mask.tif是一个INT1U栅格,包含值1和NA(NA值是要屏蔽的单元格,值1是要保留的单元格)。

imageRaster.tif是一个3波段的INT1U光栅,包含0到255之间的值以及一些NA值。

我在命令行中尝试了以下内容

python.exe gdal_calc.py -A imageRaster.tif -B mask.tif 
--outfile=outputFile --calc=\"A * B\" --allBands=A

这会生成一个栅格,其中所有值255现在都变为NA。

如果我添加--NoDataValue=0开关,则0的值变为NA,并且由于某种原因,频带的顺序也会被切换。

我已尝试--NoDataValue=Inf--NoDataValue=-Inf,但这些错误消息提供了以下错误消息:

C:/OSGeo4W64/bin/gdal_calc.py:296: RuntimeWarning: invalid value encountered in multiply
  myResult = ((1*(myNDVs==0))*myResult) + (myOutNDV*myNDVs)

如果您想查看这两个文件here

谢谢!

0 个答案:

没有答案