On 4 November 2015 at 16:58, Veronica Andreo <[email protected]> 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
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev