I'd like to be able to automatically calculate the average slope of a street segment in ArcMap (start elev - end elev / length). My map looks something like this, with street centerlines in black and 2-foot contour lines in green. The blue polygons represent street drainage areas I have drawn, which I'd eventually like to assign the slopes of the adjoining centerlines to as an attribute, but can't even figure out how to automatically find the centerline slope in the first place. Any thoughts or past experience?

enter image description here


1 Answer 1


I assume you have elevation data with you and based on that u wish to assign slope values to the polygon.

Step1: Divide the center line into segments the way you wish to have the slope calculation. If slope should be calculated at every 30 mtrs. Divide line into 30 mtrs segments.

Step2: Create a point layer with end vertices of each segment. Get those points elevation using the Functional surface 3D analyst tool.

Step3: Calculate the slope value between those points. With the help of old FIDs join the attribute data of point layer back to line segments.

Step4: Now make a spatial join between the polygons layer and center line. Thus the slope values will be attached to the polygon.

Seems bit lengthy process and may b someone else can suggest more shorter method. But this works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.