[GRASS-user] Re: Trying python scripts.
Marcello Gorini
gorini at gmail.com
Thu May 27 12:25:17 EDT 2010
Hello Nikos,
Marcello Gorini.
Nikos Alexandris wrote:
>
> Hi Marcello,
>
> Marcello Gorini:
>> This is kind of my first e-mail ever to ANY mailing list, so please
>> forgive
>> me if I don't express myself in the best way. I will improve eventually.
>> I am a total beginner in python and GRASS (and any other programming
>> language), so I am trying to run the first examples found in
>> http://grass.osgeo.org/wiki/GRASS_and_Python.
>> I managed to run the shaded_relief one OK, but the one with respect to
>> mapcalc, I couldn't.
>> I copied a script found in
>> http://www.mail-archive.com/grass-dev@lists.osgeo.org/msg14669.html
>> (transcribed below) and tried to run it:
>>
>> #!/usr/bin/env python
>>
>> # g.parser demo script for python programing
>>
>> #%module
>> #% description: g.parser test script (python) TUN
>> #%end
>> #%flag
>> #% key: f
>> #% description: A flag
>> #%end
>> #%flag
>> #% key: n
>> #% description: Another flag
>> #%end
>> #%option
>> #% key: raster1
>> #% type: string
>> #% gisprompt: old,cell,raster
>> #% description: Raster input map
>> #% required : yes
>> #%end
>> #%option
>> #% key: raster2
>> #% type: string
>> #% gisprompt: old,cell,raster
>> #% description: Raster2 input map
>> #% required : yes
>> #%end
>> #%option
>> #% key: output
>> #% type: string
>> #% gisprompt: new,cell,raster
>> #% description: Output
>> #% required : yes
>> #%end
>>
>> import os
>> import sys
>>
>> import grass.script as grass
>>
>> def main():
>> output = options['output']
>> raster1 = options['raster1']
>> raster2 = options['raster2']
>> grass.mapcalc("$out = $rast1 + $rast2", out = output, rast1 =
>> raster1,
>> rast2 = raster2)
>> if flags['f']:
>> print "Flag -f set"
>> else:
>> print "Flag -f not set"
>>
>> if flags['n']:
>> print "Flag -n foi definida mas nao devia"
>> else:
>> print "Flag -n not set- GOOD"
>> print options
>> print flags
>> return 0
>>
>> if __name__ == "__main__":
>> options, flags = grass.parser()
>> sys.exit(main())
>>
>>
>> It seems to run OK and “100%” is displayed in the GRASS prompt, but when
>> I
>> tried to display the map, I found out that it wasn't created at all.
>
> If there are no errors and the script ran fine, maybe you just need to
> check
> the region settings?
>
>> Just for you to know, to run the script I simply create it (say
>> “myscript.py”), give permissions and run it in a GRASS session with the
>> necessary options: > ./myscript.py output=outmap raster1=map1
>> raster2=map2
>> I am using Ubuntu 9.04 64bits and GRASS 6.4.ORC5.
>
> For example:
>
> # check region extent, etc.
> g.region -p
>
> # set region extent and resolution to the map of your interest
> g.region rast=outmap -pa
>
> # give color
> r.colors rast=outmap color=rainbow
>
> # try to display
> d.mon x0 && d.rast outmap
>
> # is it there?
>
> Regards, Nikos
>
>
> No, it is not there. To make sure I set the region to the input map:
>
> g.region rast=map1 -pa
> d.mon x0 && d.rast map1
>
> OK, it is there. Then I ran the script:
>
> ./myscript.py output=outmap raster1=map1 raster2=map2
>
> After processing, I tried:
>
> d.rast outmap
>
> But then:
>
> ERROR: Raster map <outmap> not found
>
> What could be wrong?
>
> Best regards,
>
> Marcello.
>
> P.S.: By the way, is this the right way to quote answers?
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/Trying-python-scripts-tp5109105p5109431.html
Sent from the Grass - Users mailing list archive at Nabble.com.
More information about the grass-user
mailing list