Wednesday 12 June 2019

qgis - How to restore a scarp surface grid to calculate material loss



I would like to calculate the volume of material lost from a scarp like the one shown in the following image:


enter image description here


Is there a way to do these calculations with open-source software such as GMT, QGIS and GRASS?



Answer



I will try to address your question with GRASS.


Your problem has a first task that is a bit challenging already, which is to get the situation before the event you want to quantify. I think the best option is to produce a raster of the original situation. To produce it, I would use some countour lines to draw "by hand" the terrain as it was before the event, then with the help of r.surf.contour fill a terrain model.


Once you have the two rasters, before and after, you ca produce a raster of the difference with r.mapcalc (rasterDiff= rasterBefore - rasterAfter). I guess you will need appropiate masks to box your areas of interest.


You can have the volume by using the r.sum of rasterDiff and multiplying the results by the cell size.


UPDATE


@Gery provided a working example offshore Nicaragua and I attempted to calculate the volume with my own description above using GRASS and bit QGIS.



 |        Projection: Latitude-Longitude                                  
|
| N: 11:15:44.273502N S: 10:55:46.447629N Res: 0:00:02.76634 |
| E: 87:04:08.435069W W: 87:23:22.390832W Res: 0:00:02.80086 |
| Range of data: min = -4783.09 max = -760.2788 |`

Here an overview of the scarp around 3000 m below sea level




  1. Load the DTM and set the region to the input data



    r.import input=mb.grd output=mb g.region raster=mb




  2. Digitalize the contourlines before the slide. I did the digitalization in QGIS and I saved the elevation values in field level


    v.import input=Contour50_WGS84.shp layer=Contour50_WGS84 output=Contour50_WGS84




Contour lines before the slide





  1. Digitalize the boundaries of the scarp to use it as a mask.


    v.import input=mascara.shp layer=mascara output=mascara




Mask




  1. Mask the area of interest and fill the null values


    r.mask --overwrite vector=mascara r.fillnulls input=mb output=mbfilled method=rst





  2. Conversion of contour lines into raster lines and interpolation for the DTM prior the slide


    v.to.rast input=Contour50_WGS84 type=line output=prescarp use=attr attribute_column=level r.surf.contour input=prescarp output=prescarpfilled




enter image description here




  1. Calculate the difference between the two rasters


    r.mapcalc expression=scarpdepth = prescarpfilled - mbfilled





enter image description here




  1. Calculate the average cell size and the sum of the scarpdepth


    r.report map=MASK units=me |-----------------------------------------------------------------------------| | Category Information | square| |#|description | meters| |-----------------------------------------------------------------------------| |1|Value 1. . . . . . . . . . . . . . . . . . . . . . . . . . . | 53,830,997| |*|no data. . . . . . . . . . . . . . . . . . . . . . . . . . . |1,235,078,890| |-----------------------------------------------------------------------------| |TOTAL |1,288,909,887| +-----------------------------------------------------------------------------+


    r.univar map=scarpdepth total null and non-null cells: 178396 total null cells: 170947 Of the non-null cells: ---------------------- n: 7449 minimum: -2.60534 maximum: 387.981 range: 390.586 mean: 206.303 mean of absolute values: 206.305 standard deviation: 76.9735 variance: 5924.92 variation coefficient: 37.3109 % sum: 1536751.12633864





Then, with 7449 cells and an area of 53.8 km^2, the cell size is 7226 m^2/cell



  1. The volume is +/-11 km^3 approximately (7,226 m^2 * 1,536,751 m)


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...