[GRASS-dev] Unexpected EVI range from "i.vi"
Nikos Alexandris
nik at nikosalexandris.net
Sun Jun 9 16:31:39 PDT 2013
Hi devs.
I get an unexpected range of evi values using "i.vi" (G7), i.e.
# derive EVI
i.vi viname=evi red=B.Trimmed.ToAR.3 blue=B.Trimmed.ToAR.1
nir=B.Trimmed.ToAR.4 output=evi
# range is...
r.info -r evi
min=-6912.82161611806
max=2264.42037461018
while evi should range in [-1,1]. Both the traditional ndvi and the new(er)
evi2 are fine, using the same input Landsat bands.
r.info -r ndvi
min=-1.8046124457954
max=0.751867027194004
and
r.info -r evi2
min=-0.341919561754256
max=0.624114796171297
The range of the input L7 bands also looks fine:
# blue, used for evi
r.info -r B.Trimmed.ToAR.1
min=0.085822088033344
max=0.632558130168047
# red
r.info -r B.Trimmed.ToAR.3
min=-0.00851692799904866
max=0.640896679014357
# nir
r.info -r B.Trimmed.ToAR.4
min=-0.0207162855708529
max=0.979352245320124
The region is correctly set to match one of the bands (e.g. nir) and the code
(evi.c) looks to me (the ignorant) clean:
# cat /geo/osgeo/src/grass_trunk/imagery/i.vi/evi.c
..
tmp = nirchan + 6.0 * redchan - 7.5 * bluechan + 1.0;
..
result = 2.5 * (nirchan - redchan) / tmp
What am I doing/interpret wrong?
Regards, Nikos
More information about the grass-dev
mailing list