Abril 1,2020

1. Introducción

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

2.Creación del Ráster

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

3.Cálculo de la pendiente y el aspecto

Pendiente

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)

Aspecto

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. ACTIVIDADES ADICIONALES

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

LS0tCnRpdGxlOiAiUGVuZGllbnRlIHkgQXNwZWN0byIKYXV0aG9yOiAiQW5naWUgQWxlamFuZHJhIEp1eW8gQnVpdHJhZ28iCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCipBYnJpbCAxLDIwMjAqCgojIyMgMS4gKipJbnRyb2R1Y2Npw7NuKioKRW4gZXN0ZSBjdWFkZXJubyBkZSBSIHNlIGlsdXN0cmEgZWwgY8OhbGN1bG8gZGUgbGEgcGVuZGllbnRlIHkgZWwgYXNwZWN0bywgY29tbyBhc2lnbmFjacOzbiBkZWwgY3Vyc28gZ2VvbcOhdGljYSBiw6FzaWNhIAoKKirCv1F1ZSBzaWduaWZpY2EgcGVuZGllbnRlIHkgYXNwZWN0bz8qKgogCkxhIHBlbmRpZW50ZSBzaWduaWZpY2EgbGEgaW5jbGluYWNpw7NuIGRlbCBwbGFubwoKRWwgYXNwZWN0bywgc2UgcmVmaWVyZSBhIGxhIG9yaWVudGFjacOzbiBkZSBlc3RhIHBlbmRpZW50ZSBlbiByZWxhY2nDs24gY29uIGxvcyBwdW50b3MgY2FyZGluYWxlcyx0YW1iacOpbiBwb2RyaWFtb3MgaGFibGFyIGRlIGFzcGVjdG8gY29tbyBsYSBkaXJlY2Npw7NuIGRlIGxhIGJyw7pqdWxhIHF1ZSBlbmZyZW50YSB1bmEgcGVuZGllbnRlCgoKIyMjIDIuKipDcmVhY2nDs24gZGVsIFLDoXN0ZXIqKgoKCmBgYHtyfQpybShsaXN0PWxzKCkpCmBgYAoKUHJpbWVybyAsY2FyZ2FyZW1vcyBsYSBsaWJyZXJpYSByYXN0ZXIKCmBgYHtyfQpsaWJyYXJ5KHJhc3RlcikKYGBgCgpBaG9yYSwgdmFtb3MgYSBjcmVhciB1biBERU0gZGUgbXVlc3RyYSwgdGVuaWVuZG8gZW4gY3VlbnRhIHF1ZSBlcyBuZWNlc2FyaW8gcGFzYXIgbGFzIGNvb3JkZW5hZGFzIGRlbCBjdWFkcm8gZGVsaW1pdGFkb3IgKG1pbmltbyB5IG3DoXhpbW8gYWwgbGFkbyBkZSBsb3MgZWplcyBYIGUgWSkKCmBgYHtyfQpkZW0gPC0gcmFzdGVyKG5jb2w9MywgbnJvdz0zLCB4bW49MTAwICwgeG14PTExNSwgeW1uPTEwMCwgeW14PTExNSkKYGBgCgrCv0N1w6FudGFzIGNlbGRhcyBjb21wb25lbiBlbCBERU0/CgpQYXJhIHJlc3BvbmRlciBhIGVzdGEgcHJlZ3VudGEgdW5zYW1vcyBsYSBmdW5jacOzbiAibmNlbGwiCmBgYHtyfQpuY2VsbChkZW0pCmBgYAoKUGFyYSBjb25vY2VyIGxhIHJlc29sdWNpw7NuIGVzcGFjaWFsICwgZXMgZGVjaXIgLCBlbCB0YW1hw7FvIGRlIHVuYSBjZWxkYSBkZWwgREVNIHVzYW1vcyBsYSBmdW5jacOzbiAicmVzIgoKCmBgYHtyfQpyZXMoZGVtKQpgYGAKCkx1ZWdvLCBhc2lnbmFtb3MgdmFsb3JlcyBkZSBlbGV2YWNpw7NuIGEgY2FkYSB1bmEgZGUgbGFzIGNlbGRhcyBkZWwgREVNIGRlIGxhIHNpZ3VpZW50ZSBtYW5lcmEKCmBgYHtyfQp2YWxvcmVzIDwtIGMoNTAsIDQ1LCA1MCwgMzAsIDMwLCAzMCwgOCwgMTAsIDEwKQpgYGAKClkgY29tcHJvYmFtb3MgcXVlIHNlIGhhbGxhIHJlZ2lzdGFkbyBsb3MgdmFsb3JlcyBkZSBmb3JtYSBjb3JyZWN0YQoKYGBge3J9Cih2YWx1ZXMoZGVtKSA8LSB2YWxvcmVzKQpgYGAKCgpBaG9yYSAscG9kZW1vcyB0cmF6YW1vcyBlbCBERU0ganVudG8gYSBsb3MgdmFsb3JlcyBkZSBlbGV2YWNpw7NuIHF1ZSBzZSBsZSBhc2lnbmFyb24KCmBgYHtyfQpwbG90KGRlbSwgbWFpbj0iREVNIikKdGV4dChkZW0pCmBgYAoKWSBBc2lnbmFyZW1vcyBhbCBERU0gdW4gc2lzdGVtYSBkZSBjb29yZGVuYWRhcyBwYXJhIGZpbmFsaXphciBsYSBwYXJ0ZSBkZSBjcmVhY2nDs24KCmBgYHtyfQpjcnMoZGVtKSA8LUNSUygnK2luaXQ9ZXBzZzozMTE1JykKYGBgCgojIyMgMy4qKkPDoWxjdWxvIGRlIGxhIHBlbmRpZW50ZSB5IGVsIGFzcGVjdG8qKgoKIyMjIyAqKlBlbmRpZW50ZSoqIAoKUGFyYSBlbCBjw6FsY3VsbyBkZSBsYSBwZW5kaWVudGUgdXNhbW9zIGVsIHNpZ3VpZW50ZSBjw7NkaWdvIDoKCmBgYHtyfQooc2xvcGUgPSB0ZXJyYWluKGRlbSwgJ3Nsb3BlJywgdW5pdD0nZGVncmVlcycsIG5laWdoYm9ycz04KSkKYGBgCgpMdWVnbyAscG9kZW1vcyB0cmF6YXIgbG8gb2J0ZW5pZG8gCgpgYGB7cn0KcGxvdChzbG9wZSwgbWFpbj0gIlBlbmRpZW50ZSIpCnRleHQoc2xvcGUpCmBgYAoKIyMjIyAqKkFzcGVjdG8qKgoKUG9kZW1vcyBjYWxjdWxhciBlbCBhc3BlY3RvIGNvbiBlbCBzaWd1aWVudGUgY8OzZGlnbzoKCmBgYHtyfQooYXNwZWN0byA9IHRlcnJhaW4oZGVtLCAiYXNwZWN0IiwgdW5pdD0iZGVncmVlcyIsIG5laWdoYm9ycz04KSkKYGBgCgpBbCBpZ3VhbCBxdWUgY29uIGxhIHBlbmRpZW50ZSBwb2RlbW9zIHRyYXphciBsbyBvYnRlbmlkbwoKYGBge3J9CnBsb3QoYXNwZWN0bywgbWFpbj0gIkFzcGVjdG8iKQp0ZXh0KGFzcGVjdG8pCmBgYAoKCiMjIyAqKjQuIEFDVElWSURBREVTIEFESUNJT05BTEVTKioKCioqNC4xKiogRXNjcmliaXIgdW4gY8OzZGlnbyBkZSBSIHF1ZSBwZXJtaXRhIGNhbGN1bGFyIGxhIHBlbmRpZW50ZSB5IGVzIGFzcGVjdG8gZGUgdW4gREVNIHF1ZSB0ZW5nYSAxNiBjZWxkYXMgeSB1bmEgcmVzb2x1Y2nDs24gZXNwYWNpYWwgZGUgNTUKCgoqKjQuMS4xIENyZWFjacOzbiBkZWwgbnVldm8gREVNKioKCkxvIHByaW1lcm8gc2Vyw6EgY3JlYXIgbnVlc3RybyBERU0sY2FtYmlhbmRvIGxvcyBsw61taXRlcyBkZSBsb3MgZWplcyB4IGUgeSwgYWRlbcOhcyBkZWwgbsO6bWVybyBkZSBmaWxhcyB5IGNvbHVtbmFzCgoKYGBge3J9CkRFTV9UQVJFQSA8LSByYXN0ZXIobmNvbD00LCBucm93PTQsIHhtbj0xMDAgLCB4bXg9MTIwLCB5bW49MTAwLCB5bXg9MTIwKQpgYGAKCkNvbXByb2JhbW9zIHF1ZSB0ZW5nYSBlbCBudW1lcm8gZGUgY2VsZGFzIHkgbGEgcmVzb2x1Y2nDs24gcmVxdWVyaWRvcwoKYGBge3J9Cm5jZWxsKERFTV9UQVJFQSkKYGBgCmBgYHtyfQpyZXMoREVNX1RBUkVBKQpgYGAKCkx1ZWdvICwgYXNpZ25hbW9zIGxvcyB2YWxvcmVzIAoKYGBge3J9ClZhbG9yZXMgPC0gYyg1MCwgNDUsIDUwLCA0OCwgMzAsIDI5LCAzMCwgMjksIDEwLCA5LCA5LCAxMCwgMjUsIDIzLCAxOSwgMjEpCmBgYAoKYGBge3J9Cih2YWx1ZXMoREVNX1RBUkVBKSA8LSBWYWxvcmVzKQpgYGAKClkgdHJhemFtb3MgZWwgREVNIGNvbiBsb3MgdmFsb3JlcyBhc2lnbmFkb3MKCgpgYGB7cn0KcGxvdChERU1fVEFSRUEsIG1haW49IkRFTSBUQVJFQSIpCnRleHQoREVNX1RBUkVBKQpgYGAKCkxlIGFzaWduYW1vcyB1biBzaXN0ZW1hIGRlIGNvb3JkZW5hZGFzIGFsIERFTToKCgpgYGB7cn0KY3JzKERFTV9UQVJFQSkgPC1DUlMoJytpbml0PWVwc2c6MzExNScpCmBgYAoKCioqNC4xLjIgQ8OhbGN1bG8gZGUgbGEgcGVuZGllbnRlIHkgYXNwZWN0byoqCgoqUGVuZGllbnRlKgoKCmBgYHtyfQooU2xvcGUgPSB0ZXJyYWluKERFTV9UQVJFQSwgJ1Nsb3BlJywgdW5pdD0gJ2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpCmBgYAoKCmBgYHtyfQpwbG90KFNsb3BlLCBtYWluPSAiUGVuZGllbnRlIERFTSB0YXJlYSIpCnRleHQoU2xvcGUpCmBgYAoKCipBc3BlY3RvKiAKCgpgYGB7cn0KKEFzcGVjdG8gPSB0ZXJyYWluKERFTV9UQVJFQSwgJ0FzcGVjdCcsIHVuaXQ9J2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpCmBgYAoKYGBge3J9CnBsb3QoQXNwZWN0bywgbWFpbj0iQXNwZWN0byBERU0gdGFyZWEiKQp0ZXh0KEFzcGVjdG8pCmBgYAoKKio0LjIgQ29uc3VsdGFzKiogCgoqwr9RdcOpIHNpZ25pZmljYSBlbCBjw7NkaWdvIEVQU0c/KgoKRWwgY8OzZGlnbyBFUFNHIGNvcnJlc3BvbmRlIGFsIGFjcsOzbmltbyBkZSAgRXVyb3BlYW4gUGV0cm9sZXVtIFN1cnZleSBHcm91cCwgb3JnYW5pemFjacOzbiBjaWVudMOtZmljYSByZWxhY2lvbmFkYSBhIGxhIGluZHVzdHJpYSBwZXRyb2xlcmEuIEVzdGEgb3JnYW5pemFjacOzbiBlbGFib3LDsyB1biByZXBvc2l0b3JpbyBkZSBwYXLDoW1ldHJvcyBnZW9kw6lzaWNvIEVQU0csIGJhc2UgZGUgZGF0b3MgcXVlIGNvbnRpZW5lIGluZm9ybWFjacOzbiwgYSBuaXZlbCBtdW5kaWFsLCBzb2JyZSBsb3Mgc2lzdGVtYXMgZGUgcmVmZXJlbmNpYSBkZSBjb29yZGVuYWRhcyAobm9tYnJlLCB0aXBvLCBjw7NkaWdvKSwgcHJveWVjY2lvbmVzIGNhcnRvZ3LDoWZpY2FzLCBlbnRyZSBvdHJvcwoKClRvbWFkbyBkZSA6PGh0dHA6Ly9zdXBwb3J0LnZpcnR1YWwtc3VydmV5b3IuY29tL2VzL3N1cHBvcnQvc29sdXRpb25zL2FydGljbGVzLzEwMDAyNjEzNTMtcXVlLWVzLXVuLWMlQzMlQjNkaWdvLWVwc2ctPgo8aHR0cHM6Ly93d3cubWFzdGVyZ2lzLmNvbS9lcHNnLz4KCirCv0RvbmRlIHBvZGVtb3MgZW5jb250cmFyIGPDs2RpZ29zIEVQU0c/KgoKRW4gZXBzZy5pbwo8aHR0cHM6Ly9lcHNnLmlvLz4KCgoqwr9DdcOhbCBlcyBlbCBjw7NkaWdvIEVQU0cgcGFyYSBNQUdOQSBjdWlkYWQgZGUgQm9nb3TDoT8qCgpFbCBjw7NkaWdvIEVQU0cgcGFyYSBCb2dvdMOhIGVzIEVQU0c6MzExNiAsIHNlZ8O6biBsbyBjb25zdWx0YWRvIGVuIGVsIGVubGFjZSBwcm9wb3JjaW9uYWRvIGRlIGZvcm1hIGFudGVyaW9yCgoKCgoK