Растворение - это распространенный метод геообработки, который рассматривается как подход SF, здесь.
Я пытаюсь воспроизвести растворение, как оно работает в ArcGIS. Рассмотрим округа двумя группами в ArcGIS.
Команда растворения ArcGIS создает два полигона, независимо от того, что восточный полуостров состоит из дополнительных отдельных полигонов. Вот так:
Это функциональность, которую я хотел бы воспроизвести в SF, но не могу, как показано ниже.
nc <- st_read(system.file("shape/nc.shp", package="sf"))
#create two homogenous spatial groups
nc$group <- ifelse(nc$CNTY_ <= 1980,1,2)
#plot
ggplot() + geom_sf(data=nc, aes(fill = factor(group)))
#dissolve
nc_dissolve <- nc %>% group_by(group) %>% summarize()
#plot dissolved
ggplot() + geom_sf(data=nc_dissolve, aes(fill = factor(group)))
#Cartographically, it looks like we have two polygons, but there are
#actually several more wrapped up as MULTIPOLYGONS. We can plot these.
t <- nc_dissolve %>% st_cast() %>% st_cast("POLYGON")
ggplot() + geom_sf(data=t, aes(fill=factor(row.names(t))))
Обратите внимание, что на полуострове есть несколько посторонних многоугольников.
Как мне получить всего два, как в случае с ArcGIS? Большое спасибо.