[Qgis-user] nodata and raster calc
Havard Tveite
havard.tveite at nmbu.no
Mon Feb 11 00:38:11 PST 2019
nodata + 1 = nodata
nodata * 1 = nodata
nodata AND 1 = nodata
nodata OR 1 = 1
HÃ¥vard
On 11. feb. 2019 03:11, Nyall Dawson wrote:
> Hey all,
>
> I'm seeking some feedback on whether our current handling of nodata
> pixels in the raster calculator is correct, or (my suspicion) annoying
> and limiting.
>
> Currently, we treat nodata pixels the same as a "NULL" value in SQL --
> so ANY function or operation with nodata as an input results in a
> nodata output.
>
> This means:
>
> - nodata + 1 = nodata
> - nodata * 1 = nodata
> - nodata AND 1 = nodata
> - nodata OR 1 = nodata
>
> To me this is a mistake. I don't think we should treat nodata the same
> as NULL, and I think for rasters then "nodata OR 1" should return 1.
>
> The end result of the current behaviour is that ANY nodata input
> blocks processing of that pixel. So you can't do something like take
> two raster files, and create an output showing where either input has
> a 1 value (which I would expect raster1 at 1 OR raster2 at 1 to do).
>
> Otherwise, we need to have some concept of "coalesce" in the raster
> calc. So then at least you could do:
>
> coalesce(raster1 at 1, 0) OR coalesce(raster at 1, 0) ....
>
>
> Thoughts?
>
> Nyall
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
>
More information about the Qgis-user
mailing list