Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am a very new GIS user using ArcMap 10. I have a raster layer of tree canopy that I have clipped so that the layer is in a polygon that is a circle with a 2km radius.

I have done this for four circles and I am trying to compare the tree canopy across the four circles. Something like a density or % area covered would be perfect.

The problem is... the tree canopy raster layer attribute table only has counts for where the canopy is... and no counts for where it is not. I could get a % cover (for comparisons across the four circles) if I knew what the count of the no tree canopy cells was, but this information is absent. It is almost as if the raster layer is like a point layer, but I cannot count each cell as a point. I hope this makes sense. I am completely lost.. any help would be appreciated!

Thanks in advance!

share|improve this question
can you show us your raster? what is the background value? – A.R Dec 7 '12 at 19:11
I am not sure how to show it to you or how to figure out what the background value is. The raster is very basic. The attribute table only has three columns: Rowid, Value, and Count. And two rows: trees and tree shadow (I am not concerned with the tree shadow as much as the trees themselves). If there was a third row with counts of cells with no data then I could figure out what % of the cells are trees, but this data is absent. I was thinking I could try to figure out what area each "count" represents and then, since I know the area of the circle (2km radius) I could do something with that... – Lauren Dec 7 '12 at 19:17
This is the link where I got the data if that helps: link – Lauren Dec 7 '12 at 19:32
You might find that a richer, more flexible result is obtained by computing a focal mean (with a 2 km radius) of the indicator grid for the tree canopy: the indicator is set to 1 for canopy cells and 0 for non-canopy cells; this is a simple map calculation (or selection). The four numbers you want are located at the centers of the four circles. But instead of getting just four numbers, you get an entire grid of values mapping out the local canopy density everywhere! – whuber Dec 7 '12 at 19:52
up vote 0 down vote accepted

You describe a fairly involved process. I use the following model to do just what you describe

  1. To begin make sure your canopy cover is in binary format (i.e. 0 as no tree and 1 as tree) using Reclassify
  2. Use Zonal Statistics as Table to "sum" all of the "1" pixel values in your cirles, or plots
  3. I added a Join Field to get the attributes from a Merged Plots layer I was using, which included the total amount of pixels within the plot [COUNT].
  4. Add a field: "CanopyPercent"
  5. Calculate field (see attached screenshot). Here you are essentially taking the sum of all of the canopy pixels (i.e. pixel = 1)and dividing that value by the total pixel count in the circle or plot.
  6. The last add field and calculate field was to determine canopy area which is even easier--just calculate based on [SUM]

The end product should look something like the last screenshot. In this case, I have 200 plot and the canopy percent was calculated for each. You will probably have to tweak the workflow to your specific needs, although this should get you started.

enter image description here

enter image description here

enter image description here

share|improve this answer
Thank you! I am having a problem with the reclassify function however. If I reclassify by count.. it includes the tree shadow cells as a third classification. I would like to have the tree shadow counts be counted as no tree as well as the missing data to be counted as no tree.. I have done a couple of test runs and I cant seem to get it to become a binary table like you suggested. I could take a screenshot of what I am talking about but I am not sure how to upload it here. Thank you for your patience! – Lauren Dec 7 '12 at 20:30
It looks like your raster dataset is already in binary format. However, to be useful for this workflow try the following: In the Reclassify window, type "1" in the "New Values" column for any of the old values that represent tree cover. Type "0" into any of the "New Value" cells that do not represent tree cover. Note that you may have to "Calculate Statistics" in order to reclassify your raster. – Aaron Dec 7 '12 at 20:59
Thank you so much! With your help I finally figured it out! – Lauren Dec 10 '12 at 1:08

but if you have canopy count on the raster, you only need multiply COUNT value on attribute table by the resolution of raster and then divide the result by the circle area.

this way you get the percent of cover inside the circle.

share|improve this answer
Thanks! How do I determine what the resolution of the raster is? When I click "display resolution in TOC" it is just a blank space. – Lauren Dec 7 '12 at 20:25
Sorry for not respond earlier, i go out of city the weekend. I see that you already get the answer, however for future references the raster resolution is in "Properties" dialog in Cell Size row. In the example 2.5 meters sample image – gtapko Dec 10 '12 at 15:31

Your Answer


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.