Luisa Fernanda Carrión Ramírez

31/03/2019

Este cuaderno tiene como objetivo mostrar el proceso para calcular la pendiente y el aspecto empleando algunas herramientas de R. Matemáticamente hablando, la pendiente se define como el valor numérico asociado a la inclinación y dirección de un objeto con respecto a un plano. Por otro lado, el aspecto indica la orientación de la pendiente en el plano en relación con los puntos cardinales.

Creación del raster

rm(list=ls())

Antes de empezar, es necesario cargar la librería raster mediante el siguiente comando:

library(raster)

Para crear un Modelo Digital de Elevación (DEM) se debe empezar por delimitar las coordenadas en x y y de la siguiente manera:

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

Si se desea conocer cuántas celdas componen un DEM se escribe:

ncell(dem)
[1] 9

Con el fin de conocer la resolución espacial o el tamaño de la celda se emplea la siguiente función:

res(dem)
[1] 5 5

Luego, se deben asignar valores de elevación para el DEM:

valores <- c(50, 45, 50, 30, 30, 30, 8, 10, 10)

Para ejecutarlos, se emplea el siguiente comando:

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

La gráfica correspondiente al DEM se obtiene de la siguiente manera:

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

Se asigna un sistema de referencia de coordenadas:

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

Respuesta a algunas preguntas planteadas en la guía: - ¿Qué significa el código EPSG? Las siglas EPSG hacen referencia a European Petroleum Survey Group que es una organización que a partir de ciertos parámetros geodésicos determina unos códigos estándar o códigos EPSG. Estos se pueden empear para sistemas de coordenadas, esferoides, datos, entre otros. - ¿Dónde se pueden encontrar los códigos EPSG? Los códigos EPSG se encuentran compilados en la siguiente página:https://epsg.io/. Aunque, los shapefile generalmente vienen con un sistema de coordenadas establecido que puede ser leído por QGIS o ArcGIS. - ¿Cuál es el código EPSG para MAGNA Ciudad de Bogotá? El código EPSG asignado para MAGNA Ciudad de Bogotá es el 3116

Cálculo de pendiente y aspecto

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

Para gráficar la pendiente:

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

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

Para graficar el aspecto:

plot(aspecto, main = "Aspecto")
text(aspecto)

Asignación

Para crear el DEM de la asignación se deben delimitar las coordenadas de la siguiente manera.

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

Si se quiere conocer el número de celdas se escribe:

ncell(demtar)
[1] 16

Con el fin de determinar la resolución espacial o el tamaño de la celda se escribe:

res(demtar)
[1] 5 5

Ahora, se asignan valores de elevación al DEM:

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

Para graficar el DEM de la tarea:

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

También, se debe fijar un sistema de referencia de coordenadas:

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

Calcular la pendiente y el aspecto

