Select to view content in your preferred language

What is the workflow for creating a Viewshed for a certain distance??

3635
3
Jump to solution
04-15-2015 09:21 AM
PeterLen
Occasional Contributor


Hello,

I am using ArcGIS 10.2.  I have a need to run the Viewshed toolbox tool on an elevation raster based on a single observation point AND only have the viewshed for the specified distance (ex: 2 kilometers from the observation point).  I initially though that the Viewshed tool would have a distance parameter but it doesn't.  I saythat because I initially  came across an Esri Viewshed example at Geoprocessing - Viewshed | ArcGIS API for JavaScript. This is the client side that calls a GP Service.  It sends a distance down to be used by the tool that the GP Service calls.  After finding that the Viewshed tool itself does not take such a parameter, I figured that there must be some workflow to accomplish the task which would combine the Viewshed tool with something like buffer/clip operations .  In my tests, I was able to do the following:

1) Create  2 kilometer BUFFER using my observation point as input

2) Create a Viewshed raster by using the elevation raster and my observation point

3) Use the Data Management Clip tool  to use the output from #2 with the buffer from #1

That got me most of the way but the Data Management Clip only seems to clip based on a rectangle, so it created the smallest rectangle off of my circular buffer. I could not use the Analysis Clip tool because that did not accept a raster input.

So, my question is.... what is the proper workflow to do a Viewshed that is based on a designated distance??  My process above got me only so far because my clipped result was not a circular clip like I wanted.  The rectangle clip I got included some areas outside of the distance of the buffer because it had to create a rectangular clip.

Any thoughts?

Thanks - Peter

0 Kudos
1 Solution

Accepted Solutions
GabrielUpchurch1
Occasional Contributor III

Hi Peter,

In the Clip tool, check the option to "Use Input Features for Clipping Geometry."  That should get you a circle instead of a rectangle of the circle's extent.

View solution in original post

3 Replies
GabrielUpchurch1
Occasional Contributor III

Hi Peter,

In the Clip tool, check the option to "Use Input Features for Clipping Geometry."  That should get you a circle instead of a rectangle of the circle's extent.

PeterLen
Occasional Contributor

Gabriel - Thanks for the response.  Yes, that works like a champ.  I must not have seen that.  So in the end, doing a Viewshed for a specified distance was a 3-step process (BUFFER tool to create a specified buffer around the observation point, VIEWSHED tool to get the full viewshed for the elevation raster, and then the CLIP tool to clip the viewshed based on the buffer.  Is that the accepted way to do what I need or is there a more straightforward approach?  For example, I just found the Visibility tool that looks almost identical to the Viewshed tool but can take an OUTPUT RADIUS value, although it doesn't seem to define how you can declare different linear units (3 feet or 3 miles, for example).  In any case, if this 3-step process is a valid one, I will go with that.  Thanks - Peter

0 Kudos
GabrielUpchurch1
Occasional Contributor III

Glad it worked.  Your three step approach and the Visibility tool are both valid methods.  In regards to the units of the parameter, I think it is based on the linear units of the input raster.  So if your elevation raster has linear units of meters, then you would specify the outer radius you need in meters.

One thing to keep in mind with the two approaches is that your three step method only considers planimetric distance from the observer point, while the outer radius setting in the Visibility tool offers both planimetric or 3D line of sight distance (depending out how you specify your radius, negative or positive value respectively).  Here is a help resource for the Visibility tool just in case you have not seen it:  Visibility—Help | ArcGIS for Desktop .