How should I interpret R terrain/slope output in degrees?

I'm calculating the average land gradient (in degrees) in Brazil and I do not know how to interpret the results.

As I'm calculating the slope in degrees, 0.25 is 0.25 degrees, 25 degrees or should I use a conversion factor?

• What are you using to compute the slope? the raster::terrain function? Jan 29 '19 at 12:24
• Hi, I'm using the raster::terrain function as follows: slope <- terrain(m, opt = "slope", unit = "degrees", neighbors = 8) Jan 29 '19 at 12:33

If I construct a raster with rows of height from 1 to 10, in a square 10x10 grid of cells of size 1m, I've created a 45 degree slope:

> r = raster(matrix(1:10,10,10), xmn=0, xmx=10, ymn=0, ymx=10)

I have to give it a geometric coordinate system - so this is now a 10x10 metre area near the origin of the UK metre grid system:

> projection(r) = CRS("+init=epsg:27700")

and its slope is:

> terrain(r, unit="degrees")
class       : RasterLayer
dimensions  : 10, 10, 100  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 10, 0, 10  (xmin, xmax, ymin, ymax)
coord. ref. : +init=epsg:27700 +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +datum=OSGB36 +units=m +no_defs +ellps=airy +towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894
data source : in memory
names       : slope
values      : 45, 45  (min, max)

45 degrees everywhere. So your 0.25 is 0.25 degrees, which is quite near level.

To have accurate results, you need to re-project the coordinate system of the DEM dataset before computing for slope.

• True. Not sure what the CRS is of this data. However, slope can still be put into in degrees in projected CRS as far as I am aware. However, not sure if this answers the question. Nov 24 '20 at 9:23