2018-12-25

Obtener datos geoespaciales por países con R: divisiones administrativas

Problema

Deseamos obtener datos espaciales de las áreas administrativas de un país con el paquete raster de R. Con estos datos, SpatialPolygonDataFrame (polígonos espaciales en un data frame), podremos dibujar mapas en R.

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
El primer argumento es 'GADM' que es una base de datos de divisiones administrativas. También necesitamos especificar el nivel de la subdivisión administrativa (0 = país, 1 = primer nivel). Por ejemplo, para España: 0 = país, 1 = comunidades autónomas, 2 = provincias, 3 = comarcas, 4 = municipios.

# Descargamos el nivel 4
df4 <- getData("GADM", country = "ES", level = 4)
View(df4)
Vista de la pestaña Environment tras importar todos los niveles.

Mapas

Representamos las divisiones administrarivas del nivel 1. Separamos península y Baleares de Canarias para apreciar mejor los mapas.

df11 <- df1[df1@data$NAME_1 != "Islas Canarias",]
df12 <- df1[df1@data$NAME_1 == "Islas Canarias",]
plot(df11, main = "Península y Baleares - Divisiones administrativas nivel 1")
plot(df12, main = "Canarias- Divisiones administrativas nivel 1")

Descarga manual

Tammbién podemos acceder y descargar manualmente los ficheros de los diferentes niveles aquí.

Entradas relacionadas

Referencias

No hay comentarios:

Publicar un comentario

Nube de datos