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

Reply via email to