I'm currently working on a project to calculate road grade along roughly 30 miles of highway. I need to isolate and portray all sections of road with more than a 5 percent grade; in hopes of finding that there are at least 15 miles of road that fall into this category.
I currently have my line segment (road), which I generated random points along, and extracted elevation data from DEM to these points. Now I have a points shapefile and a line shapefile but cannot find a way to merge the two.
I expect that I will have to calculate the slope for each segment of the line, but in order to do that I need my line to have elevation data for each segment (which I was expecting could be taken from the point data)
I need to find a way to break my line up into segments between the points I generated in order to attach the proper elevation data (from the points). Maybe I am going about this the wrong way? I am running Arc 10.3 with unlimited license for the ArcToolbox, so I know I have the tools available to do this.
Best Answer
Create a copy of your road. Start editing it, select line and and split into equal length segments, I’d say approximately 50 m. Convert segments to 3D shapes:
Calculate field
Result:
Please note both roads shown are fictions. One of them made of contour line, guess which. I wonder to see how red it would be if I’ve used slopes derived from DEM as per multiple suggestions. I hope they weren’t serious
UPDATE TO ORIGINAL ANSWER:
Picture below shows terrain slope:
Obviously engineers of the past didn’t know how to use GIS to calculate road slope: