[GRASS-SVN] r59555 - in grass/trunk: gui/wxpython/animation imagery/i.landsat.toar imagery/i.topo.corr lib/init lib/vector/Vlib raster/r.sunmask
svn_grass at osgeo.org
svn_grass at osgeo.org
Wed Apr 2 05:57:13 PDT 2014
Author: neteler
Date: 2014-04-02 05:57:13 -0700 (Wed, 02 Apr 2014)
New Revision: 59555
Modified:
grass/trunk/gui/wxpython/animation/frame.py
grass/trunk/imagery/i.landsat.toar/main.c
grass/trunk/imagery/i.topo.corr/i.topo.corr.html
grass/trunk/imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh
grass/trunk/lib/init/variables.html
grass/trunk/lib/vector/Vlib/open.c
grass/trunk/raster/r.sunmask/main.c
Log:
r.sunmask: preset seconds to 0
Modified: grass/trunk/gui/wxpython/animation/frame.py
===================================================================
--- grass/trunk/gui/wxpython/animation/frame.py 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/gui/wxpython/animation/frame.py 2014-04-02 12:57:13 UTC (rev 59555)
@@ -63,16 +63,14 @@
tgis.init()
global TMP_DIR
- TMP_DIR = tempfile.mkdtemp()
+ # create temporal directory and ensure it's deleted after programs ends (stored in MAPSET/.tmp/)
+ TMP_DIR = gcore.tempdir()
self.animations = [Animation() for i in range(MAX_COUNT)]
self.windows = []
self.animationPanel = AnimationsPanel(self, self.windows, initialCount=MAX_COUNT)
bitmapPool = BitmapPool()
mapFilesPool = MapFilesPool()
- # create temporal directory and ensure it's deleted after programs ends
-# tempDir = tempfile.mkdtemp()
-# self.cleanUp = CleanUp(tempDir)
self._progressDlg = None
self._progressDlgMax = None
Modified: grass/trunk/imagery/i.landsat.toar/main.c
===================================================================
--- grass/trunk/imagery/i.landsat.toar/main.c 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/imagery/i.landsat.toar/main.c 2014-04-02 12:57:13 UTC (rev 59555)
@@ -719,6 +719,7 @@
Rast_write_units(band_out, "W/(m^2 sr um)");
else
Rast_write_units(band_out, "unitless");
+ /* set raster timestamp from acq date? (see r.timestamp module) */
}
Rast_set_window(&orig_cellhd);
Modified: grass/trunk/imagery/i.topo.corr/i.topo.corr.html
===================================================================
--- grass/trunk/imagery/i.topo.corr/i.topo.corr.html 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/imagery/i.topo.corr/i.topo.corr.html 2014-04-02 12:57:13 UTC (rev 59555)
@@ -4,9 +4,18 @@
from imagery files, e.g. obtained with <em>i.landsat.toar</em>, using a
sun illumination terrain model. This illumination model represents the
cosine of the incident angle, i.e. the angle between the normal to the
-ground and the sun rays. It can be obtained with <em>r.sun</em>
+ground and the sun rays.
+
+<!-- why this?? what about -i flag?
+It can be obtained with <em>r.sun</em>
(parameter incidout), and then calculating its cosine with float precision.
+-->
+If needed, the sun position can be calculated for a given date with
+<em>r.sunmask</em>.
+
+<!-- TODO: figure here -->
+
<p>
Using the <b>-i</b> flag and given an elevation basemap (metric),
<em>i.topo.corr</em> creates a simple illumination model using the formula:
@@ -78,7 +87,10 @@
<p>
<div class="code"><pre>
+# first pass: create illumination model
i.topo.corr -i base=SRTM zenith=33.3631 azimuth=59.8897 out=SRTM.illumination
+
+# second pass: apply illumination model
i.topo.corr base=SRTM.illumination input=toar.5,toar.4,toar.3 out=tcor \
zenith=33.3631 method=c-factor
</pre></div>
@@ -110,9 +122,9 @@
<a href="i.landsat.toar.html">i.landsat.toar</a>,
<a href="r.mapcalc.html">r.mapcalc</a>,
<a href="r.sun.html">r.sun</a>
+<a href="r.sunmask.html">r.sunmask</a>
</em>
-
<h2>AUTHOR</h2>
E. Jorge Tizado (ej.tizado unileon es)<br>
Modified: grass/trunk/imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh
===================================================================
--- grass/trunk/imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/imagery/i.topo.corr/test_i.topo.corr_synthetic_DEM_NC.sh 2014-04-02 12:57:13 UTC (rev 59555)
@@ -3,7 +3,7 @@
# Script to test i.topo.corr with a synthetic map
#
# Use North Carolina location to test:
-# grass64 ~/grassdata/nc_spm_08/user1
+# grass71 ~/grassdata/nc_spm_08_grass7/user1
if test "$GISBASE" = ""; then
echo "You must be in GRASS to run this program."
@@ -25,22 +25,21 @@
TMPTIME=`echo $DATETIME | cut -d' ' -f4 | awk '{printf "%d", $1}'`
HOUR=`echo $TMPTIME | cut -d':' -f1 | awk '{printf "%d", $1}'`
MIN=`echo $TMPTIME | cut -d':' -f2 | awk '{printf "%d", $1}'`
-SEC=`echo $TMPTIME | cut -d':' -f3 | awk '{printf "%d", $1}'`
TIMEZ=`echo $DATETIME | cut -d' ' -f5 | awk '{printf "%d", $1/100}'`
unset TMPTIME
# create synthetic DEM (kind of roof)
-r.plane --o myplane0 dip=45 az=0 east=637500 north=221750 elev=1000 type=float
-r.plane --o myplane90 dip=45 az=90 east=684800 north=221750 elev=1000 type=float
-r.plane --o myplane180 dip=45 az=180 east=684800 north=260250 elev=1000 type=float
-r.plane --o myplane270 dip=45 az=270 east=684800 north=221750 elev=1000 type=float
+r.plane myplane0 dip=45 az=0 east=637500 north=221750 elev=1000 type=FCELL
+r.plane myplane90 dip=45 az=90 east=684800 north=221750 elev=1000 type=FCELL
+r.plane myplane180 dip=45 az=180 east=684800 north=260250 elev=1000 type=FCELL
+r.plane myplane270 dip=45 az=270 east=684800 north=221750 elev=1000 type=FCELL
r.mapcalc "myplane_pyr = double(min(myplane90,myplane270,myplane0,myplane180)/10. + 8600.)"
# nviz
# nviz myplane_pyr
# get sun position
-eval `r.sunmask -s -g output=dummy elev=myplane_pyr year=$YEAR month=8 day=$DAY hour=$HOUR minute=$MIN second=$SEC timezone=$TIMEZ`
+eval `r.sunmask -s -g elev=myplane_pyr year=$YEAR month=8 day=$DAY hour=$HOUR minute=$MIN timezone=$TIMEZ`
solarzenith=`echo $sunangleabovehorizon | awk '{printf "%f", 90. - $1}'`
echo "Sun position ($DATETIME): solarzenith: $solarzenith, sunazimuth: $sunazimuth"
@@ -49,6 +48,7 @@
r.shaded.relief input=myplane_pyr output=myplane_pyr_shaded altitude=$sunangleabovehorizon azimuth=$sunazimuth
d.mon stop=wx0 2> /dev/null
d.mon wx0
+sleep 5 # this is rather annoying
d.rast myplane_pyr_shaded
# pre-run: illumination map
@@ -68,8 +68,9 @@
# making the 'band' reflectance file from the shade map
r.mapcalc "myplane_pyr_band = double((myplane_pyr_shaded - 60.)/18.)"
r.colors myplane_pyr_band color=gyr
-d.mon stop=wx0 2> /dev/null
-d.mon wx0
+d.mon stop=wx1 2> /dev/null
+d.mon wx1
+sleep 5 # this is rather annoying
d.rast myplane_pyr_band
d.legend myplane_pyr_band
echo "Band reflectance" | d.text color=black
@@ -78,31 +79,35 @@
# percent
METHOD=percent
i.topo.corr input=myplane_pyr_band output=myplane_pyr_topocorr_${METHOD} basemap=myplane_pyr_illumination zenith=$solarzenith method=$METHOD
-d.mon stop=wx1 2> /dev/null
-d.mon wx1
+d.mon stop=wx2 2> /dev/null
+d.mon wx2
+sleep 5 # this is rather annoying
d.rast.leg myplane_pyr_topocorr_${METHOD}.myplane_pyr_band
echo "METHOD=percent" | d.text color=black
# minnaert
METHOD=minnaert
i.topo.corr input=myplane_pyr_band output=myplane_pyr_topocorr_${METHOD} basemap=myplane_pyr_illumination zenith=$solarzenith method=$METHOD
-d.mon stop=wx2 2> /dev/null
-d.mon wx2
+d.mon stop=wx3 2> /dev/null
+d.mon wx3
+sleep 5 # this is rather annoying
d.rast.leg myplane_pyr_topocorr_${METHOD}.myplane_pyr_band
echo "METHOD=minnaert" | d.text color=black
# c-factor
METHOD=c-factor
i.topo.corr input=myplane_pyr_band output=myplane_pyr_topocorr_${METHOD} basemap=myplane_pyr_illumination zenith=$solarzenith method=$METHOD
-d.mon stop=wx3 2> /dev/null
-d.mon wx3
+d.mon stop=wx4 2> /dev/null
+d.mon wx4
+sleep 5 # this is rather annoying
d.rast.leg myplane_pyr_topocorr_${METHOD}.myplane_pyr_band
echo "METHOD=c-factor" | d.text color=black
# cosine
METHOD=cosine
i.topo.corr input=myplane_pyr_band output=myplane_pyr_topocorr_${METHOD} basemap=myplane_pyr_illumination zenith=$solarzenith method=$METHOD
-d.mon stop=wx4 2> /dev/null
-d.mon wx4
+d.mon stop=wx5 2> /dev/null
+d.mon wx5
+sleep 5 # this is rather annoying
d.rast.leg myplane_pyr_topocorr_${METHOD}.myplane_pyr_band
echo "METHOD=cosine" | d.text color=black
Modified: grass/trunk/lib/init/variables.html
===================================================================
--- grass/trunk/lib/init/variables.html 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/lib/init/variables.html 2014-04-02 12:57:13 UTC (rev 59555)
@@ -307,6 +307,11 @@
If OpenMP support is enabled this limits the number of threads.
The default is set to the number of CPUs on the system.
Setting to '1' effectively disables parallel processing.</dd>
+
+ <dt>TMPDIR, TEMP, TMP</dt>
+ <dd>[Various GRASS GIS commands and wxGUI]<br>
+ <!-- what about Windows %TEMP% and http://trac.osgeo.org/grass/ticket/560#comment:21 ? -->
+ Use $TMPDIR if it exists, then $TEMP, otherwise /tmp.</dd>
</dl>
<a name="rendering"></a>
Modified: grass/trunk/lib/vector/Vlib/open.c
===================================================================
--- grass/trunk/lib/vector/Vlib/open.c 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/lib/vector/Vlib/open.c 2014-04-02 12:57:13 UTC (rev 59555)
@@ -240,7 +240,9 @@
}
else {
char file_path[GPATH_MAX];
-
+ /* reduce to current mapset if search path was set */
+ if(strcmp(Map->mapset, "") == 0)
+ Map->mapset = G_store(G_mapset());
/* temporary map: reduce to current mapset if search path
* was set */
if (strcmp(Map->mapset, "") == 0)
Modified: grass/trunk/raster/r.sunmask/main.c
===================================================================
--- grass/trunk/raster/r.sunmask/main.c 2014-04-02 12:57:07 UTC (rev 59554)
+++ grass/trunk/raster/r.sunmask/main.c 2014-04-02 12:57:13 UTC (rev 59555)
@@ -189,6 +189,7 @@
parm.seconds->required = NO;
parm.seconds->description = _("Seconds (B)");
parm.seconds->options = "0-60";
+ parm.seconds->answer = "0";
parm.seconds->guisection = _("Time");
parm.timezone = G_define_option();
More information about the grass-commit
mailing list