Change null values raster values to 0 in QGIS?
beside @R.K. answer, you can use r.null in grass too.
r.null - Manages NULL-values of given raster map.
EXAMPLES
Set specific values of a classified map to NULL:
r.null map=landcover.30m setnull=21,22
Set NULL-values of a map to a specific value:
r.null map=fields null=99
i hope it helps you...
I think the RasterCalc plugin should be able to solve your problem. Once you've installed it, you can use the following query (assuming that NULL values corresponds to -9999; you can check this value in Transparency tab of the Layer Properties):
eq( [your_raster]@1, -9999, 0 )
eq means equal to. This tells RasterCalc that all pixels in your raster with NULL values should have their values set to 0. I'm assuming you have a single band raster.
I don't know if you solved this? There may be a more streamlined way but this works fine for me in the latest QGIS (v2.8.1):
- Create a new polygon with an attribute column for height/level. draw a polygon shape with a larger extent than the raster extent you want to change.
- rasterise this polygon using raster > conversion > rasterise tool.
- using GDAL Analysis tools > fill no data > and the rasterised polygon as the validity layer.
- The resultant raster file should now have values where previously there was no data. These will either be some random value below 0 (-9999 for example) or 0. If it is 0 then great you've got what you wanted. If it is not, carry out step 5.
- using SAGA > Grid -Tools > Mosaick Raster Layers input the filled raster layer and the rasterised polygon. in overlapping areas select [3] Maximum and set the output extent to your original raster. This should result in a new raster that retains all of your values over 0 while giving your previous no data values a new value of 0.