Apakah ada cara untuk menghilangkan "sliver" kecil di antara poligon R
? Solusi yang diinginkan akan menciptakan yang baru di SpatialPolygonsDataFrame
mana batas-batas bersama antara poligon bertepatan. Saya secara khusus tertarik pada solusi yang menggunakan R
, daripada ArcMap atau QGIS.
Saya juga tertarik untuk mendengar penjelasan mengapa celah ini ada pada awalnya.
Berikut adalah contoh data spasial yang dapat saya ulang:
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)
Seperti yang Anda lihat pada tangkapan layar di atas, ada celah kecil antara poligon kelompok blok sensus. Lokasi celah ini disajikan berbeda tergantung pada tingkat zoom, tetapi selalu ada beberapa celah yang terlihat.
Adakah yang bisa merekomendasikan R
fungsi (atau kombinasi fungsi) untuk secara terprogram menyesuaikan poligon untuk menghilangkan kesenjangan ini?