# slope: Slope of grid cells in a DEM In insol: Solar Radiation

## Description

Calculates the slope of every grid cell in a digital elevation model (DEM) from the output of cgrad, which is a set of unit vectors normal to every grid cell.

## Usage

 `1` ```slope(cgrad, degrees = FALSE) ```

## Arguments

 `cgrad` A 3D array of dimensions nrow(dem), ncol(dem),3, where the third dimensions are the x, y z component of the unit vectors normal to the surface of the DEM grid cells. `degrees` Logical. If `FALSE`, returns radians, if `TRUE`, returns degreees.

## Value

A matrix of slope values for all grid cells.

`aspect`, `cgrad`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26``` ```# Calculate the slope of a rough mountain area in the pyrinees zipfile=tempfile() download.file("http://www.meteoexploration.com/R/insol/data/dempyrenees.asc.zip",zipfile) header=read.table(unz(zipfile,'dempyrenees.asc'),nrows=6) dem = read.table(unz(zipfile,'dempyrenees.asc'),skip=6) dem=as.matrix(dem) unlink(zipfile) cellsize=header[5,2] slopedem=slope(cgrad(dem,cellsize),degrees=TRUE) image(t(slopedem[nrow(slopedem):1,]),col=grey(100:1/100)) ## similar but using raster ## Not run: require(rgdal) require(raster) demfile=tempfile() download.file("http://www.meteoexploration.com/R/insol/data/dempyrenees.tif",demfile) dem=raster(demfile) slopedem=slope(cgrad(dem),degrees=TRUE) slopedem=raster(slopedem,crs=projection(dem)) extent(slopedem)=extent(dem) plot(slopedem,col=grey(100:1/100)) unlink(demfile) ## End(Not run) ```