Hello everybody,
Is it possible to use r.mapcalc with `g.list` as part of the
expression??? Something like:
tiles=(h11v11 h12v11 h12v12)
for tile in ${tiles[*]}
do
r.mapcalc --o expression="`g.list rast pat=MOD13*$tile_EVI` =
if(`g.list rast pat=MOD13*$tile_pixel_reliability` == 0, `g.list rast
pat=MOD13*$tile_EVI`, null())"
done
it worked only once in a test case with one image per tile... when I
tried to run it again for the whole set, i get parse error:
syntax error, unexpected ';', expecting '('
syntax error, unexpected ';', expecting ')'
Parse error
ERROR: parse error
Which would be best practice in this case? Is this use even possible?
I know I can register maps in temporal framework and use
t.rast.mapcalc, but I want to keep year and doy in mapnames and
neither t.rast.mapcalc nor t.rast.algebra have granularity suffix
option yet (only numerical suffix).
Ah, I use grass trunk (7.3) freshly updated to r68692.
thanks much in advance!
Vero
Hi Vero
If I got you right, may be this could be a better approach,
#Assuming you are using MOD13Q1 product, and for example maps from MOD13Q1.A2015353.h18v05.006.2016007180711.hdf;
map=g.list rast pat=MOD13*_EVI
for tile in ${map}; do
Put the common part (In this case - MOD13Q1.A2015353.h18v05) of the map name into a variable.
i=echo $map|cut -c1-23
r.mapcalc --o expression=“${map} = if(${i}_pixel_reliability` == 0, ${map}, null())”
done
Sajid
···
On Wed, Jun 15, 2016 at 2:58 PM, Veronica Andreo <veroandreo@gmail.com> wrote:
Hello everybody,
Is it possible to use r.mapcalc with g.list
as part of the
expression??? Something like:
tiles=(h11v11 h12v11 h12v12)
for tile in ${tiles[*]}
do
r.mapcalc --o expression=“g.list rast pat=MOD13*$tile_EVI
=
if(g.list rast pat=MOD13*$tile_pixel_reliability
== 0, g.list rast pat=MOD13*$tile_EVI
, null())”
done
it worked only once in a test case with one image per tile… when I
tried to run it again for the whole set, i get parse error:
syntax error, unexpected ‘;’, expecting ‘(’
syntax error, unexpected ‘;’, expecting ‘)’
Parse error
ERROR: parse error
Which would be best practice in this case? Is this use even possible?
I know I can register maps in temporal framework and use
t.rast.mapcalc, but I want to keep year and doy in mapnames and
neither t.rast.mapcalc nor t.rast.algebra have granularity suffix
option yet (only numerical suffix).
Ah, I use grass trunk (7.3) freshly updated to r68692.
thanks much in advance!
Vero
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
Cool!
Thanks my friend!
A slightly modified version did the trick! My previous attempt included a bunch of nested for loops that took forever :-/
map=g.list rast pat=MOD13Q1*_NDVI
for m in ${map}; do
i=echo $m | cut -c 1-23
echo $m $i
r.mapcalc --o
expression=“${m} = if(”${i}“_pixel_reliability == 0, ${m}, null())”
done
Cheers!
Vero
···
2016-06-15 10:36 GMT-03:00 Sajid Pareeth <spareeth@gmail.com>:
Hi Vero
If I got you right, may be this could be a better approach,
#Assuming you are using MOD13Q1 product, and for example maps from MOD13Q1.A2015353.h18v05.006.2016007180711.hdf;
map=g.list rast pat=MOD13*_EVI
for tile in ${map}; do
Put the common part (In this case - MOD13Q1.A2015353.h18v05) of the map name into a variable.
i=echo $map|cut -c1-23
r.mapcalc --o expression=“${map} = if(${i}_pixel_reliability` == 0, ${map}, null())”
done
Sajid
On Wed, Jun 15, 2016 at 2:58 PM, Veronica Andreo <veroandreo@gmail.com> wrote:
Hello everybody,
Is it possible to use r.mapcalc with g.list
as part of the
expression??? Something like:
tiles=(h11v11 h12v11 h12v12)
for tile in ${tiles[*]}
do
r.mapcalc --o expression=“g.list rast pat=MOD13*$tile_EVI
=
if(g.list rast pat=MOD13*$tile_pixel_reliability
== 0, g.list rast pat=MOD13*$tile_EVI
, null())”
done
it worked only once in a test case with one image per tile… when I
tried to run it again for the whole set, i get parse error:
syntax error, unexpected ‘;’, expecting ‘(’
syntax error, unexpected ‘;’, expecting ‘)’
Parse error
ERROR: parse error
Which would be best practice in this case? Is this use even possible?
I know I can register maps in temporal framework and use
t.rast.mapcalc, but I want to keep year and doy in mapnames and
neither t.rast.mapcalc nor t.rast.algebra have granularity suffix
option yet (only numerical suffix).
Ah, I use grass trunk (7.3) freshly updated to r68692.
thanks much in advance!
Vero
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user