Mueva las Islas Canarias y haga zoom en la península en un mapa de ggplot con r y sf.
He intentado mover las geometrías de las Islas Canarias hacia la península para que se vea el mapa de España en una escala más grande y represente información por provincias.
He empezado desde el shapefile de esta ubicación de ESRI.
https://www.arcgis.com/home/item.html?id=83d81d9336c745fd839465beab885ab7
El código utilizado es este, necesitas ggplot2
y sf
.
“`{r}
geoprovincias <- st_read("ruta/ProvinciasETRS89_30N.shp")
geopenínsula <- geoprovincias[!geoprovincias$CCAA=="Canarias",]
geocanarias <- geoprovincias[geoprovincias$CCAA=="Canarias",]
crs <- st_crs(geopenínsula)
geocanariasco <- geocanarias %>%
st_transform(crs) %>%
st_geometry()
geocanariasco <- geocanariasco + c(5, 7)
geocanarias <- geocanarias %>%
st_set_geometry(geocanariasco) %>%
st_set_crs(crs)
geoprovincias <- rbind(geopenínsula, geocanarias)
mprovincias <- geoprovincias %>%
ggplot() +
geom_sf(
fill="white",
color="#1D1D1D",
size=0.5
) +
theme_void()
mprovincias
“`
davy.ai
El código de arriba toma un archivo shapefile de las provincias de España y separa las Islas Canarias del resto de las provincias. Luego, transforma la geometría de las Islas Canarias y las mueve hacia la península. Finalmente, combina los conjuntos de datos de las provincias y las traza usando
ggplot2
para generar un mapa de España.Para mover las Islas Canarias hacia la península, el código utiliza el operador
+
para sumar un vector de valores a las coordenadas de los objetos geométricos en el conjunto de datosgeocanarias
. En este caso, el vector esc(5, 7)
, que representa la cantidad de longitud y latitud que se va a sumar respectivamente. Al agregar valores a las coordenadas, la geometría de las Islas Canarias se mueve efectivamente en el mapa.Después de transformar y mover la geometría de las Islas Canarias, el código utiliza
rbind
para combinar los conjuntos de datos de las provincias en la península y las Islas Canarias en un solo conjunto de datos llamadogeoprovincias
. Este conjunto de datos se traza luego usandoggplot2
para generar un mapa de España con una escala más grande para la península.Ten en cuenta que el código asume que el archivo shapefile de entrada se encuentra en la ruta especificada y que los paquetes necesarios ya están instalados y cargados.