On 4 November 2015 at 16:58, Veronica Andreo <veroand...@gmail.com> wrote: > Ciao Luca! >
ciao vero, > Thanks for the example! > > Did it work for you?? When I try to validate it, I get > with a small workaround yes :-) > Model is not valid. > r.mapcalc: undefined variable 'ndvi * 0.0001' > I got the same :-) > whatever operation I write in the right part of the expression. > > The only thing that gives me a valid model is %map = %map. > but this is not correct... there are some bugs in the modeler [0] > Can anybody explain how it should be done or what are we missing there, > please??? nothing, but to have the script working properly you have to modify the code from Python editor, you have to remove the wrong quotes [0], and I have to obtain something similar to the attached python script. > I really need this for a GUI based course I have to teach next week > (students use windows and know nothing of programming). Any other suggestion > is more than welcome! > Next week? You have plenty of time, I learned the Modeler (and how to fix problems) in one night, so relax your self ;-) > Cheers, > Vero > [0] https://trac.osgeo.org/grass/ticket/2782 -- ciao Luca http://gis.cri.fmach.it/delucchi/ www.lucadelu.org
#!/usr/bin/env python # ############################################################################## # # MODULE: model # # AUTHOR(S): workshop # # PURPOSE: Script generated by wxGUI Graphical Modeler. # # DATE: Wed Nov 4 17:48:33 2015 # ############################################################################## #%module #% description: Script generated by wxGUI Graphical Modeler. #%end #%option #% key: ndvi #% description: suffix old ndvi map #% required: yes #% answer: old #% end #%option #% key: snow #% description: suffix old snow map #% required: yes #% answer: old #% end import sys import os import atexit from grass.script import parser, run_command def cleanup(): pass def main(): for map in ['MOD10A2.A2011305.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011313.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011321.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011329.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011337.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011345.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011353.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2011361.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012001.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012009.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012017.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012025.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012033.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012041.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012049.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012057.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012065.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012073.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012081.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2012089.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013305.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013313.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013321.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013329.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013337.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013345.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013353.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2013361.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014001.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014009.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014017.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014025.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014033.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014041.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014049.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014057.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014065.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014073.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014081.h18v04.single_Maximum_Snow_Extent', 'MOD10A2.A2014089.h18v04.single_Maximum_Snow_Extent']: run_command("g.rename", overwrite = True, raster = map+","+map+"."+options['snow']) run_command("r.reclass", overwrite = True, input = map+"."+options['snow'], output = map, rules = "/home/workshop/grassdata/grassdata_piemonte/snow_class.txt") for mapp in ['MOD13Q1.A2014001.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014017.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014033.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014049.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014065.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014081.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014097.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014113.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014129.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014145.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014161.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014177.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014193.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014209.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014225.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014241.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014257.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014273.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014289.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014305.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014321.h18v04.single_250m_16_days_NDVI', 'MOD13Q1.A2014337.h18v04.single_250m_16_days_NDVI']: run_command("g.rename", overwrite = True, raster = mapp+","+mapp+"."+options['ndvi']) run_command("r.mapcalc", overwrite = True, expression = mapp+" = "+mapp+"."+options['ndvi']+" * 0.0001") run_command("r.colors", map = mapp, color = "ndvi") return 0 if __name__ == "__main__": options, flags = parser() atexit.register(cleanup) sys.exit(main())
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev