Gibt es eine Möglichkeit, die kleinen "Splitter" zwischen Polygonen mit zu beseitigen R
? Die gewünschte Lösung würde eine neue schaffen, SpatialPolygonsDataFrame
bei der die gemeinsamen Grenzen zwischen Polygonen zusammenfallen. Ich bin speziell an einer Lösung interessiert R
, die anstelle von ArcMap oder QGIS verwendet.
Es würde mich auch interessieren, eine Erklärung zu hören, warum diese Lücken überhaupt bestehen.
Hier ist ein reproduzierbares Beispiel für die Geodaten, mit denen ich arbeite:
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)
Wie Sie im obigen Screenshot sehen können, gibt es kleine Lücken zwischen den Polygonen der Zensusblockgruppe. Diese Position dieser Lücken wird je nach Zoomstufe unterschiedlich gerendert, es sind jedoch immer einige Lücken sichtbar.
Kann jemand eine R
Funktion (oder eine Kombination von Funktionen) empfehlen , um die Polygone programmgesteuert anzupassen und diese Lücken zu schließen?