<span style="font-family:arial,helvetica,sans-serif; font-size:12px">‌Thank you 
for this clarification, one last question:<br>
the cell size is nsres*ewres right?</span>

<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">De : "Micha 
Silver"<br>
A : marion-bru...@sfr.fr<br>
Envoyé: mardi 10 juillet 2018 21:06<br>
Objet : Re: [GRASS-user] calculate the volume of a DEM<br>
&nbsp;
<div class="gl_quoted"><meta http-equiv="Content-Type" content="text/html; 
charset=utf-8">
<style type="text/css">body p { margin-bottom: 0cm; margin-top: 0pt; }
</style>
<br>
&nbsp;
<div class="moz-cite-prefix">On 07/10/2018 06:05 AM, <a 
class="moz-txt-link-abbreviated" 
href="mailto:marion-bru...@sfr.fr";>marion-bru...@sfr.fr</a> wrote:</div>

<blockquote cite="mid:1392724731.1181.1531191958732.JavaMail.www@wsfrf1420" 
type="cite"><br>
<span style="font-family:arial,helvetica,sans-serif; font-size:12px">‌</span>

<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">
<div class="gl_quoted">
<blockquote cite="mid:790575905.2053.1531105524458.JavaMail.www@wsfrf1420" 
type="cite"><span style="font-family:arial,helvetica,sans-serif"><span 
style="font-size:12px">‌Hello,</span></span><br>
Hi</blockquote>
Hello again,

<blockquote cite="mid:790575905.2053.1531105524458.JavaMail.www@wsfrf1420" 
type="cite"><br>
<span style="font-family:arial,helvetica,sans-serif"><span 
style="font-size:12px">I am trying to calculate the volume of a DEM using 
GRASS.</span></span><br>
<br>
A DEM is usually elevation above sea level, so the "volume of a DEM" would be 
the the total volume from sea level to the DEM elevation. Is that what you 
want? Usually you want the volume between two rasters: the DEM and some base 
elevation. So you need to begin with a simple r.mapcalc expression to get the 
difference bwteen the DEM and the base elevation.</blockquote>
<br>
My bad, I chose the wrong words. I had two DEMS and I used r.mapcalc to get the 
difference between them. I want to calculate the total volume of this last 
raster.</div>
</div>
</blockquote>
<br>
Ah, OK, it's clear now.<br>
&nbsp;
<blockquote cite="mid:1392724731.1181.1531191958732.JavaMail.www@wsfrf1420" 
type="cite">
<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">
<div class="gl_quoted">&nbsp;
<blockquote cite="mid:790575905.2053.1531105524458.JavaMail.www@wsfrf1420" 
type="cite"><br>
<span style="font-size:12px"><span 
style="font-family:arial,helvetica,sans-serif">For </span></span><span 
style="font-family:arial,helvetica,sans-serif"><span 
style="font-size:11px"><span style="font-size:12px">that</span></span><span 
style="font-size:12px"> I first calculated the area of my DEM using 
s.surf.</span><span style="font-size:11px"><span style="font-size:12px">area 
.</span></span></span><br>
<span style="font-size:12px"><span 
style="font-family:arial,helvetica,sans-serif">The result was&nbsp;</span>349 
492.7m².<br>
Then I used r.univar to get the number of cells, it is 822 244.<br>
So the cell size is 349 492/822 244 = 0,42m²</span><br>
<br>
You can get the cell size simply from r.info<br>
Then r.univar gives the total of the cell values in it's "sum" output.<br>
<br>
So putting it all together, i.e.:<br>
<br>
<tt>GRASS 7.4.0 (ITM):~ &gt; r.info -g faran_lidar | grep "res"</tt><br>
<tt>nsres=1</tt><br>
<tt>ewres=1</tt><br>
<tt># Cell size of 1 meter</tt><br>
<br>
<tt>GRASS 7.4.0 (ITM):~ &gt; r.info -r faran_lidar</tt><br>
<tt>min=73.83</tt><br>
<tt>max=297.64</tt><br>
<tt># Min max values</tt></blockquote>
<br>
I don't get what this last command is for?</div>
</div>
</blockquote>
Just to see the range of values<br>
&nbsp;
<blockquote cite="mid:1392724731.1181.1531191958732.JavaMail.www@wsfrf1420" 
type="cite">
<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">
<div class="gl_quoted"><br>
<br>
<em>Suppose I want the volume above 150 meters:<br>
<br>
<tt># Always remember to set region</tt><br>
<tt>GRASS 7.4.0 (ITM):~ &gt; g.region -p rast=faran_lidar</tt><br>
<tt># Prepare the "cut" raster between 150 and the DEM</tt><br>
<tt>r.mapcalc "faran_cut = if(faran_lidar&gt;150, faran_lidar, null())"</tt><br>
<tt># And get the sum of all cells:</tt><br>
<tt>GRASS 7.4.0 (ITM):~ &gt; r.univar faran_cut | grep sum</tt><br>
<tt>&nbsp;100%</tt><br>
<tt>sum: 840009490.273132</tt></em><br>
<tt><em># Total 840 million cubic meters</em></tt><br>
<br>
<em>Done</em><br>
<br>
<br>
<br>
So if do r.univar on my raster that I calculated with r.mapcalc before, it is 
enough? Or do I have to redo all the steps above? (I also set the region 
before)<br>
<br>
I just have to multiply the "sum" result with the cell size?<br>
Because you wrote that it is in cubic meters, but I though it was just in 
meters</div>
</div>
</blockquote>
<br>
r.univar is all you need, but yes you must multiply by the cell size. If your 
DEM is meters and your cell size is 10 meters, then the r.univar sum result is 
in units of 10x10x1 = 100 cubic meters. So you would multiply the sum by 100 to 
get cubic meters.<br>
&nbsp;
<blockquote cite="mid:1392724731.1181.1531191958732.JavaMail.www@wsfrf1420" 
type="cite">
<div class="gl_quote" style="margin-top: 20px; padding-top: 5px;">
<div class="gl_quoted">&nbsp;</div>
</div>
</blockquote>
&nbsp;

<pre class="moz-signature" cols="72">-- 
Micha Silver
Ben Gurion Univ.
Sde Boker, Remote Sensing Lab
cell: +972-523-665918</pre>
</div>

<div class="gl_quoted">&nbsp;</div>
</div>
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to