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?
    – Spacedman
    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.
    – MarcM
    Nov 24 '20 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.