[GRASS-dev] GRASS 7: replace r.los with r.viewshed?
Michael Barton
Michael.Barton at asu.edu
Fri Dec 2 01:25:52 EST 2011
Thanks. If r.viewshed is fast enough, a Python script could be built that uses r.viewshed to replicate many of the aspects of r.cva.
Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University
voice: 480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu
On Dec 1, 2011, at 10:44 PM, Hamish wrote:
> Michael wrote:
>> How does r.viewshed differ from r.los?
>
> basically it is faster and it scales to large regions well.
>
> I don't know the exact O()ness level of it, but r.los becomes very quickly
> slower after the region size gets bigger than a smallish amount of rows x
> columns, to the point where it becomes unusable.
>
> r.viewshed should be (*testing welcome) an option-for-option drop in
> replacement for r.los written by Laura & co. in C++, from the same
> family of code as r.terraflow. It has a detailed help page explaining
> its algorithm.
>
> from the code header comments:
> * The viewshed algorithm is efficient both in
> * terms of CPU operations and I/O operations. It has worst-case
> * complexity O(n lg n) in the RAM model and O(sort(n)) in the
> * I/O-model. For the algorithm and all the other details see the
> * paper: "Computing Visibility on * Terrains in External Memory" by
> * Herman Haverkort, Laura Toma and Yi Zhuang.
>
> additionally as a ray-tracing sort of problem it is ideally suited for
> GPU acceleration using OpenCL support(?), along the same lines as Seth's
> to-be committed r.sun + OpenCL. So it has a bright future.
>
>
> also in this group of modules, but slightly different, there is/was the
> r.cva module for cumulative viewshed analysis. Unfortunately (AFAIU) the
> author could never convince the university he worked for to allow him
> to release the code for that as GPL.
>
>
> Hamish
More information about the grass-dev
mailing list