Saturday 24 September 2016

arcgis desktop - How do I find the slope of road segments with point elevation data of the same linear path



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.



Answer



I suggest it would be easier to calculate the slope from the DEM:



  1. Calculate a slope surface from your DEM using the slope function in spatial analyst.(mind the choice of slope unit here degree vs. percent rise- for your purpose you need percent rise)

  2. Use the extract by mask function from spatial analyst and extract only cells that cover your line from the slope data, here use the Line feature (shapefile) as a mask.

  3. You can either simply classify the raster to obtain values >5% and <5% OR you can change the extracted raster into points to get your points with slope value along the line and then use symbology to show all points with >5%.



No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...