Detecting avalanche debris based on their shape (Edit: +volume calculation)

1327
6
Jump to solution
05-06-2017 06:37 AM
DanielSuttor
New Contributor II

So, here's what I'm trying to do: I want to detect avalanche debris of a known avalanche using Sentinel-2 optical imagery. I've calculated the Normalized Difference Snow Index and from there I've extracted all the values above 0.4 which gives me a raster file that contains all the snow for the scene. There, I can easily recognise the avalanche debris that lie below the snow line based on their distinctive elongated tongue shape.  

Is it possible for ArcGIS (or any other application for that matter) to identify and extract these elongated tongue shapes? Basically what I want to end up with is a file that contains nothing but the avalanche debris without manually selecting them.

I'm rather new to ArcGis so I have no idea if this is super trivial or practically impossible. 

Edit: I've attached a picture of the avalanche in question. Note that the blue raster is the approximated snow line (this was done with simple generalization tools, though I have yet to optimise this). The red raster is all the snow below this snow line from which I'd like ArcGIS to detect elongated shapes like the one in the center of this picture. 

Edit2: Thank you Xander Bakker for your answer, that is very close to what I was looking for. I have a second quesion though: How would I go about calculating the volume of the debris? I have a 10m DEM and I know the extent of the debris, so it should be possible to calculate it. The problem that I have is that, as opposed to calculating the volume of a lake for example, I don't have a universal z value that would allow me to easily calculate the volume above or bellow said value. The debris start at a highter altitutde as opposed to where they end. I have a attached a picture of the avalanche in ArcScene. I hope I explained that clearly, I don't really know the correct terminology. 

0 Kudos
1 Solution

Accepted Solutions
XanderBakker
Esri Esteemed Contributor

It would probably yield something like this:

Steps used:

  • Region Group -> "region_group"
  • Lookup using the field Count -> "lookup"
  • Raster Calculator: Con(Raster(r"lookup")>= 25, Raster(r"region_group")) -> "region_group_large" (to filter out the small areas)
  • Zonal Geometry, using the PERIMETER option -> "area_perimeter"
  • Zonal Geometry, using the THICKNESS option -> "area_thickness"
  • Raster Calculator: Raster(r"area_perimeter") / Raster(r"area_thickness") (the resulting raster with the relation between the perimeter and thickness)

View solution in original post

6 Replies
DanPatterson_Retired
MVP Emeritus

probably not trivial,  an image of a typical debris field might spark some comments

0 Kudos
DanielSuttor
New Contributor II

I have updated the post with a picture, I hope it helps. 

0 Kudos
XanderBakker
Esri Esteemed Contributor

I think you could... at least get close. 

First of all you are interested in the areas of snow below the approximate snow line. These can be extracted using some raster math. The next thing would be to identify each separate connected area. This is done with the tool Region Group—Help | ArcGIS Desktop . 

The next thing could be to identify some statistics for each area. You could for instance do some Zonal Statistics and determine the range of values in you DEM for each unique zone. See: Zonal Statistics as Table—Help | ArcGIS Desktop 

Now when the range is large this does not necessarily mean that the zone contains avalanche debris. You could perhaps better use the Zonal Geometry tools and determine the fraction between the perimeter and the thickness of the area:

How Zonal Geometry works—Help | ArcGIS Desktop 

The greater the resulting value the more probably will be that it is avalanche debris.

XanderBakker
Esri Esteemed Contributor

It would probably yield something like this:

Steps used:

  • Region Group -> "region_group"
  • Lookup using the field Count -> "lookup"
  • Raster Calculator: Con(Raster(r"lookup")>= 25, Raster(r"region_group")) -> "region_group_large" (to filter out the small areas)
  • Zonal Geometry, using the PERIMETER option -> "area_perimeter"
  • Zonal Geometry, using the THICKNESS option -> "area_thickness"
  • Raster Calculator: Raster(r"area_perimeter") / Raster(r"area_thickness") (the resulting raster with the relation between the perimeter and thickness)
DanielSuttor
New Contributor II

Thank you, this was very helpfull! I have updated the post with a second question regarding volume calculations, maybe you can help me there as well. 

0 Kudos
curtvprice
MVP Esteemed Contributor

How would I go about calculating the volume of the debris? 

If you can create a surface of thickness, and a zone poly or raster coveriing your avalanche area, set the cell size to your thickness raster and run ZonalStatistics with SUM, multiply the result times the thickness raster cell size squared and you have your number. But -- be careful with units!

Hope that helps you!