# Calculating rooftop slope angle from DSM/DTM

1494
4
04-15-2020 04:27 AM
New Contributor

I'm new to ArcGIS so sorry if this seems trivial at all.
I'm trying to find the slope angle of roofs. I have the DSM and DTM of my area and then drawn polygons over each rooftop. I have used zonal statistics which has found the Standard deviation of the slope but i'm not sure how to convert this to a degree/percentage value. I also feel like there must be an easier way of doing this that i dont know about.

My overall goal is trying to find suitable roofs to convert to a green roof. so if anyone knows of any completely different ways to get all the data and outputs id need for that then that would be amazing  .

Any help would be greatly appreciated,
Thanks.

Tags (2)
4 Replies
New Contributor II

Have you found any luck on gathering slope values? I am working on a similar project and I am now facing the same problem.

New Contributor

Sadly i haven't found a way. Rooftops, especially those of buildings in cities produce vary varied values so its very difficult to tell slope without just looking on google earth. I know you can use the 3D analyst tool to produce a value if you're not analyzing many buildings and want to do it manually. but still unsure what to do for a large amount.

I'm currently trying to eliminate buildings from my focus area by removing listed buildings/churches/open top multistory car parks etc, and then try to come up with something for what remains.

New Contributor II

Thanks for the input Owain. I'm going to eliminate buildings from my focus area before processing as well. Thanks again!

New Contributor

Owain Kril‌ A bit late but here are two methods you could try.

1. create a slope raster using your DSM/DTM and then use zonal stats to extract the slope values

2. You can use Add surface information tool and input your rooftops and DSM to extract min max slope and also the areas.

The most import thing here is the way the rooftops are delineated a. building footprints or b. segmented roofparts. Because in both the methods mentioned you can only derive values per polygon.
Hope this helps!