En matemáticas, la pendiente o gradiente de un plano es un número que describe tanto la dirección como la inclinación de este. Por otro lado, el aspecto se refiere a la orientación de la pendiente del plano en relación con los puntos cardinales. En breve, aspecto es la dirección de la brújula que enfrenta una pendiente. En este cuaderno vamos aprender a crear un DEM y a calcular la pendiente y la orientacion de un plano:
rm(list=ls())
library(raster)
Vamos a crear un juguete DEM. Tenga en cuenta que es necesario pasar las coordenadas del cuadro delimitador (mínimo y máximo a lo largo de los dos ejes, x e y):
ndem <- raster(ncol=4, nrow=4, xmn=100, xmx=120, ymn=100, ymx=120)
Ahora, vamos a mirar el numero de celdas que tiene nuestro DEM, para esto hacemos usop de la funcion “ncell()”:
ncell(ndem)
[1] 16
Luego, miramos la resolución espacial (es decir, el tamaño de celda) de DEM, para esto usamos “res()”:
res(ndem)
[1] 5 5
Ahora, vamos asignar los valores de cada celda que compone nuestro DEM, para esto debemos tener encuenta el orden, ya que el primer valor corresponde a la casilla superior izquierda y se extiende hacia la derecha, cuando se acaban las celdas de esta fila vuelve y empieza en la izquierda:
valores <- c(60, 35, 5, 28, 33, 49, 50, 18, 7, 88, 2, 22, 75, 13, 29, 32)
(values(ndem) <- valores)
[1] 60 35 5 28 33 49 50 18 7 88 2 22 75 13 29 32
Tracemos el DEM con los valores de elevación que suministramos anteriormente:
plot(ndem, main ="Calcule slope & aspect for this DEM")
text(ndem)
Asignemos un sistema de referencia de coordenadas al DEM que estamos trabajando:
crs(ndem) <- CRS('+init=epsg:3115')
(slope = terrain(ndem, '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 +proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
source : memory
names : slope
values : 54.63388, 75.75706 (min, max)
plot(slope, main = "Pendiente")
text(slope)
(aspecto = terrain(ndem, '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 +proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
source : memory
names : aspect
values : 27.47443, 142.5946 (min, max)
plot(aspecto, main = "Aspecto")
text(aspecto)