From 0f746686012b40a785c66d1f25274ba87bf8f2c7 Mon Sep 17 00:00:00 2001 From: Sylvain POULAIN Date: Mon, 2 Apr 2018 20:39:02 +0400 Subject: [PATCH] Delete Grass GIS Mask removal Due to GRASS environment destroyed each time computation is done, mask removal is not needed here. --- plugins/measure/calc_volume.grass | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/measure/calc_volume.grass b/plugins/measure/calc_volume.grass index b990287e..e071869c 100755 --- a/plugins/measure/calc_volume.grass +++ b/plugins/measure/calc_volume.grass @@ -4,23 +4,29 @@ # ------ # output: prints the volume to stdout +#Import raster ans vector v.import input=${area_file} output=polygon_area --overwrite v.import input=${points_file} output=polygon_points --overwrite v.buffer -s --overwrite input=polygon_area type=area output=region distance=3 minordistance=3 r.external input=${dsm_file} output=dsm --overwrite +# Set Grass region to DSM resolution g.region rast=dsm +# Set Grass region to vector bbox g.region vector=region -# prevent : removing eventual existing mask -r.mask -r +# Create a mask to speed up computation r.mask vect=region +# Transfer dsm raster data to vector v.what.rast map=polygon_points raster=dsm column=height v.to.rast input=polygon_area output=r_polygon_area use=val value=255 --overwrite +# Decimate DSM and generate interpolation of new terrain #v.surf.rst --overwrite input=polygon_points zcolumn=height elevation=dsm_below_pile mask=r_polygon_area v.surf.bspline --overwrite input=polygon_points column=height raster_output=dsm_below_pile lambda_i=100 +# Compute difference between dsm and new dsm r.mapcalc expression='pile_height_above_dsm=dsm-dsm_below_pile' --overwrite +# Volume output from difference r.volume -f input=pile_height_above_dsm clump=r_polygon_area