Mapping Cliff Height

For the advancement of science I was out today to test that: I’d say, it is not possible to map cliff height from LIDAR hill-shades. Not even with contour lines, unless the cliff is more than ~1.5contour separation m high (crude adaption of sampling theorem). Sample picture:


The vertical yellow bar is 2m high, the horizontal bar is the location of the other photo, GPS reading shows it 1m altitude apart from bottom view photo. So it is not even possible to map that from (consumer grade) GPS.


Great field work @Hungerburg ! I am not surprised by your findings. With a hillshade we are looking at shadows in essence. What we see is dependent not only on the terrain, but also the positioning of the virtual light sources (azimuth and elevation) relative to the orientation of the cliff (or other feature). In order to map cliff height one would need a tool where one could draw a line perpendicular to the cliff face, and the tool would generate an elevation profile of the ground along that line using a DEM as source. However, even then, the referenced DEM would need to have a sufficiently small post spacing to enable us to differentiate between a true cliff with a near vertical drop, and a more gentle slope. Another option would be to use the actual lidar point cloud with a suitable tool that allows one to change their viewpoint so they can get a ground level view looking parallel to the cliff (would also need mensuration tools, but I believe most lidar software comes with those).

1 Like

It is worth noting that Hillshading is computed from DEM in the first place…
@Hungerburg maybe you can find the original data used for your Hillshading overlay on JOSM?

Data here ArcGIS Web Application Engineers perhaps can make more out of it. Raster said to be 1m. Recently the track for an aerial gondola was planned solely on base of it. I can query that data from the administrative GIS website, see screenshot, line starting at the bottom:

Note that the bigger white spot to the left is much less of a cliff - less high and less steep, actually not a cliff at all, in my opinion. What looks smooth in the shading is up to 30° steep. The hole on the left is from a WW bomb.

This is where the fun is :slight_smile: Earned me a very curious paw print photo too.

Looking at the steepest part of the curve, 722m - 714m = 8m is not a so bad estimate given your photo above.
I said estimate.

Around here, in art and map making, the sun shines from North-West, we always are in late evening, so to say. Is this different in other places?

I believe that is the case around here (US) too if you have a single light source, but it is possible to have a multidirectional hillshade. I tried to find the exact elevation and azimuth for the light sources that the USGS uses for the hillshades they provide as part of 3DEP, but haven’t been successful.

USGS provides services with incredible quality For the HillShade use the usual formula A315°Z45°, You can consult information about the service in this LINK
About Multidirectional HillShade, USGS has helped develop 2 incredible techniques =

  • Gantenbein= A350°Z70 + A15°Z60° + A270°Z55°
  • MDOW (MultiDirectional Oblique-Weighted) = A225°Z30° + A270°Z30° + A315°Z30° + A360°Z30°
    However, in the description of 3DEP services it talks about MultiDirectional HillShade with 6 different light sources.
1 Like

FWIW, in architecture and likely also in mapmaking, the sun is put in the North-West in order to have a natural looking image when you hang the printout on a wall (shadows pointing down, and from left to right). It is somehow a convention like photographing clocks at 10:10 (sometimes 10:08 or 10:11 if you don’t want to hide the 2-marker), as this has both indicators pointing up (looks positive). Small psycho tricks :wink:

Thank You! Our state supplied DTM obviously uses a single sun, but the one from the federal agency seemingly adds fill-in lights: There is detail, where the other is just blown out (white) or flooded/drowned (black).

I just wish, local administration where as generous in licensing as USGS or Luxemburg e.g.

You may be on to something: estimated_height=*