Cargado de librerias

library(sp)
library(raster)

EJEMPLO

Creacion del Raster, visualizacion del numero de celdas y su tamaño

dem <- raster(ncol=3, nrow=3, xmn=100, xmx=115, ymn=100, ymx=115)
ncell(dem)
[1] 9
res(dem)
[1] 5 5

Asignacion de datos de elevacion y sus coordenadas; Visualizacion en grafico

valores <- c(50, 45, 50, 30, 30, 30, 8, 10, 10)
(values(dem) <- valores)
[1] 50 45 50 30 30 30  8 10 10
plot(dem, main = "DEM")
text(dem)

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

Calculo de la pendiente; Visualizacion grafica

(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)
plot(slope, main = "Pendiente")
text(slope)

Calculo de la orientacion; visualizacion grafica

(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)
plot(aspecto, main = "Aspecto")
text(aspecto)

Ejercicio practico

Creacion del Raster, visualizacion del numero de celdas y su tamaño

dem2=raster(ncol=4, nrow=4, xmn=100, xmx=120, ymn=100, ymx=120)
ncell(dem2)
[1] 16
res(dem2)
[1] 5 5

Asignacion de datos de elevacion y sus coordenadas; Visualizacion en grafico

valores2 <- c(50, 45, 50, 48, 30, 29, 30, 29, 10,9,9, 10,25,23,19,21)
(values(dem2) <- valores2)
 [1] 50 45 50 48 30 29 30 29 10  9  9 10 25 23 19 21
plot(dem2, main="Calcule slope & aspect for this DEM")
text(dem2)

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

Calculo de la pendiente en porcentaje; Visualizacion grafica

(slope2 = terrain(dem2, '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(slope2, main = "Pendiente en %")
text(slope2)

Calculo de la orientacion; visualizacion grafica

(aspecto2 = terrain(dem2, '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(aspecto2, main = "Aspecto en %")
text(aspecto2)

LS0tDQp0aXRsZTogIlBlbmRpZW50ZSB5IE9yaWVudGFjaW9uIg0KYXV0aG9yOiBPSkxBQQ0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCiMjIENhcmdhZG8gZGUgbGlicmVyaWFzDQpgYGB7cn0NCmxpYnJhcnkoc3ApDQpsaWJyYXJ5KHJhc3RlcikNCmBgYA0KDQojIyMgRUpFTVBMTw0KIyMgQ3JlYWNpb24gZGVsIFJhc3RlciwgdmlzdWFsaXphY2lvbiBkZWwgbnVtZXJvIGRlIGNlbGRhcyB5IHN1IHRhbWHDsW8NCmBgYHtyfQ0KZGVtIDwtIHJhc3RlcihuY29sPTMsIG5yb3c9MywgeG1uPTEwMCwgeG14PTExNSwgeW1uPTEwMCwgeW14PTExNSkNCm5jZWxsKGRlbSkNCnJlcyhkZW0pDQpgYGANCg0KIyMgQXNpZ25hY2lvbiBkZSAgZGF0b3MgZGUgZWxldmFjaW9uIHkgc3VzIGNvb3JkZW5hZGFzOyBWaXN1YWxpemFjaW9uIGVuIGdyYWZpY28NCmBgYHtyfQ0KdmFsb3JlcyA8LSBjKDUwLCA0NSwgNTAsIDMwLCAzMCwgMzAsIDgsIDEwLCAxMCkNCih2YWx1ZXMoZGVtKSA8LSB2YWxvcmVzKQ0KcGxvdChkZW0sIG1haW4gPSAiREVNIikNCnRleHQoZGVtKQ0KY3JzKGRlbSkgPC0gQ1JTKCcraW5pdD1lcHNnOjMxMTUnKQ0KYGBgDQoNCiMjIENhbGN1bG8gZGUgbGEgcGVuZGllbnRlOyBWaXN1YWxpemFjaW9uIGdyYWZpY2ENCmBgYHtyfQ0KKHNsb3BlID0gdGVycmFpbihkZW0sICdzbG9wZScsIHVuaXQ9J2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpDQpwbG90KHNsb3BlLCBtYWluID0gIlBlbmRpZW50ZSIpDQp0ZXh0KHNsb3BlKQ0KYGBgDQoNCiMjIENhbGN1bG8gZGUgbGEgb3JpZW50YWNpb247IHZpc3VhbGl6YWNpb24gZ3JhZmljYQ0KYGBge3J9DQooYXNwZWN0byA9IHRlcnJhaW4oZGVtLCAnYXNwZWN0JywgdW5pdD0nZGVncmVlcycsIG5laWdoYm9ycz04KSkNCnBsb3QoYXNwZWN0bywgbWFpbiA9ICJBc3BlY3RvIikNCnRleHQoYXNwZWN0bykNCmBgYA0KDQoNCiMjIyBFamVyY2ljaW8gcHJhY3RpY28NCg0KIyMgQ3JlYWNpb24gZGVsIFJhc3RlciwgdmlzdWFsaXphY2lvbiBkZWwgbnVtZXJvIGRlIGNlbGRhcyB5IHN1IHRhbWHDsW8NCmBgYHtyfQ0KZGVtMj1yYXN0ZXIobmNvbD00LCBucm93PTQsIHhtbj0xMDAsIHhteD0xMjAsIHltbj0xMDAsIHlteD0xMjApDQpuY2VsbChkZW0yKQ0KcmVzKGRlbTIpDQpgYGANCg0KIyMgQXNpZ25hY2lvbiBkZSAgZGF0b3MgZGUgZWxldmFjaW9uIHkgc3VzIGNvb3JkZW5hZGFzOyBWaXN1YWxpemFjaW9uIGVuIGdyYWZpY28NCmBgYHtyfQ0KdmFsb3JlczIgPC0gYyg1MCwgNDUsIDUwLCA0OCwgMzAsIDI5LCAzMCwgMjksIDEwLDksOSwgMTAsMjUsMjMsMTksMjEpDQoodmFsdWVzKGRlbTIpIDwtIHZhbG9yZXMyKQ0KcGxvdChkZW0yLCBtYWluPSJDYWxjdWxlIHNsb3BlICYgYXNwZWN0IGZvciB0aGlzIERFTSIpDQp0ZXh0KGRlbTIpDQpjcnMoZGVtMikgPC0gQ1JTKCcraW5pdD1lcHNnOjMxMTUnKQ0KYGBgDQoNCiMjIENhbGN1bG8gZGUgbGEgcGVuZGllbnRlIGVuIHBvcmNlbnRhamU7IFZpc3VhbGl6YWNpb24gZ3JhZmljYQ0KYGBge3J9DQooc2xvcGUyID0gdGVycmFpbihkZW0yLCAnc2xvcGUnLCB1bml0PSdkZWdyZWVzJywgbmVpZ2hib3JzPTgpKQ0KcGxvdChzbG9wZTIsIG1haW4gPSAiUGVuZGllbnRlIGVuICUiKQ0KdGV4dChzbG9wZTIpDQpgYGANCg0KIyMgQ2FsY3VsbyBkZSBsYSBvcmllbnRhY2lvbjsgdmlzdWFsaXphY2lvbiBncmFmaWNhDQpgYGB7cn0NCihhc3BlY3RvMiA9IHRlcnJhaW4oZGVtMiwgJ2FzcGVjdCcsIHVuaXQ9J2RlZ3JlZXMnLCBuZWlnaGJvcnM9OCkpDQpwbG90KGFzcGVjdG8yLCBtYWluID0gIkFzcGVjdG8gZW4gJSIpDQp0ZXh0KGFzcGVjdG8yKQ0KDQpgYGANCg0K