#1 introduccion
Este cuaderno se realiza con el fin de presentar un codigo para realizar el calculo de pendiente y aspecto en un Raster
La pendiente indica de manera cuantitativa la direcion o inclinacion de un plano. por otra parte el aspecto se refiere a la orientacion de la pendiente del plano respecto a los puntos cardinales.
Para iniciar, se debe realizar la creacion de un raster. Para ello es necesario instalar y cargar la libreria “raster”.
library(raster)
## Loading required package: sp
Utilizamos este cuadro de codigo para iniciar el raster
rm(list = ls())
Creamos un modelo digital de elevacion (DEM). Para esto creamos un raster de 3 columnas y 3 filas, donde cada celda tendra un tamaño de 5x5.
dem<- raster(ncol=3, nrow=3, xmn=100, xmx=115, ymn=100, ymx=115)
Utilizamos “ncell” y “res” para la resolucion espacial
ncell(dem)
## [1] 9
res(dem)
## [1] 5 5
Asignacion de valores
valores<- c(50, 45, 50, 30, 30, 30, 8, 10, 10)
values(dem)<-valores
Ahora ploteamos el objeto “dem” para observar la variacion en la elevacion, gracias a una escala de color.
plot(dem, main = "DEM")
text(dem)
Ahora asignamos un siistema de coordenadas de referencia al objeto “dem” para poder calcular el aspecto. En este caso usamos EPSG: 3115
crs(dem)<-CRS('+init=epsg:3115')
#2. Calcular la pendiente y la orientacion
Con el siguiente codigo podremos calcular y plotear la pendiente de la casilla central del objeto “dem”. Este valor se da 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)
Ahora calculamos y ploteamos el aspecto con el siguiente codigo.
(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 realizamos el calculo 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)
Observamos que la pendiente de las celdas superiores es 75 y 76, en cuanto a las celdas inferiores tienen 36 y 42, esto indica que el terreno no es regular. En relacion al aspecto, comprendemos que hay 3 celdas orientadas hacia el sur correspondientes a 180 y 181°, y solo una orientada hacia el sur este con 160°.