¿Hay alguna forma de eliminar las pequeñas "astillas" entre los polígonos usando R
? La solución deseada crearía una nueva SpatialPolygonsDataFrame
donde los límites compartidos entre los polígonos son coincidentes. Estoy específicamente interesado en una solución que utilice R
, en lugar de ArcMap o QGIS.
También me interesaría escuchar una explicación de por qué existen estas brechas en primer lugar.
Aquí hay un ejemplo reproducible de los datos espaciales con los que estoy trabajando:
library(rgdal)
library(sp)
library(tigris)
library(magrittr)
library(leaflet)
library(gplots)
# This project will use WGS 84 projected coordinate system
crs_proj <- CRS("+init=epsg:4326")
# These are the FIPS codes of the specific block groups in my study area
sel <- c("530330079005", "530330079001", "530330079004",
"530330085002", "530330085003", "530330086003",
"530330087003", "530330085001", "530330090001",
"530330091001", "530330091002", "530330092001",
"530330092002", "530330086001", "530330090002",
"530330086002", "530330079003", "530330079002",
"530330087002", "530330087001")
# Create polygons
polygons <- tigris::block_groups(state = "WA",county = "King") %>%
.[.@data$GEOID %in% sel,] %>%
spTransform(CRSobj = crs_proj)
# Map the result
leaflet() %>%
addProviderTiles("CartoDB.Positron") %>%
addPolygons(data = polygons,
stroke = F,
fillColor = col2hex("red"), fillOpacity = 1)
Como puede ver en la captura de pantalla anterior, hay brechas pequeñas entre los polígonos del grupo de bloques del censo. La ubicación de estos espacios se representa de manera diferente según el nivel de zoom, pero siempre hay algunos espacios visibles.
¿Alguien puede recomendar una R
función (o una combinación de funciones) para ajustar mediante programación los polígonos para eliminar estas brechas?