Hi,<div><br></div><div>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)</div>
<div><br></div><div>for i in:</div><div>    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)<span class="Apple-tab-span" style="white-space:pre">     </span></div>
<div><br></div><div>    grass.mapcalc("viewshed_cum = viewshed + viewshed_cum", overwrite = True, quiet = True)</div><div><br></div><div>It seems that expressions like sum = c + sum does not work inside <a href="http://grass.mapcalc.Is">grass.mapcalc.Is</a> there any alternative or other way around to get this done? I am using GRASS 7 in Windows 7.</div>
<div><br></div><div>Cheers, Brian<br><br><div class="gmail_quote">On Tue, Jan 8, 2013 at 1:25 PM, Anna Kratochvílová <span dir="ltr"><<a href="mailto:kratochanna@gmail.com" target="_blank">kratochanna@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Brian,<br>
<div class="im"><br>
On Tue, Jan 8, 2013 at 6:51 AM, Brian Sanjeewa Rupasinghe<br>
<<a href="mailto:jinkabs@gmail.com">jinkabs@gmail.com</a>> wrote:<br>
> Hi all<br>
><br>
> I am generating viewshed of each observer location by iterating through a<br>
> set of observer coordinate file through<br>
> Python code in Windows 7 . Below is the python command used in grass for<br>
> each iteration. According to this, each time<br>
> loop iterates, output is overwritten with the same name. Now what i need is<br>
> to keep each output of all the observer locations. For this, i need to<br>
> concatanate output name (i.e. 'viewshed' with loop index i which will be<br>
> 'viewshed' + str(i) ). How is that possible within<br>
> this grass.run_command?<br>
><br>
<br>
</div>just set a variable within each loop and use it in the run_command:<br>
for i in ... :<br>
    out =  'viewshed' + str(i)<br>
    grass.run_command('r.viewshed', input = rinput, output = out, ...)<br>
<br>
<br>
Regards,<br>
Anna<br>
<div class="im"><br>
> grass.run_command('r.viewshed', input = rinput, output = 'viewshed',<br>
> coordinate = [x,y], obs_elev = oelv, tgt_elev = th, memory = 4098, flags =<br>
> 'b', overwrite = True, quiet = True)<br>
><br>
> Cheers, Brian<br>
><br>
</div>> _______________________________________________<br>
> grass-user mailing list<br>
> <a href="mailto:grass-user@lists.osgeo.org">grass-user@lists.osgeo.org</a><br>
> <a href="http://lists.osgeo.org/mailman/listinfo/grass-user" target="_blank">http://lists.osgeo.org/mailman/listinfo/grass-user</a><br>
><br>
</blockquote></div><br></div>