Some background, so I work for and go to school at West Virginia University and I have been subcontracted to work with the DEP on stream management and analysis for the entire state. My most recent project has been to create buffers around streams leading to surface water intakes in order to help monitor chemical spills and also regulate tanks used by oil and gas companies.
My problem is that when creating the buffers around the streams I failed to include elevation and slope when calculating the distance of the buffers from the stream center (left and right banks for major rivers). My idea is to take the buffers I have (~160 of them) and make them flexible to reflect the topography because 1000 ft linearly looks a lot different than when that same 1000 ft would "decay" because of the topography and slope. I imagine my buffers being able to snap to contour lines to limit the planar length and reflect the topography.
I'm also wondering if using any tools in the 3D analyst would be of use, tools such as 3D length...I'm just not sure.
I'm aware that this could be solved by re delineating these buffers by working out of grid and also using cost-path but I would like to save myself the trouble of having to do these again since the entire project took about 6 months due to tedious calculations and attributions.
Thanks!
I am using Arc Map 10.3 and surrounding software.
This response is on behalf of Dean Djokic, Esri's Arc Hydro specialist and instructor (I developed an interest in this question and asked Dean, and here is his response...hoping it helps)
------------------------
Interesting discussion. Did not read all the posts, but I think they are all missing “why” this is being done. What I think they are trying to do is a “floodplain” not a buffer. Basically answer question “how wide will the water around stream be if the depth of water is xxx ft. above the channel”?
We have tools in Arc Hydro that do that. The approach is “flood out”. The quality of the results depends on the quality of the DEM and the stream centerline. For good data the results are very “nice”, but if the data are “iffy” the results are not realistic. Here is the overview process:
The following blog describes use of this approach when you have a stream and a one or more gaging stations that define the water surface elevation(WSE) to flood (if you do not have a gage station with observed WSE, you just use your design elevation at any or all points along the stream - #1 and #2 in the workflow above).
I’d like to get involved in this discussion but I have too much catching up after the week of teaching, so if you want to carry the torch, that would be wonderful.
-------------------------------------
My understanding is that the legal setback requirement is a slope distance, rather than a map distance.
I didn't read all the responses, but to me the biggest question is "what elevation data do you have?" and a secondary one is "how accurate is your stream network?"
If you're elevation is just the USGS countours/10m NED DEM, I believe the rest of the details are irrelevant. If you have Lidar, then your objective is realistic. I know here in Washington, we don't have statewide Lidar.
So, if all you have is USGS 10m DEM, or the contours, the problem is that this elevation is very generalized, and not necessarily very accurate. Distances based on it could never support a lawsuit. Only field measurements (survey) could do that. If your streams are just the NHD, without updates from hi-res topography, then your error is compounded. Not only is your slope indeterminant, but your points of origin are indeterminant as well.
So, the solution in that case is to disclaim the buffer edge, and base all implementation on field measurements. The mapped buffers then become a guide so that everyone can determine which facilities need to get measurements, and which don't. Then you
If you DO have accurate topography and streams, then the technical challenge you've identified would be relevant.
If that's the case, an incremental solution would be to create a layer of cross section lines (with vertices every 5m or so) , convert them to 3D features, inheriting their elevation values from your DEM. Or, alternatively, intersecting them with your contour layer, to get elevation nodes with elevation values from the contours. Then getting their 3D length (slope length), and comparing it to their map length. My guess is that most of your topography will be gentle enough that the two will not differ by much, but this method would quantify it where they do differ.