I was trying with nested loops and it seems not to be working. Now I tried again (more carefully i have to say) and it worked! Thanks to everybody!
Il giorno mer 31 ott 2018 alle ore 21:55 Micha Silver <[email protected]> ha scritto: > > On 10/31/18 11:59 AM, Alessandro Sebastiani wrote: > > Dear all, i was able to compute zonal statistics for multiple areas > > using this script. I used > > > import grass.script as gscript > > > v_list = gscript.read_command("g.list" , type = > > "vect").strip().split("\n") > > # i have 5 vectors in my list > > > method = ("sum" , "average") > > > for v in v_list: > > > gscript.run_command("v.rast.stats", map_=v, raster = "LC1", > > column_prefix = "LC1", method = methods) > > > > Now i have like 4 rasters that i would like to use as input to compute > > my statistics. Is there a way to loop this process for rasters and > > vector at the same time? i tried creating a list for rasters and using > > the name list as raster input but it seems not to work! cheers, > Alessandro > > > What exactly did you try? There should not be any problem to do nested > loops. i.e.: > > > import grass.script as gscript > > v_list = gscript.read_command("g.list" , type = "vect").strip().split("\n") > # i have 5 vectors in my list > r_list = gscript.read_command("g.list" , type = "rast", > pattern="LC*").strip().split("\n") > method = ("sum" , "average") > for v in v_list: > for r in r_list: > gscript.run_command("v.rast.stats", > map_=v, raster = r, column_prefix = r, method = methods) > > > > > > Il giorno mar 30 ott 2018 alle ore 11:52 Alessandro Sebastiani > > <[email protected] > > <mailto:[email protected]>> ha scritto: > > > > Thanks a lot for your help! > > > > Il giorno mar 30 ott 2018 alle ore 11:49 Nikos Alexandris > > <[email protected] <mailto:[email protected]>> ha > scritto: > > > > * Alessandro Sebastiani <[email protected] > > <mailto:[email protected]>> [2018-10-29 > > 21:32:51 +0100]: > > > > >thank you all for your suggestions. > > >Dear Nikos, I have some 0-1 rasters that represents > > presence-absence of > > >different land covers. Each raster's resolution is 10x10m, > > thus i want to > > >compute the sum in order to obtain the surface covered by > > each land cover > > >within my buffers. As regards to the buffer, i want to use > > the 0-100, > > >0-200, 0-300, 0-400 and 0-500 for computing stats. I can do > > it separately > > >with the module v.rast.stats. I just don't know how to loop > > it in a python > > >script > > > > Dear Alessandro, > > > > I don't have time to write back as I would like. Instead, I > > will send > > you off-list some unpublished script. With a bit of reading, > > there, you > > might identify some ideas that will eventually help in what > > you are > > doing. > > > > Kind regards, Nikos > > > > > > _______________________________________________ > > grass-user mailing list > > [email protected] > > https://lists.osgeo.org/mailman/listinfo/grass-user > > -- > Micha Silver > Ben Gurion Univ. > Sde Boker, Remote Sensing Lab > cell: +972-523-665918 > >
_______________________________________________ grass-user mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/grass-user
