Abril 1,2020
En este cuaderno de R se ilustra el cálculo de la pendiente y el aspecto, como asignación del curso geomática básica
¿Que significa pendiente y aspecto?
La pendiente significa la inclinación del plano
El aspecto, se refiere a la orientación de esta pendiente en relación con los puntos cardinales,también podriamos hablar de aspecto como la dirección de la brújula que enfrenta una pendiente
rm(list=ls())
Primero ,cargaremos la libreria raster
library(raster)
Ahora, vamos a crear un DEM de muestra, teniendo en cuenta que es necesario pasar las coordenadas del cuadro delimitador (minimo y máximo al lado de los ejes X e Y)
dem <- raster(ncol=3, nrow=3, xmn=100 , xmx=115, ymn=100, ymx=115)
¿Cuántas celdas componen el DEM?
Para responder a esta pregunta unsamos la función “ncell”
ncell(dem)
[1] 9
Para conocer la resolución espacial , es decir , el tamaño de una celda del DEM usamos la función “res”
res(dem)
[1] 5 5
Luego, asignamos valores de elevación a cada una de las celdas del DEM de la siguiente manera
valores <- c(50, 45, 50, 30, 30, 30, 8, 10, 10)
Y comprobamos que se halla registado los valores de forma correcta
(values(dem) <- valores)
[1] 50 45 50 30 30 30 8 10 10
Ahora ,podemos trazamos el DEM junto a los valores de elevación que se le asignaron
plot(dem, main="DEM")
text(dem)
Y Asignaremos al DEM un sistema de coordenadas para finalizar la parte de creación
crs(dem) <-CRS('+init=epsg:3115')
Para el cálculo de la pendiente usamos el siguiente código :
(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 +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 : 75.25766, 75.25766 (min, max)
Luego ,podemos trazar lo obtenido
plot(slope, main= "Pendiente")
text(slope)
Podemos calcular el aspecto con el siguiente 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 +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 : 180.7538, 180.7538 (min, max)
Al igual que con la pendiente podemos trazar lo obtenido
plot(aspecto, main= "Aspecto")
text(aspecto)
4.1 Escribir un código de R que permita calcular la pendiente y es aspecto de un DEM que tenga 16 celdas y una resolución espacial de 55
4.1.1 Creación del nuevo DEM
Lo primero será crear nuestro DEM,cambiando los límites de los ejes x e y, además del número de filas y columnas
DEM_TAREA <- raster(ncol=4, nrow=4, xmn=100 , xmx=120, ymn=100, ymx=120)
Comprobamos que tenga el numero de celdas y la resolución requeridos
ncell(DEM_TAREA)
[1] 16
res(DEM_TAREA)
[1] 5 5
Luego , asignamos los valores
Valores <- c(50, 45, 50, 48, 30, 29, 30, 29, 10, 9, 9, 10, 25, 23, 19, 21)
(values(DEM_TAREA) <- Valores)
[1] 50 45 50 48 30 29 30 29 10 9 9 10 25 23 19 21
Y trazamos el DEM con los valores asignados
plot(DEM_TAREA, main="DEM TAREA")
text(DEM_TAREA)
Le asignamos un sistema de coordenadas al DEM:
crs(DEM_TAREA) <-CRS('+init=epsg:3115')
4.1.2 Cálculo de la pendiente y aspecto
Pendiente
(Slope = terrain(DEM_TAREA, '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 : 36.05503, 75.62313 (min, max)
plot(Slope, main= "Pendiente DEM tarea")
text(Slope)
Aspecto
(Aspecto = terrain(DEM_TAREA, '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 : 164.0546, 181.4688 (min, max)
plot(Aspecto, main="Aspecto DEM tarea")
text(Aspecto)
4.2 Consultas
¿Qué significa el código EPSG?
El código EPSG corresponde al acrónimo de European Petroleum Survey Group, organización científica relacionada a la industria petrolera. Esta organización elaboró un repositorio de parámetros geodésico EPSG, base de datos que contiene información, a nivel mundial, sobre los sistemas de referencia de coordenadas (nombre, tipo, código), proyecciones cartográficas, entre otros
Tomado de :http://support.virtual-surveyor.com/es/support/solutions/articles/1000261353-que-es-un-c%C3%B3digo-epsg- https://www.mastergis.com/epsg/
¿Donde podemos encontrar códigos EPSG?
En epsg.io https://epsg.io/
¿Cuál es el código EPSG para MAGNA cuidad de Bogotá?
El código EPSG para Bogotá es EPSG:3116 , según lo consultado en el enlace proporcionado de forma anterior