มีวิธีการกำจัด "slivers" ขนาดเล็กระหว่างรูปหลายเหลี่ยมที่ใช้R
หรือไม่? วิธีการแก้ปัญหาที่ต้องการจะสร้างใหม่SpatialPolygonsDataFrame
ที่ขอบเขตร่วมกันระหว่างรูปหลายเหลี่ยมเป็นเรื่องบังเอิญ ฉันสนใจโซลูชันที่ใช้R
เป็นพิเศษมากกว่า ArcMap หรือ QGIS
ฉันก็อยากจะได้ยินคำอธิบายว่าทำไมช่องว่างเหล่านี้อยู่ในตอนแรก
นี่คือตัวอย่างของข้อมูลเชิงพื้นที่ที่ฉันทำงานด้วย:
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)
ดังที่คุณเห็นในภาพหน้าจอด้านบนมีช่องว่างเล็ก ๆ ระหว่างรูปหลายเหลี่ยมของกลุ่มบล็อกการสำรวจสำมะโนประชากร ตำแหน่งของช่องว่างเหล่านี้มีการแสดงผลที่แตกต่างกันไปขึ้นอยู่กับระดับการซูม แต่จะมีช่องว่างที่มองเห็นได้เสมอ
ใครสามารถแนะนำR
ฟังก์ชั่น (หรือการรวมกันของฟังก์ชั่น) เพื่อปรับรูปหลายเหลี่ยมโดยทางโปรแกรมเพื่อกำจัดช่องว่างเหล่านี้?