The first screenshot shows the result of running r.cva in random mode with a viewpt_mask. The lower map (from the Project ASSIST tutorial dataset) records different types of landcover such that the pink category represents scrub. The upper map is the output from r.cva. In this map each non-zero (non white) cell is a viewpoint randomly located in scrub and its value records the number of cells visible from that location. 10% of the total number of cells in the current region were sampled as viewpoints.
The second screenshot also shows the result of running r.cva in random mode with a viewpt_mask. However, in this case the -f flag was set and the requested sampling frequncy was treated as an absolute number of viewpoints. As previously, the lower map records different types of landcover such that the pink category represents scrub. The upper map is the output from r.cva. In this map each non-zero (non white) cell is visible from one or more viewpoints; its value records the number of viewpoints from which it is visible. Exactly 100 cells were sampled as viewpoints.Download
Benjamin Ducke has upgraded r.cva for use with GRASS 6.x and also added some additional functionality, such as correction for curvature of the earth. The source code is available here or from Benjamin's site. The GRASS 6.x download includes installation instructions.
GRASS 5.0.x source code is now available as a compressed tar file. This includes installation instructions, a tcltkgrass module and an html man page. Please note that this is a quick port of the old GRASS 4.2 code: it does not yet handle floating point raster maps, or make use of the new mechansim for dealing with NULL values. If enough people let me know they are using r.cva I will try to find time to add floating point functionality.
The old GRASS 4.x source code for r.cva is also available as a compressed tar file. This includes installation instructions, man page and a patch to add viewshed analysis to the tcltkgrass menu.Installation
Installation of r.cva should be straightforward provided you have a source code distribution of GRASS 5.0.x or GRASS 4.x. The GRASS 4.x patch file for the tcltkgrass interface assumes that you have tcltkgrass 2.8. The process is as follows:
($GISSRC is the top-level directory of your GRASS source code tree, e.g. /usr/local/grass5.0.0pre1, or e.g. /usr/local/grass42/src421) 1) Copy the source file into the contrib directory (substitute r.cva.tar.gz with the exact name of the file that you downloaded): cp r.cva.tar.gz $GISBASE/src.contrib 2) Unpack the source file : cd $GISBASE/src.contrib gunzip r.cva.tar.gz tar -xvf r.cva.tar 3) Read the installation instructions for the version you downloaded: cd MWL/r.cva more INSTALL.txt 4) Have fun!Acknowledgements
Considerable functionality was added to r.cva during the author's tenure of a Leverhulme Trust Special Research Fellowship at the Institute of Archaeology, University College London, U.K.
The first version of r.cva was written by the author as part of the MAGICAL Project directed by Dr. Steven Mithen (Dept. of Archaeology, University of Reading, U.K.). The MAGICAL Project was made possible by a Natural Environment Research Council award (NERC GR3/9540) to Dr. Mithen.
r.cva draws heavily on the code for r.los, which was written by Kewan Q. Khawaja, Intelligent Engineering Systems Laboratory, M.I.T.