10

Dissolve 是一种常见的地理处理技术,在这里作为 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 案例中,我如何只得到两个?非常感谢。

4

1 回答 1

6

我不太熟悉 ArcGIS 如何定义多边形,但多边形的简单特征访问(ISO 标准)规范是一个具有零个或多个内环表示孔的单环。这意味着根据该规范,如果您拥有主要土地 + 几个岛屿,则您没有一个多边形。要将这些表示为单个要素,相应的几何类型是多面体。意思是你的答案是nc_dissolve:它有两个特点。

于 2017-06-02T14:49:20.307 回答