1. Introducción

Por medio de este cuaderno se presentará el código para realizar el cálculo de pendiente y aspecto en un raster.

La pendiente es un número que representa la dirección o inclinación de un plano. Por otra parte, el aspecto se define como la orientación de la pendiente del plano respecto a los puntos cardinales.

Para iniciar, se debe realizar la creación de un ráster. Para ello es necesario instalar y cargar la librería "raster

#install.packages("raster")
library(raster)
## Loading required package: sp

Utilizar este cuadro de código para iniciar el ráster

rm(list = ls())

Se va a crear un modelo digital de elevación (DEM) que se llamara “dem”. Para ello se creará un ráster de tres columnas y tres filas, donde cada celda tendrá un tamaño de 5x5

dem<-raster(ncol=3, nrow=3, xmn=100, xmx=115, ymn=100, ymx=115)

Para rectificar el número de celdas y el tamaño (resolución espacial) de cada una se usan las funciones “ncell” y “res”

ncell(dem)
## [1] 9
res(dem)
## [1] 5 5

Ya verificado lo anterior se asingan los valores al DEM

valores<-c(50, 45, 50, 30, 30, 30, 8, 10, 10)
values(dem)<-valores

Ahora, se plotea el objeto “dem” para observar la variación de en la elevación por medio de una escala de color

plot(dem, main ="DEM")
text(dem)

Se debe asignar un sistema coordenado de referencia al objeto “dem” para poder calcular el aspeto. En este caso se usará EPSG: 3115

crs(dem)<-CRS('+init=epsg:3115')

2. Cálculo de la pendiente y la orientación

A partir de este cuadro de código se puede calcular y plotear la pendiente de la casilla central del objeto “dem”. Este valor está dado en grados.

(slope=terrain(dem, 'slope', unit='degrees', neighbors=8))
## class      : RasterLayer 
## dimensions : 3, 3, 9  (nrow, ncol, ncell)
## resolution : 5, 5  (x, y)
## extent     : 100, 115, 100, 115  (xmin, xmax, ymin, ymax)
## crs        : +init=epsg:3115 
## source     : memory
## names      : slope 
## values     : 75.25766, 75.25766  (min, max)
plot(slope, main="Pendiente")
text(slope)

Para calcular y plotear el aspecto se usa el siguiente cuadro de código

(aspecto = terrain(dem, 'aspect', unit='degrees', neighbors=8))
## class      : RasterLayer 
## dimensions : 3, 3, 9  (nrow, ncol, ncell)
## resolution : 5, 5  (x, y)
## extent     : 100, 115, 100, 115  (xmin, xmax, ymin, ymax)
## crs        : +init=epsg:3115 
## source     : memory
## names      : aspect 
## values     : 180.7538, 180.7538  (min, max)
plot(aspecto, main="Aspecto")
text(aspecto)

3. Tarea

Ahora se realizará el cálculo de la pendiente y aspecto para un DEM de 4x4 con tamaño de celda de 5

dem2<-raster(ncol=4, nrow=4, xmn=100, xmx=120, ymn=100, ymx=120)
ncell(dem2)
## [1] 16
res(dem2)
## [1] 5 5
valores2<-c(50, 45, 50, 48, 30, 29, 30, 29, 10, 9, 9, 10, 25, 23, 19, 21)
values(dem2)<-valores2
plot(dem2, main ="DEM2")
text(dem2)

crs(dem2)<-CRS('+init=epsg:3115')
(slope=terrain(dem2, 'slope', unit='degrees', neighbors=8))
## class      : RasterLayer 
## dimensions : 4, 4, 16  (nrow, ncol, ncell)
## resolution : 5, 5  (x, y)
## extent     : 100, 120, 100, 120  (xmin, xmax, ymin, ymax)
## crs        : +init=epsg:3115 
## source     : memory
## names      : slope 
## values     : 36.05503, 75.62313  (min, max)
plot(slope, main="Pendiente")
text(slope)

(aspecto = terrain(dem2, 'aspect', unit='degrees', neighbors=8))
## class      : RasterLayer 
## dimensions : 4, 4, 16  (nrow, ncol, ncell)
## resolution : 5, 5  (x, y)
## extent     : 100, 120, 100, 120  (xmin, xmax, ymin, ymax)
## crs        : +init=epsg:3115 
## source     : memory
## names      : aspect 
## values     : 164.0546, 181.4688  (min, max)
plot(aspecto, main="Aspecto")
text(aspecto)

Se puede observar según la pendiente que el terreno es heterogéneo en su inclinación. Respecto al aspecto hay tres celdas que tienen una orientación similiar hacia el sur (celdas de color verde), mientras la de valor 164° se ubica hacia el sureste