Friday, 14 August 2015

A map of Aberystwyth using lines along slope direction to indicate slope

This is another map like the ones in yesterday's post, this time of the town of Aberystwyth in Wales, and a little of the area surrounding it.

I have altered the spacing of the slope lines, which are now 20m apart, with grid squares shown at 1km size.

Roads as usual come from OpenStreetMap, with OS Vector Map foreshore, woodland, plus tidal and inland water (the labels of these are from OpenStreetMap - possibly a dangerous thing to do, if something is in OSM but not OS VectorMap there will be a labelled object that is not mapped!).

Hill peaks are from, plotting all greater than 150m with more than 20m drop.

As before, the steepness of hills is indicated by the width of the slope lines, in this version, they are plotted with 10*((Slope_deg_Mean - 2.25) / 45.0) metres width, if the slope exceeds 2.25 degrees, and if not omitted.

That is no lines are plotted where the average slope of the segment is less than 1 in 20, and increase in width up to 19.5m as slope approaches 90 degrees. So a vertical cliff will be almost solid red.

They are plotted in the direction of the mean aspect of the segment. This is the real aspect, not the absolute distance from north.
It is possible that a segment facing north may for example have half of it at 1 degree east, and the other half at 359 degrees. Thus the average would be at 180 degrees. This doesn't matter because the lines have no arrows on them.
However if you have 3/4 of it facing 359 degrees, and 1/4 facing 1 degree, then it would produce spurious results, therefore slope direction may be dubious on north-facing slopes.

Aberystwyth, with the Ystwyth and Rheidol rivers, and Clarach Bay at the top. There are certain areas where a north-facing slope is given a spurious east-west slope line, such as the north-facing slope at the top of this image at Clarach.
When I originally did this, I thought that the excess division of segments along the N/S line when I segmented using the original aspect, rather than the absolute angle from north, was a problem. However for this purpose, dividing segments that cross the 360/0 degree discontinuity helps some of the north-facing slopes avoid spurious east-west 'mean aspect' of segments:

Compare the north-facing slopes to the previous image.

The segment boundaries plotted for illustrative purposes.


  1. Possibly silly question - where you say:

    It is possible that a segment facing north may for example have half of it at 1 degree east, and the other half at 359 degrees. and other, still more awkward examples,

    - would it be possible to split such segments at the vertex/end of that part of the line where the next portion of the segment (sub-segment) is not in the same east/west half - and then treat each such sub-segment as a separate segment ? (Maybe through pre-processing data before LandSerf?)

  2. Once I make RSGISlib use the actual aspect, rather than the absolute aspect from N, it seems to make a reasonable job of doing this anyway. To be sure I should probably get it to output the min and max of each segment, and see whether there are many that cross the 359-0 boundary.
    What was nonsense is when I had segmented using aspect from N, and added statistics of the actual aspect. If I had added statistics of aspect from N (as I did in my MSc dissertation), it shouldn't have produced silly results, but it would mean that it would not be possible to do this kind of visualisation, because if the average was say 10 degrees, it wouldn't know which side of N that was on.