[Qgis-user] Raster Calculator bug?

Stefan Kiefer st_kiefer at web.de
Thu Jul 30 23:09:58 PDT 2015


Hi Nick,
I believe you get a black layer because your calculation always results in "1"
resp. "1","2" or "3". Unfortunately I cannot verify your equation because I have
no QGis by hand in this moment. But I think you wantedt to calculate this:
 
((“m at 1" < 238 AND “m at 1" > 210) * m at 1") + ((“m at 2" < 123 AND “m at 2" > 94) * m at 2") +
((“m at 3" < 130 AND “m at 3" > 98) * m at 3")) * (“m at 1" < 238 AND “m at 1" > 213 AND “m at 2"
< 123 AND “m at 2" > 98 AND “m at 3" < 125 AND “m at 3” > 99)
 
cheers
 
Stefan

> Nick Papadonis <npapadonis at gmail.com> hat am 31. Juli 2015 um 07:49
> geschrieben:
>
>
> One more comment. The resulting layer histogram is showing the pixel range
> spread over frequency in floating point values. Is the raster calculator
> performing floating point math with potential rounding error?
>
> I found it also interesting that the following expression resulted in a layer,
> which when inspected for band values, has integer values of 2 and 3. 3 being
> the value I want for the red route.
>
> a) ((“m at 1" < 238 AND “m at 1" > 210) * 1) + ((“m at 2" < 123 AND “m at 2" > 94) * 1) +
> ((“m at 3" < 130 AND “m at 3" > 98) * 1)
>
> I then change the expression to only use values 2 and greater and this shows
> properly:
> b) ((“m at 1" < 238 AND “m at 1" > 210) * 1) + ((“m at 2" < 123 AND “m at 2" > 94) * 1) +
> ((“m at 3" < 130 AND “m at 3" > 98) * 1) > 2
>
> I then changed the expression to ensure all three values are obtained and it
> results in a black image of 0’s. I was expecting only the red route to appear
> as it resulted in value of 3 in step (a).
>
> ((“m at 1" < 238 AND “m at 1" > 210) * 1) + ((“m at 2" < 123 AND “m at 2" > 94) * 1) +
> ((“m at 3" < 130 AND “m at 3" > 98) * 1) > 2.1
> ((“m at 1" < 238 AND “m at 1" > 210) * 1) + ((“m at 2" < 123 AND “m at 2" > 94) * 1) +
> ((“m at 3" < 130 AND “m at 3" > 98) * 1) >= 3
>
> I’m wondering how much testing the Raster Calculator has gone through and if
> there is a possible bug here. Perhaps something to do with floating point?
>
> Thanks again
>
> > On Jul 31, 2015, at 12:39 AM, Nick Papadonis <npapadonis at gmail.com> wrote:
> >
> > Folks,
> >
> > I’m using QGIS 10.1. The following expressions result in a black raster of
> > 0’s, when I expected only red pixels to appears in the binary image
> > indicating routes on a map:
> >
> > a) (“m at 1" < 238 AND “m at 1" > 213 AND “m at 2" < 123 AND “m at 2" > 98 AND “m at 3" <
> > 125 AND “m at 3” > 99) * 1
> > b) ((“m at 1" < 238 AND “m at 1" > 210) * 1) * ((“m at 2" < 123 AND “m at 2" > 94) * 1)
> > * ((“m at 3" < 130 AND “m at 3" > 98) * 1)
> >
> > I then tried the following individual expressions for each band as separate
> > steps (sanity check) and they work to cover the pixels in range:
> > c) (“m at 1" < 238 AND “m at 1" > 213) * 1
> > d) (“m at 2" < 123 AND “m at 2" > 98) * 1
> > e) (“m at 3" < 125 AND “m at 3” > 99) * 1
> >
> > I then tried the following expression which appears to create a proper
> > greyscale image focusing on the red pixels. I replaced the multiplication
> > with addition to see what was happening:
> > f) ((“m at 1" < 238 AND “m at 1" > 210) * 1) + ((“m at 2" < 123 AND “m at 2" > 94) * 1)
> > + ((“m at 3" < 130 AND “m at 3" > 98) * 1)
> >
> > The resulting raster has a Min = 0 and Max = 1.998. I was expecting it to be
> > Min = 0 and Max = 3. The value of 3 would indicate all 3 bands were positive
> > on color match. I then go to the layer properties and load calculate min/max
> > again and it is Min = 0 and Max = 3. I tried to change the min/max settings
> > on they layer and these settings will not stay set. The layer goes back to
> > Max = 1.998. What’s even more odd is the max being a floating point number.
> > I suspect that may be part of the issue. Anyone know why this is the case
> > for integer band values? Has anyone successfully used the Raster Calculator
> > to perform this sort of work before?
> >
> > Thanks again,
> > Nick
>
> _______________________________________________
> Qgis-user mailing list
> Qgis-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-user/attachments/20150731/158a48eb/attachment.html>


More information about the Qgis-user mailing list