I have a DEM across my study area where symbology has been changed to show elevation changes in 100m intervals.

I have a polygon feature class where each polygon delineates a landslide.

My landslide polygons sit atop the DEM. Some of the polygons cross different elevations, e.g. part of the polygon is at 500-600m and the rest at 400-500m. I would like to calculate the proportion of the landslide polygon that lies in each bracket of the DEM. In the example: I would like to know what percentage of the polygon has elevation of 500-600m and what percentage has an elevation of 400-500m? I read a previous question with a similar issue that mentioned using zonal statistics but I haven’t been able to work it out.

I am using ArcMap 10.3.1. I have the 3D Analyst and Spatial Analyst extensions.

  • What have you tried exactly? Did any error occur with zonal statistics? – kowalski Apr 8 at 12:16
  • I have used Zonal stats and zonal stats as table but I haven't been able to get an output that tells me what I want – Pack Jarvis Apr 8 at 13:53

if you need the class proportions, you could use those steps:

1) reclassify your DEM into categories (using the reclassify tool)

2) use tabulate area to have the count of pixels of each category inside each polygon

Warning: in case of large area, the default size of the pixel in the analysis (there is an internal conversion of the feature class into raster) is usually to large for precise measurement. Make sure that you use a pixel size equal to the pixel size of your DEM.


Not sure why Zonal statistics doesn't work for you (further clarification is desired), but this should also do the trick, given that your DEM is classified into discrete classes and is not extremely large:

  1. Use Raster to Polygon for your DEM, using the height class as Field.
  2. Use Intersect between the landslide polygon and the output from the 1st step

Now, you should have a new layer, with a field "FID_Landslide" or similar (supposing your initial landslide layer was named "Landslide"). Each feature of the new layer will have the attributes of the polygonized DEM features (and therefore the height class), as well as the "FID_Landslide". This corresponds to the Landslide layer's polygon in which the DEM polygon falls inside. Calculate the Area for the features of this new layer and move on to:

  1. Use Calculate Summary statistics using as input layer the output from the 2nd step. Statistics field will be the Area you calculated previously and Case Field will be "FID_Landslide". The output of this will give you the total area of EACH height class that corresponds to EACH Landslide Polygon. You can further use a join operation to incorporate the output table into your initial layers.

This is, essentially, the same as using Zonal Statistics, but for vector layers.

Your Answer

