Is there a possibility to determine the surface area above the road and the surface of the terrain below the road or between two or more roads? I want to pull the trees down the hill and up the hill to the roads. The price of skidding trees is different so I would like to know what the surface (ha) is above and below the road?

enter image description here

Here is an example, orange is uphill and red is downhill. I think this is solved with a raster calculator

enter image description here

Here is the method, but I do not know how to solve it in ArcGIS Desktop

enter image description here

  • I think you need to be a bit clearer about the 'rules' you'll use to define above and below the road. If the road slopes, a tree can be both above and below the road at different points. Commented Jul 28, 2017 at 12:53
  • It just needs to paint the surface automatically above and below the road. Slope is only rule
    – Frodo
    Commented Jul 28, 2017 at 13:29
  • But if your road starts at 10m AOD and ends at 50m AOD, a tree at 25m AOD is both above and below the road Commented Jul 28, 2017 at 13:34
  • I mean perpendicular from road. See arrows
    – Frodo
    Commented Jul 28, 2017 at 13:37
  • OK but perpendicular is a line so can't have an area Commented Jul 28, 2017 at 13:39

3 Answers 3


In ArcGIS, convert the road to a raster using Polyline to Raster. Using your surface model create a flow direction raster using the Spatial Analyst Hydrology tools. Use the flow direction raster and the rasterized road to generate a watershed using the Watershed tool. The resulting watershed will be all the areas that are uphill of the road.

  • I have got some unexpected results.
    – Frodo
    Commented Jul 31, 2017 at 14:40

One way I can think of is to convert your DEM raster to points. Then use v.to.points to get points at equal spacing along the roads layer.

Use v.sample on the road points layer to get the height value from original DEM.

Next, use the NNJoin plugin to join each DEM point to the nearest road point. You should now have a points layer that covers your study area, gives the height of the point and the height of the nearest road point.

Use field calculator to subtract the height of the nearest road point from the point height.

Interpolate a surface from these points.

reclassify the interpolated raster to positive numbers = 1 (above), negative numbers = 0 (below)

  • See an example, I think this is solved with a raster calculator
    – Frodo
    Commented Jul 29, 2017 at 18:52
  • Please could you post your solution as an answer? I'd be interested to know how you did it Commented Jul 30, 2017 at 7:37
  • This is not my solution, I find research work with that analysis. I add another picture to my question
    – Frodo
    Commented Jul 30, 2017 at 16:11
  • QGIS does not have an equivalent to ArcGIS' Path distance allocation tool (as far as I know). I have amended my answer to replicate the methodology you've outlined. Commented Jul 31, 2017 at 11:14
  • 1
    SAGA plugin have Proximity raster and can make allocation distance
    – Frodo
    Commented Jul 31, 2017 at 12:09

Can't comment directly on an answer yet, but to add more details about input parameters for the Path Allocation Distance gp tool in ArcMap (IMO a bit more detail in nagib's answer would be helpful).

The "in_surface_raster" parameter equals your DEM (I hydrologically conditioned my DEM first). The "in_source_data" parameter is the road raster created in step 1 of nagib's answer.

The "in_cost_raster" parameter in path distance allocation tool for this type of analysis considers at least slope and land cover. Here's a helpful link for creating a cost surface raster combining those two variables: http://desktop.arcgis.com/en/arcmap/10.3/tools/spatial-analyst-toolbox/creating-a-cost-surface-raster.htm

Also, in the path distance allocation tool help it suggests using the output of Aspect gp tool (in other words, an aspect raster) in the "in_horizontal_raster" parameter of the path allocation distance gp tool.

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.