Select to view content in your preferred language

3d buffer

4465
3
10-04-2011 11:13 AM
JerryHughes
Emerging Contributor
I need to buffer a stream.  The buffer needs to take into account elevation from a DEM o TIN.  The buffer needs to use slope distance so that the resulting buffer of 50 meters is the measure of ground distance based on slope so that flat areas will be 'further' from the stream than steep areas.
Any ideas where to start?  Can this be done in Spatial Analyst or 3D analyst?
j
Tags (1)
0 Kudos
3 Replies
JeffreySwain
Esri Regular Contributor
3d Analyst would be the toolset to accomplish it. However the 3d buffer is not currently possible.  You can interpolate the streamline to match the elevation of the terrain.  The buffer may be problematic as you really want the 3d distance rather than the straight line distance.  The out of the box tool on buffering the 3d line will simply create the polygon.  With the normal buffering for the horizontal distance and then extrude the polygon up or down, you could create a 3 dimensional buffer similar to here to create your multipatch.  I am not sure how to create the variable buffer based on the slope distance.
0 Kudos
JakubSisak
Honored Contributor
Not the most elegant solution but;
you could create an array of regularly spaced polylines with the river approximately in the centre


  • Interpolate the polylines to 3D and cut them at the intersection of the river polyline

  • Change orientation of the 3D lines if necessary so that each line starts at the river polyline

  • Use the Split (editor tool) to split each line at distance using the "From Start Point of Line"

  • Use the Select By Location spatial quesry to select all lines that intersect the river polyline

  • Switch selection and delete all features that do not touch the river

  • Digitize a polygon snapping to each of the 3D line end points

  • There is your approximate 3D buffer

To make this more accurate, you could create a the interval lines perpendicularly from each middle segment of the river. The smaller the interval the more accurate the result.

If you are fluent in ArcObjects and programming in either C# or VB .Net, this is something that you could make into an Add-On tool to automate all of the steps.
0 Kudos
EricRice
Esri Regular Contributor
Jerry,

Please run the Path Distance tool with your input stream as the feature source, and your DEM as the Surface Raster.  Do not use a cost raster.  Without  a cost associated you basically get the surface distance from each cell to the nearest source.  Then just reclassify, use con statements, use the classfied render with specific class breaks (multi-ring buffer type look), and keep it in raster form or convert specific classes to polygons if you really needed a polygon buffer.

Regards,
Eric
0 Kudos