(slopetar = terrain(demtar, '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)

Para graficar la pendiente:

plot(slopetar, main = "PENDIENTE")
text(slopetar)

(aspectotar = terrain(demtar, '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)

Para graficar el aspecto:

plot(aspectotar, main="ASPECTO")
text(aspectotar)

LS0tDQp0aXRsZTogIkPDoWxjdWxvIGRlIHBlbmRpZW50ZXMgeSBhc3BlY3RvcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQpMdWlzYSBGZXJuYW5kYSBDYXJyacOzbiBSYW3DrXJleg0KDQozMS8wMy8yMDE5DQoNCkVzdGUgY3VhZGVybm8gdGllbmUgY29tbyBvYmpldGl2byBtb3N0cmFyIGVsIHByb2Nlc28gcGFyYSBjYWxjdWxhciBsYSBwZW5kaWVudGUgeSBlbCBhc3BlY3RvIGVtcGxlYW5kbyBhbGd1bmFzIGhlcnJhbWllbnRhcyBkZSBSLiBNYXRlbcOhdGljYW1lbnRlIGhhYmxhbmRvLCBsYSBwZW5kaWVudGUgc2UgZGVmaW5lIGNvbW8gZWwgdmFsb3IgbnVtw6lyaWNvIGFzb2NpYWRvIGEgbGEgaW5jbGluYWNpw7NuIHkgZGlyZWNjacOzbiBkZSB1biBvYmpldG8gY29uIHJlc3BlY3RvIGEgdW4gcGxhbm8uIFBvciBvdHJvIGxhZG8sIGVsIGFzcGVjdG8gaW5kaWNhIGxhIG9yaWVudGFjacOzbiBkZSBsYSBwZW5kaWVudGUgZW4gZWwgcGxhbm8gZW4gcmVsYWNpw7NuIGNvbiBsb3MgcHVudG9zIGNhcmRpbmFsZXMuIA0KDQoqKkNyZWFjacOzbiBkZWwgcmFzdGVyKioNCg0KYGBge3J9DQpybShsaXN0PWxzKCkpDQpgYGANCkFudGVzIGRlIGVtcGV6YXIsIGVzIG5lY2VzYXJpbyBjYXJnYXIgbGEgbGlicmVyw61hIHJhc3RlciBtZWRpYW50ZSBlbCBzaWd1aWVudGUgY29tYW5kbzoNCmBgYHtyfQ0KbGlicmFyeShyYXN0ZXIpDQpgYGANClBhcmEgY3JlYXIgdW4gTW9kZWxvIERpZ2l0YWwgZGUgRWxldmFjacOzbiAoREVNKSBzZSBkZWJlIGVtcGV6YXIgcG9yIGRlbGltaXRhciBsYXMgY29vcmRlbmFkYXMgZW4geCB5IHkgZGUgbGEgc2lndWllbnRlIG1hbmVyYToNCmBgYHtyfQ0KZGVtIDwtIHJhc3RlcihuY29sPTMsIG5yb3c9MywgeG1uPTEwMCwgeG14PTExNSwgeW1uPTEwMCwgeW14PTExNSkNCmBgYA0KU2kgc2UgZGVzZWEgY29ub2NlciBjdcOhbnRhcyBjZWxkYXMgY29tcG9uZW4gdW4gREVNIHNlIGVzY3JpYmU6DQpgYGB7cn0NCm5jZWxsKGRlbSkNCmBgYA0KQ29uIGVsIGZpbiBkZSBjb25vY2VyIGxhIHJlc29sdWNpw7NuIGVzcGFjaWFsIG8gZWwgdGFtYcOxbyBkZSBsYSBjZWxkYSBzZSBlbXBsZWEgbGEgc2lndWllbnRlIGZ1bmNpw7NuOg0KYGBge3J9DQpyZXMoZGVtKQ0KYGBgDQpMdWVnbywgc2UgZGViZW4gYXNpZ25hciB2YWxvcmVzIGRlIGVsZXZhY2nDs24gcGFyYSBlbCBERU06DQpgYGB7cn0NCnZhbG9yZXMgPC0gYyg1MCwgNDUsIDUwLCAzMCwgMzAsIDMwLCA4LCAxMCwgMTApDQpgYGANClBhcmEgZWplY3V0YXJsb3MsIHNlIGVtcGxlYSBlbCBzaWd1aWVudGUgY29tYW5kbzoNCmBgYHtyfQ0KKHZhbHVlcyhkZW0pIDwtIHZhbG9yZXMpDQpgYGANCkxhIGdyw6FmaWNhIGNvcnJlc3BvbmRpZW50ZSBhbCBERU0gc2Ugb2J0aWVuZSBkZSBsYSBzaWd1aWVudGUgbWFuZXJhOg0KYGBge3J9DQpwbG90KGRlbSwgbWFpbiA9ICJERU0iKQ0KdGV4dChkZW0pDQpgYGANClNlIGFzaWduYSB1biBzaXN0ZW1hIGRlIHJlZmVyZW5jaWEgZGUgY29vcmRlbmFkYXM6DQpgYGB7cn0NCmNycyhkZW0pIDwtIENSUygnK2luaXQ9ZXBzZzozMTE1JykNCmBgYA0KUmVzcHVlc3RhIGEgYWxndW5hcyBwcmVndW50YXMgcGxhbnRlYWRhcyBlbiBsYSBndcOtYToNCi0gwr9RdcOpIHNpZ25pZmljYSBlbCBjw7NkaWdvIEVQU0c/DQpMYXMgc2lnbGFzIEVQU0cgaGFjZW4gcmVmZXJlbmNpYSBhIEV1cm9wZWFuIFBldHJvbGV1bSBTdXJ2ZXkgR3JvdXAgcXVlIGVzIHVuYSBvcmdhbml6YWNpw7NuIHF1ZSBhIHBhcnRpciBkZSBjaWVydG9zIHBhcsOhbWV0cm9zIGdlb2TDqXNpY29zIGRldGVybWluYSB1bm9zIGPDs2RpZ29zIGVzdMOhbmRhciBvIGPDs2RpZ29zIEVQU0cuIEVzdG9zIHNlIHB1ZWRlbiBlbXBlYXIgcGFyYSBzaXN0ZW1hcyBkZSBjb29yZGVuYWRhcywgZXNmZXJvaWRlcywgZGF0b3MsIGVudHJlIG90cm9zLg0KLSDCv0TDs25kZSBzZSBwdWVkZW4gZW5jb250cmFyIGxvcyBjw7NkaWdvcyBFUFNHPw0KTG9zIGPDs2RpZ29zIEVQU0cgc2UgZW5jdWVudHJhbiBjb21waWxhZG9zIGVuIGxhIHNpZ3VpZW50ZSBww6FnaW5hOmh0dHBzOi8vZXBzZy5pby8uIEF1bnF1ZSwgbG9zIHNoYXBlZmlsZSBnZW5lcmFsbWVudGUgdmllbmVuIGNvbiB1biBzaXN0ZW1hIGRlIGNvb3JkZW5hZGFzIGVzdGFibGVjaWRvIHF1ZSBwdWVkZSBzZXIgbGXDrWRvIHBvciBRR0lTIG8gQXJjR0lTLg0KLSDCv0N1w6FsIGVzIGVsIGPDs2RpZ28gRVBTRyBwYXJhIE1BR05BIENpdWRhZCBkZSBCb2dvdMOhPw0KRWwgY8OzZGlnbyBFUFNHIGFzaWduYWRvIHBhcmEgTUFHTkEgQ2l1ZGFkIGRlIEJvZ290w6EgZXMgZWwgMzExNg0KDQoqKkPDoWxjdWxvIGRlIHBlbmRpZW50ZSB5IGFzcGVjdG8qKg0KDQpgYGB7cn0NCihzbG9wZSA9IHRlcnJhaW4oZGVtLCAnc2xvcGUnLCB1bml0PSdkZWdyZWVzJywgbmVpZ2hib3JzPTgpKQ0KYGBgDQpQYXJhIGdyw6FmaWNhciBsYSBwZW5kaWVudGU6DQpgYGB7cn0NCnBsb3Qoc2xvcGUsIG1haW4gPSAiUGVuZGllbnRlIikNCnRleHQoc2xvcGUpDQpgYGANCmBgYHtyfQ0KKGFzcGVjdG8gPSB0ZXJyYWluKGRlbSwgJ2FzcGVjdCcsIHVuaXQ9J2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpDQpgYGANClBhcmEgZ3JhZmljYXIgZWwgYXNwZWN0bzoNCmBgYHtyfQ0KcGxvdChhc3BlY3RvLCBtYWluID0gIkFzcGVjdG8iKQ0KdGV4dChhc3BlY3RvKQ0KYGBgDQoqKkFzaWduYWNpw7NuKioNCg0KUGFyYSBjcmVhciBlbCBERU0gZGUgbGEgYXNpZ25hY2nDs24gc2UgZGViZW4gZGVsaW1pdGFyIGxhcyBjb29yZGVuYWRhcyBkZSBsYSBzaWd1aWVudGUgbWFuZXJhLg0KYGBge3J9DQpkZW10YXIgPC0gcmFzdGVyKG5jb2w9NCwgbnJvdz00LCB4bW49MTAwLCB4bXg9MTIwLCB5bW49MTAwLCB5bXg9MTIwKQ0KYGBgDQpTaSBzZSBxdWllcmUgY29ub2NlciBlbCBuw7ptZXJvIGRlIGNlbGRhcyBzZSBlc2NyaWJlOg0KYGBge3J9DQpuY2VsbChkZW10YXIpDQpgYGANCkNvbiBlbCBmaW4gZGUgZGV0ZXJtaW5hciBsYSByZXNvbHVjacOzbiBlc3BhY2lhbCBvIGVsIHRhbWHDsW8gZGUgbGEgY2VsZGEgc2UgZXNjcmliZToNCmBgYHtyfQ0KcmVzKGRlbXRhcikNCmBgYA0KQWhvcmEsIHNlIGFzaWduYW4gdmFsb3JlcyBkZSBlbGV2YWNpw7NuIGFsIERFTToNCmBgYHtyfQ0KdmFsb3JlcyA8LSBjKDUwLCA0NSwgNTAsIDQ4LCAzMCwgMjksIDMwLCAyOSwgMTAsIDksIDksIDEwLCAyNSwgMjMsIDE5LCAyMSkNCih2YWx1ZXMoZGVtdGFyKSA8LSB2YWxvcmVzKQ0KYGBgDQpQYXJhIGdyYWZpY2FyIGVsIERFTSBkZSBsYSB0YXJlYToNCmBgYHtyfQ0KcGxvdChkZW10YXIsIG1haW4gPSAiREVNIFRBUkVBIikNCnRleHQoZGVtdGFyKQ0KYGBgDQpUYW1iacOpbiwgc2UgZGViZSBmaWphciB1biBzaXN0ZW1hIGRlIHJlZmVyZW5jaWEgZGUgY29vcmRlbmFkYXM6DQpgYGB7cn0NCmNycyhkZW10YXIpIDwtIENSUygnK2luaXQ9ZXBzZzozMTE1JykNCmBgYA0KKipDYWxjdWxhciBsYSBwZW5kaWVudGUgeSBlbCBhc3BlY3RvKioNCmBgYHtyfQ0KKHNsb3BldGFyID0gdGVycmFpbihkZW10YXIsICdzbG9wZScsIHVuaXQ9J2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpDQpgYGANClBhcmEgZ3JhZmljYXIgbGEgcGVuZGllbnRlOg0KYGBge3J9DQpwbG90KHNsb3BldGFyLCBtYWluID0gIlBFTkRJRU5URSIpDQp0ZXh0KHNsb3BldGFyKQ0KYGBgDQpgYGB7cn0NCihhc3BlY3RvdGFyID0gdGVycmFpbihkZW10YXIsICdhc3BlY3QnLCB1bml0ID0nZGVncmVlcycgLCBuZWlnaGJvcnM9OCkpDQpgYGANClBhcmEgZ3JhZmljYXIgZWwgYXNwZWN0bzoNCmBgYHtyfQ0KcGxvdChhc3BlY3RvdGFyLCBtYWluPSJBU1BFQ1RPIikNCnRleHQoYXNwZWN0b3RhcikNCmBgYA0K