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 <[email protected]>
Προς: Anna Kratochvílová <[email protected]>; [email protected] 
Στάλθηκε: 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 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á <[email protected]> 
wrote:

Hi Brian,
>
>
>On Tue, Jan 8, 2013 at 6:51 AM, Brian Sanjeewa Rupasinghe
><[email protected]> 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
>> [email protected]
>> http://lists.osgeo.org/mailman/listinfo/grass-user
>>
>

_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to