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