I am trying to identify where cuttings and crevices exist by using a DTM or DSM.

My ultimate aim is to find where roads and rail lines sit within a cutting i.e. the land either side of them is higher than the road or rail network. If possible, I would like to identify the height difference between each road/rail and the top of the cutting, however, just finding the location of the cuttings would be great.

I have a line dataset and a polygon dataset showing me the roads and rails for my area.

My logic for this would be:

  1. Find the crevices / cuttings from the terrain data and generate a raster with 0 and 1 values. Where 1 is a cutting and 0 is everything else.
  2. Vectorise this raster to generate polygons for the 1 values.
  3. Union this with the road and rail dataset to find where the road and rail sit within the cutting.

By a cutting I mean something like this

enter image description here

Or this

enter image description here

I am not interested in this

enter image description here

It is at step 1 that I have hit a wall.

I would assume that some of the hydrology tools might be able to help me with this by modelling where water would flow. Does anybody have any suggestions?

I am using ArcGIS 10.2 with an Advanced Licence.

1 Answer 1


Suggested workflow:

  1. Draw perpendiculars to road segments at regular step
  2. Interpolate them to 3D lines using DEM
  3. Convert vertices to points
  4. Find lowest point

If it is “close enough” to centreline, road runs in depression

This shows the test I’ve applied to check if already existing streams are matching newly developed DEM:

enter image description here

You can also check results against curvature grids shown as 2 classes below (negative – grey, positive – transparent):

enter image description here

I’d say you can use curvature raster to define upper extent of crevice by clipping your cross-sections…

Another fancy way of doing it:

use polyline defined by points (distance_along_section, elevation). Draw second horizontal line slightly above lowest point, check if 2 lines can form a polygon. Draw another line etc. Elevation where no polygon can be constructed is elevation of lowest edge. Works in ideal world, not so much in a real one…

  • Thanks for the answer @FelixIP, Your logic seems sound. However I was asking for specific tools within ArcGIS in my question. I can imagine that your logic would be something scriptable in python.
    – Dan_h_b
    Feb 1, 2016 at 10:56
  • Perpendiculars - script, the rest are standard tools
    – FelixIP
    Feb 1, 2016 at 19:06

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.