I have a feature class containing polygons and an associated raster with elevation data. I'm looking to calculate a single slope and aspect for each polygon within the feature class. I don't want a slope that represents an average of the raster cells. Rather, I ask you to picture a plane that is fitted to the topography of each polygon. I don't know the specific mathematics involved, but I can imagine it involves finding a plane that minimizes the aggregate difference, across all raster cells, between the actual elevation and the fitted elevation of the plane. I've attached a rather crude two dimensional view of alternative scenarios for the topography. For each scenario, there is a black shape to represent topography and a blue line to represent slope and aspect. Note that an average slope will not fit the bill, because I can envision many polygons with the same fitted plane, yet very different levels of ruggedness (average slope between adjacent raster cells). I am decent enough at ArcGIS to find my way to tools and sequences of tools to get things done, but I have not done programming or python scripts or whatever the more sophisticated users do to devise custom "tools".
1 Answer
Calculate a trend surface, then calculate the slope and aspect of the trend.
http://desktop.arcgis.com/en/arcmap/10.3/tools/spatial-analyst-toolbox/how-trend-works.htm
-
Thank you for your response. This seems to work. However, my test method was to extract a single polygon from my feature class, convert the raster to points, and clip the points to my single polygon boundary; then run trend, slope, and aspect. This approach requires that I repeat the process (serially) to produce trend output for each polygon of my feature class. Is there a more efficient way to produce the trend output for all of my polygons? Thanks again.– mponeNov 20, 2017 at 13:16
-
@mpone, you'll need to iterate (in model builder or python/arcpy) and use ech polygon as a mask (Mask environment / Extract by Mask tool). This should be a new question if you need help with that.– user2856Nov 20, 2017 at 20:58