1. Introducción.

El objetivo de este cuaderno es presentar el cálculo de la pendiente y la orientación de una matríz de celdas conociada como Ráster a través de las herramientas que brinda el programa R. Según esto, la pendiente se conoce como la medida del desnivel o inclinacacíon de una superficie y la orientación, como la ubicación de la pediente con respecto a los puntos cardinales.

2. Creación del Ráster.

Limpiando el area de trabajo en R:

rm(list=ls())

Ahora, es necesario instalar y llamar a la libreriía raster:

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

Se procede a crear un modelo de elevación digital o Ráster simulado. Para ello, es necesario crear un objeto con las coordenas del cuadro, asi:

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

Verificando el número de celdas que componen al objeto “dem”

ncell(dem)
## [1] 9

Verificando la resloución espacial del objeto “dem”

res(dem)
## [1] 5 5

Asignándole valores a “dem”

valores <- c(50, 45, 50, 30, 30, 30, 8, 10, 10)
(values(dem) <- valores)
## [1] 50 45 50 30 30 30  8 10 10

Graficando “dem”

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

Ahora, se procede a asignarle un sistema de coordenadas de referencias a “dem”:

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

EPSG: European Petroleum Survey Group, es una organización que matiene una base de datos de de parámetros geodésicos co códigos estandar para sistemas de coordenadas, datos, esferoides, unidades y similares (Squartecchis, 2019). Existen múltiples páginas de internet que permiten obtener en código EPSG para un lugar determinado, una de ellas es. Según esto, el código para Bogotá MAGNA esEPSG:6247 para la regíon urbana y EPSG:3116 para toda la zona de Bogotá.

3. Cálculo de pendiente y orientación

Para calcular la pendiente, se usa la función terrain, así:

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

A partir de los datos anteriores se observa que la pendiente de la matriz de datos es de 75.25°. Ahora, se procede a graficar el valor de la pendiente:

plot(slope, main = "Slope")
text(slope)

Para calcular la orientación también se usa la función terrain, así:

(aspect = 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)

So observa que los datos tienen orientación de 180°, lo que significa que la pendiente tiene dirección al sur.

plot(aspect, main = "Aspect")
text(aspect)

4. Tarea.

Es necesario calcular la pendiente y la orientación para un DEM preestablecido: Inicialmente, es necesario construir el objeto con las coordenadas del cuadro, así:

DEM <- raster(ncol=4, nrow=4, xmn=100, xmx=120, ymn=100, ymx=120)

Verificando el número de celdas que componen al objeto “DEM”

ncell(DEM)
## [1] 16

Verificando la resloución espacial del objeto “DEM”

res(DEM)
## [1] 5 5

Asignándole valores a “DEM”

val <- c(50, 45,50, 48, 30,29,30,29, 10, 9, 9, 10, 25, 23, 19, 21)
val
##  [1] 50 45 50 48 30 29 30 29 10  9  9 10 25 23 19 21
(values(DEM) <- val)
##  [1] 50 45 50 48 30 29 30 29 10  9  9 10 25 23 19 21

Graficando “DEM”

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

Ahora, se procede a asignarle un sistema de coordenadas de referencias a “DEM”:

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

Para calcular la pendiente, se usa la función terrain, así:

(slope = terrain(DEM, '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 = "Slope")
text(slope)

Para calcular la orientación también se usa la función terrain, así:

(aspect = terrain(DEM, '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)

Se observa que los datos tienen orientación de 180°, lo que significa que la pendiente tiene dirección al sur.

plot(aspect, main = "Aspect")
text(aspect)

Debido a que la matriz inicial tiene un tamaño de 4X4, el cálculo, tento de la pendiente como de la orientación, arrojó una matriz de 2X2, en la que, para la pendiente, las dos celdas de arriba tienen valores de 75° y 76° y las dos de abajo 36° y 42°. De igual forma, la orientación arrojó cuatro valores en los que tres de ellos son, 180°, 181° y 180 por tanto tienen orientación sur, y un último valor de 164° con orientación sur-este.