[GRASS-user] Using a variable inside GRASS commands with Python code/ grass.mapcalc

Brian Sanjeewa Rupasinghe jinkabs at gmail.com
Tue Jan 8 08:53:01 PST 2013


Hi,

Thanks again. Since i use GRASS 7.0, it will not work there. I do not think
it can either be installed in GRASS for Windows through Add-on extensions.
What about using grass.mapcalc to integrate each viewshed if there is a
method of handling variables in it? If not how about using r.series with
sum? Your advice is appreciated since i am
pretty new to GRASS.

On Tue, Jan 8, 2013 at 9:19 PM, Leonidas Liakos <leonidas_liakos at yahoo.gr>wrote:

> Do you need cumulative viewshed analysis?
> Maybe r.cva is for you:
> http://www.ucl.ac.uk/~tcrnmar/GIS/r.cva.html
>
>   ------------------------------
> *Απο:* Brian Sanjeewa Rupasinghe <jinkabs at gmail.com>
> *Προς:* Anna Kratochvílová <kratochanna at gmail.com>;
> grass-user at lists.osgeo.org
> *Στάλθηκε:* 2:45 μ.μ. Τρίτη, 8 Ιανουαρίου 2013
> *Θέμα:* Re: [GRASS-user] Using a variable inside GRASS commands with
> Python code/ grass.mapcalc
>
> Hi,
>
> Many thanks. It worked for me. Then i have a similar problem in
> GRASS.mapcalc. What i need next is to add viewshed of each observer
> location cumulatively while looping through the observer locations in order
> to have final integrated viewshed analysis map. So i used the following
> command in Python (some code ommitted)
>
> for i in:
>     grass.run_command('r.viewshed', input = rinput, output = 'viewshed',
> coordinate = [x,y], obs_elev = oelv, tgt_elev = th, memory = 4098, flags =
> 'b', overwrite = True, quiet = True)
>
>     grass.mapcalc("viewshed_cum = viewshed + viewshed_cum", overwrite =
> True, quiet = True)
>
> It seems that expressions like sum = c + sum does not work inside
> grass.mapcalc.Is <http://grass.mapcalc.is/> there any alternative or
> other way around to get this done? I am using GRASS 7 in Windows 7.
>
> Cheers, Brian
>
> On Tue, Jan 8, 2013 at 1:25 PM, Anna Kratochvílová <kratochanna at gmail.com>wrote:
>
> Hi Brian,
>
> On Tue, Jan 8, 2013 at 6:51 AM, Brian Sanjeewa Rupasinghe
> <jinkabs at gmail.com> wrote:
> > Hi all
> >
> > I am generating viewshed of each observer location by iterating through a
> > set of observer coordinate file through
> > Python code in Windows 7 . Below is the python command used in grass for
> > each iteration. According to this, each time
> > loop iterates, output is overwritten with the same name. Now what i need
> is
> > to keep each output of all the observer locations. For this, i need to
> > concatanate output name (i.e. 'viewshed' with loop index i which will be
> > 'viewshed' + str(i) ). How is that possible within
> > this grass.run_command?
> >
>
> just set a variable within each loop and use it in the run_command:
> for i in ... :
>     out =  'viewshed' + str(i)
>     grass.run_command('r.viewshed', input = rinput, output = out, ...)
>
>
> Regards,
> Anna
>
> > grass.run_command('r.viewshed', input = rinput, output = 'viewshed',
> > coordinate = [x,y], obs_elev = oelv, tgt_elev = th, memory = 4098, flags
> =
> > 'b', overwrite = True, quiet = True)
> >
> > Cheers, Brian
> >
> > _______________________________________________
> > grass-user mailing list
> > grass-user at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/grass-user
> >
>
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20130108/b2a8ffb3/attachment-0001.html>


More information about the grass-user mailing list