Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

I have Raster Data for a State which has Elevation Data in its pixels. I also have Vector layer which has the 300 divisions of State. what I need is, I want to get the average elevation value of particular division from the raster data using ArcGIS.

I tried extract by mask in ArcGIS to extract individual polygon to clip the raster into 300 raster then from individual raster i have collected average elevation but it has taken days together to complete the work. is there any other easy way to get it.

share|improve this question
add comment

3 Answers

This is the task for the Zonal Statistics tool. Go to Spatial Analyst Tools > Zonal > Zonal Statistics and select the Mean statistic. The raster should have an attribute table for this.

share|improve this answer
2  
Note: This requires the Spatial Analyst extension. –  GIS-Jonathan Nov 7 '12 at 15:51
2  
(+1) Another note: The processing recommended here by nadya will only take seconds (or fractions thereof), not minutes. The principle involved is that when you're analyzing raster data, using raster procedures (which of course requires raster software like SA) tends to be far more efficient (in its use of your time, the computer's time, and the computer's RAM) than converting rasters to vector format and using vector procedures. –  whuber Nov 7 '12 at 16:44
    
I Hearty Thank you "NADYA" It works but the elevation results changes from 10m to 100m if i compare this with my separate cliped raster result (I tried extract by mask in ArcGIS to extract individual polygon to clip the raster into 300 raster then from individual raster i have collected average elevation but it has taken days together to complete the work. is there any other easy way to get it.) –  Mahesh Nov 8 '12 at 6:34
add comment

There are several ways to do this. If you don't have Spatial Analyst you can do it anyway as follows:

  • First, convert the raster to Points using the Raster to Point tool. This gives you a grid of points and is relatively quick - 16million points were created in about 2 minutes (be sure to turn off rendering so they aren't displayed though ;-) ).

  • Now, use the Analysis Tools -> Overlay - Spatial Join tool. Target feature is your 300 polygon layer, join is the point layer. Leave as one-to-one. Create a "Field Map of Join Features" - being sure to set the merge rule as "mean", "Median", or "mode" (or all of them I guess). Resultant single polygon layer should have all 300 polygon areas, each of which has attributes with the requested types of average calculated in them.

That should get you the numbers you need with minimal effort (though waiting quite a bit of processing - Spatial Joins are slow).

share|improve this answer
1  
Very good advice, avoiding the Spatial Analyst extension. Just, it is really slow for large rasters. –  nadya Nov 7 '12 at 17:43
    
Thank you I will Try It –  Mahesh Nov 8 '12 at 6:31
add comment

You can use Geospatial Modelling Environment tools (independent tools) which used to be Hawths Tools. From there you can extract raster values of the extent of polygons with whichever statistics you want. You can also extract thematic variables with its fraction. the result will be automatically added to your shapefile. This tool works together with ArcGIS and R.

Specifically use the isectpolyrst tool to put underlying raster information into polygon shapefiles. It has no problems with overlapping polygons either.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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