2018-12-27

Obtener datos geoespaciales por países con R: elevación

Problema

En la entrada anterior obtuvimos las divisiones administrativas con el paquete raster en R. En esta ocasión extraeremos datos de altitud o elevación del terreno.

Solución

Empleamos la función getData del paquete raster. Necesitamos suministrar el argumento country con un código ISO de 3 letras.

library(raster)
# Países disponibles
library(psych) # Función HeadTail 
headTail(getData('ISO3'))
    ISO3                  NAME
1    AFG           Afghanistan
2    XAD Akrotiri and Dhekelia
3    ALA                 Åland
4    ALB               Albania
...                   
253  ESH        Western Sahara
254  YEM                 Yemen
255  ZMB                Zambia
256  ZWE              Zimbabwe
Suministramos el argumento 'alt' (altitude). Computamos slope y aspect con la función terrain para poder suministrarlos posteriormente a la función hillShade.

alt <-  getData('alt', country = 'ESP')
slope <-  terrain(alt, opt = 'slope')
aspect <-  terrain(alt, opt = 'aspect')
hill <-  hillShade(slope, aspect, 40, 270)

library(tmap)
tm_shape(hill) +
  tm_raster(palette = gray(0:100 / 100),
            n = 100,
            legend.show = FALSE)  +
  tm_shape(alt) +
  tm_raster(alpha = 0.5,
            palette = terrain.colors(25),
            legend.show = FALSE)

Mapa

Entradas relacionadas

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos