Hi Paul (and the rest of the GRASS dev list),<br><br><div class="gmail_quote">On Wed, Jul 9, 2008 at 12:11 PM, Paul Kelly <<a href="mailto:paul-grass@stjohnspoint.co.uk">paul-grass@stjohnspoint.co.uk</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Will,<div class="Ih2E3d"><br>
<br>
On Wed, 9 Jul 2008, Will wrote:<br>
<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Paul,<br>
<br><div class="Ih2E3d">
That all sounds good. I'll move r.terraflow and r.viewshed (I decided to<br>
take up the r.viewshed name) into that iostream directory that you<br>
mentioned. Otherwise though, the code is working and ready to use.<br>
</div></blockquote>
<br>
That's great! I'm sure I can speak for the other developers in saying that we're very grateful that you continued to work on this even without the Google funding.<div class="Ih2E3d"></div></blockquote><div><br>
I am having a great time doing this work; I am funded from an NSF grant that Laura has. Hopefully I'll be able to get funding from Google next summer and contine working with GRASS.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I just have a couple of questions about details of the output.<br>
<br>
Firstly, r.los has a lot of options, suchas observer elevation, curviture of<br>
the earth, and max distance to look at. Do you still want all or some of<br>
those in r.viewshed?<br>
</blockquote>
<br></div>
Max distance is IMHO only a requirement because of the extreme inefficiency of r.los, where limiting the calculation to a circular sub-region can reduce the running time significantly. I think if r.viewshed performs well enough, it should be fine to leave it calculating the viewshed over the whole of the current region.<br>
</blockquote><div><br>I agree that max distance was only really necessary since r.los is so
inefficient, and r.viewshed is fast enough to do whole maps quickly.
Just to give a benchmark, a map that has ~1 million cells takes r.los
~30 min on the machines we have here (Dual 2.5 GHz PPC processors, 1 GB
RAM). It takes r.viewshed ~1.6 seconds.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Observer elevation is a useful shortcut to have and especially relevant for radio masts etc. Do you have a default observer elevation in r.viewshed?<br>
</blockquote><div><br>Observer elevation will not be too hard to implement, so I can put it
in. As of right now, the default observer elevation for r.viewshed is
ground level. For r.los, the default value is 1.75- does anyone on the
list have an opinion on if I should make 1.75 the default for
r.viewshed, or if it should be a different value?<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Earth curvature calculation would seem to be important when covering a very large area, but I imagine it is not the simplest thing to add so it may not be necessary immediately. I must confess I have no idea how much of a difference it makes to the calculation, nor what is the threshold when it starts to become an important consideration. Perhaps someone else on the list can comment.<div class="Ih2E3d">
</div></blockquote><div><br>
Looking at the r.los code, it doesn't seem to be too hard to put in
curvature, though like you I have no idea what effect it has or at what
threshold it becomes important. <br><br>It is done exactly the way you mentioned in the other email, finding the radius of the elipsoid and reducing the elevatin of the cell that you are looking at depending on the distance it is away from the viewpoint. The way r.los does it is they have a flag that you set if you want the curvature to be considered, though I can impliment it for all calculations without a flag if we think that will be better- any input from the list on this?<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Secondly, r.los outputs a map that sets the value of each visible point to<br>
the vertical angle (in degrees) required to see those cells. Do you want<br>
this for r.viewshed, or something else? Right now, I just have it output<br>
the elevation of the visible points, but that can always change.<br>
</blockquote>
<br></div>
Perhaps there could be multiple output options, e.g. (a) elevation of visible cell, (b) difference in elevation between observer and visible cell, (c) angle between observer and visible cell... I'm not sure on this though and again perhaps someone else has an opinion.<div class="Ih2E3d">
</div></blockquote><div><br>Whatever we think is best for the output, I <span style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;" class="goog-spellcheck-word">wil</span>l do, whether we decide on one output format or multiple. <br>
<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
As soon as those issues are sorted out, I think its all done.<br>
<br>
-Will<br>
<br>
P.S. I can post this all to the mailing list if you want me to. Laura Toma<br>
has told me that I need to be approved or something like that to post, and I<br>
was wondering what I need to do to get approved.<br>
</blockquote>
<br></div>
You only need to be a subscribed, and I just checked and you are already subscribed so all you should need to do is send a mail to <a href="mailto:grass-dev@lists.osgeo.org" target="_blank">grass-dev@lists.osgeo.org</a>. I've copied this mail to the grass-dev list already, so you can just reply to it to follow-up.<br>
<font color="#888888">
<br>
Paul<br>
</font></blockquote></div>-- <br>-Will