我想使用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。
谢谢!