[GRASS-SVN] r58011 - in grass-addons/grass7/raster: . r.skyview

svn_grass at osgeo.org svn_grass at osgeo.org
Tue Oct 15 21:14:10 PDT 2013


Author: annakrat
Date: 2013-10-15 21:14:09 -0700 (Tue, 15 Oct 2013)
New Revision: 58011

Added:
   grass-addons/grass7/raster/r.skyview/
   grass-addons/grass7/raster/r.skyview/Makefile
   grass-addons/grass7/raster/r.skyview/elevation.jpg
   grass-addons/grass7/raster/r.skyview/r.skyview.html
   grass-addons/grass7/raster/r.skyview/r.skyview.py
Log:
r.skyview: Sky-View Factor visualization technique; initial commit

Added: grass-addons/grass7/raster/r.skyview/Makefile
===================================================================
--- grass-addons/grass7/raster/r.skyview/Makefile	                        (rev 0)
+++ grass-addons/grass7/raster/r.skyview/Makefile	2013-10-16 04:14:09 UTC (rev 58011)
@@ -0,0 +1,7 @@
+MODULE_TOPDIR = ../..
+
+PGM = r.skyview
+
+include $(MODULE_TOPDIR)/include/Make/Script.make
+
+default: script


Property changes on: grass-addons/grass7/raster/r.skyview/Makefile
___________________________________________________________________
Added: svn:mime-type
   + text/x-makefile
Added: svn:eol-style
   + native

Added: grass-addons/grass7/raster/r.skyview/elevation.jpg
===================================================================
(Binary files differ)


Property changes on: grass-addons/grass7/raster/r.skyview/elevation.jpg
___________________________________________________________________
Added: svn:mime-type
   + image/jpeg

Added: grass-addons/grass7/raster/r.skyview/r.skyview.html
===================================================================
--- grass-addons/grass7/raster/r.skyview/r.skyview.html	                        (rev 0)
+++ grass-addons/grass7/raster/r.skyview/r.skyview.html	2013-10-16 04:14:09 UTC (rev 58011)
@@ -0,0 +1,45 @@
+<h2>DESCRIPTION</h2>
+
+Module <em>r.skyview</em> computes Sky-View Factor, a relief visualization technique.
+The value of each cell is given by the portion of visible sky (from that cell)
+limited by the surrounding relief.
+The values range from 0 to 1. The lighter the value is, the more open the terrain is.
+
+
+<h2>NOTES</h2>
+Module <a href="r.horizon.html">r.horizon</a> is used to compute elevation angles.
+When computing these elevation angles, only the celestial hemisphere is considered.
+
+<h2>EXAMPLES</h2>
+
+We compute the sky-view factor map of the North Carolina sample
+dataset <tt>elevation</tt> map:
+
+<div class="code"><pre>
+g.region rast=elevation
+r.skyview input=elevation output=elevation_skyview ndir=8
+</pre></div>
+
+<center>
+<img src="elevation.jpg" alt="Sky-View Factor example">
+</center>
+
+<h2>SEE ALSO</h2>
+
+<em>
+<a href="r.horizon.html">r.horizon</a>,
+<a href="r.shaded.relief.html">r.shaded.relief</a><br>
+</em>
+
+
+<h2>REFERENCES</h2>
+<ul>
+    <li>Zaksek K, Ostir K, Kokalj Z. <em>Sky-View Factor as a Relief Visualization Technique.</em> Remote Sensing. 2011; 3(2):398-415.</li>
+</ul>
+
+<h2>AUTHORS</h2>
+
+Anna Petrasova, <a href="http://gis.ncsu.edu/osgeorel/">NCSU OSGeoREL</a>
+
+<p>
+<i>Last changed: $Date$</i>


Property changes on: grass-addons/grass7/raster/r.skyview/r.skyview.html
___________________________________________________________________
Added: svn:mime-type
   + text/html
Added: svn:keywords
   + Author Date Id
Added: svn:eol-style
   + native

Added: grass-addons/grass7/raster/r.skyview/r.skyview.py
===================================================================
--- grass-addons/grass7/raster/r.skyview/r.skyview.py	                        (rev 0)
+++ grass-addons/grass7/raster/r.skyview/r.skyview.py	2013-10-16 04:14:09 UTC (rev 58011)
@@ -0,0 +1,84 @@
+#!/usr/bin/env python
+#
+##############################################################################
+#
+# MODULE:       r.skyview
+#
+# AUTHOR(S):    Anna Petrasova (kratochanna gmail.com)
+#
+# PURPOSE:      Implementation of Sky-View Factor visualization technique
+#
+# COPYRIGHT:    (C) 2013 by the GRASS Development Team
+#
+#		This program is free software under the GNU General Public
+#		License (version 2). Read the file COPYING that comes with GRASS
+#		for details.
+#
+##############################################################################
+
+#%module
+#% description: Computes Sky-View Factor visualization technique
+#% keywords: raster
+#% keywords: visualization
+#%end
+#%option G_OPT_R_INPUT
+#%end
+#%option G_OPT_R_OUTPUT
+#%end
+#%option
+#% key: ndir
+#% description: Number of directions (8 to 32 recommended)
+#% type: integer
+#% required: yes
+#% answer: 16
+#%end
+#%option
+#% key: maxdistance
+#% description: The maximum distance to consider when finding the horizon height
+#% type: double
+#% required: no
+#%end
+
+
+import sys
+import os
+import atexit
+
+import grass.script.core as gcore
+import grass.script.raster as grast
+
+
+def cleanup():
+    gcore.run_command('g.mremove', rast="*{pid}*".format(pid=os.getpid()), flags='f')
+
+
+def main():
+    elev = options['input']
+    output = options['output']
+    n_dir = int(options['ndir'])
+    horizon_step = 360. / n_dir
+
+    if horizon_step < 1:
+        gcore.fatal(_("Please decrease the number of directions."))
+
+    tmp_rast_name_hor = 'tmp_horizon_' + str(os.getpid())
+    gcore.run_command('r.horizon', elevin=elev, direction=0, horizonstep=horizon_step,
+                      horizon=tmp_rast_name_hor, flags='d')
+    gcore.info(_("Computing sky view factor ..."))
+    new_maps = gcore.mlist_grouped('rast',
+                                   pattern=tmp_rast_name_hor + "*")[gcore.gisenv()['MAPSET']]
+    expr = "{out} = 1 - (sin({first}) ".format(first=new_maps[0], out=output)
+    for horizon in new_maps[1:]:
+        expr += "+ sin({name}) ".format(name=horizon)
+    expr += ") / {n}.".format(n=len(new_maps))
+
+    grast.mapcalc(exp=expr)
+    gcore.run_command('r.colors', map=output, color='grey')
+
+    return 0
+
+
+if __name__ == "__main__":
+    options, flags = gcore.parser()
+    atexit.register(cleanup)
+    sys.exit(main())


Property changes on: grass-addons/grass7/raster/r.skyview/r.skyview.py
___________________________________________________________________
Added: svn:executable
   + *
Added: svn:mime-type
   + text/x-python
Added: svn:eol-style
   + native



More information about the grass-commit mailing list