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')
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)
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