I have a large raster file with elevation data. From this raster, I would like to infer the average ruggedness for different geographic zones (like countries). I have the "countries shapefile" as a separate polygon shapefile.

I was able to get a raster file with a ruggedness measure.

However, this raster is still very large. It is therefore not possible to convert it to a shapefile to do a spatial join of the two shapefiles.

Since I do not need very precise data, is it possible to either:

  • convert my raster to a shapefile with an output that has larger cells than the default (I did not find this option)
  • directly spatially join the raster to the polygon shapefile

Do you have any advice?

I use ArcGis10, Gdal, and Qgis 1.8

  • Could this possibly be a RAM limitation? You could try splitting up the image with Split Raster.
    – Paul
    Sep 9, 2013 at 20:58

1 Answer 1


This is what zonal raster functions are for. You can obtain zonal variance by using the ArcGIS "Zonal Statistics as Table" tool and then taking the square-root of the standard deviation. Variance is a simple and common measure of roughness.

Your polygon feature-class of countries would be your zone data and your elevation raster would be the value raster. It is quite easy to then join the resulting zonal statistics back to your polygon feature-class based on the FID.

  • +1 for suggesting zonal statistics--but I believe the OP is asking for the zonal mean of a "ruggedness measure" rather than its zonal SD, which would instead be a "ruggedness of the ruggedness."
    – whuber
    Sep 10, 2013 at 1:21
  • It would be far more efficient to just take the zonal mean for each country. Even easier than what I originally suggested (did not notice that the OP already has a ruggedness raster). Sep 10, 2013 at 1:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.