Jump to content


Adding tree canopy to viewshed analysis

- - - - -

  • Please log in to reply
5 replies to this topic




  • Validated Member
  • Pip
  • 5 posts
  • No Country Selected

Ok, first off, I'm working ArcGIS 10 desktop.
I'm trying to do a visibility analysis of wind towers. how visible will they be from how far away?
I want to add tree canopy (we're going with 32 feet).
I'm using a 10m dem and I have the National Land Cover dataset for my vegetation cover.
I clipped the NLCD to the same extent as the DEM. I added a "Height" field in attribute table and put in 32' for the forest cover types.

Now what??? I know I use the raster calculator to add the two, but I don't know how to do it so that height is actually taken into account and converted to meters. Does this involve map algerbra? If so, could someone walk me through the steps.

Help is much appreciated!



    Master Contributor

  • Validated Member
  • PipPipPipPip
  • 125 posts
  • Gender:Male
  • Location:North Wales
  • United Kingdom

check out the bump mapping presentation pdf at:
really cool stuff




  • Validated Member
  • PipPip
  • 43 posts
  • Location:Seattle
  • United States

I wouldn't complicate it too much. Easiest would be to convert the 32 ft to it's equivalent in meters before adding it to the attribute table.

Alternately you could include the conversion factor in your raster calculator expression.

Hope that helps.



    Master Contributor

  • Validated Member
  • PipPipPipPip
  • 225 posts
  • Gender:Male
  • Location:Denver
  • United States

Assuming you are using ArcGIS and Spatial Analyst.

1. All your files are in the same projection/coordinate system. Sometimes Spatial Analyst has a fit when this is not the case.

2. In your height field, make sure 0 is set for everything else that is not vegetation. You can change the vegetation height to meters if you like (9.7536, or 10 for simplicity ) or do it in raster calculator.

Since I don't know how your NLCD is setup I assume it is already a raster, and it is an Integer raster and you've left the height attribute as feet.

In raster calculator you can combine the two similar to this:

float(([NLCD].height * 0.3048) + [DEM])




    Master Contributor

  • Validated Member
  • PipPipPipPip
  • 214 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:Remote Sensing, Cartography
  • Germany


I am doing this process on an automated basis for wind towers and power lines. For every set of objects to be extruded, we (temporarily) convert the feature input with the given height attribute into a raster and then add that to the DEM. I've done it both in ArcGIS and GRASS.

For ArcGIS you need the con function to deal with the null-values in the forest raster like so:

con( isNull( [forest] ), [dem], [dem] + [forest] * scaleFactor )

Inyour result viewshed, clip away the forest areas - while in the forest you usually can't see the towers, but the calculation will be made as if you're standing on top of the forest.

Have fun!
Crischan Wygoda



    Hall of Fame

  • Admin
  • PipPipPipPipPipPipPip
  • 2,420 posts
  • Gender:Male
  • Location:Stockholm, Sweden
  • Interests:music, hiking, friends, nature, photography, traveling. and maps!
  • Sweden

cepperson - I deleted the duplicate thread that somehow got created, and moved Crischan's response into this thread... (it was in the other thread)
Hugo Ahlenius
Nordpil - custom maps and GIS

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users