在R ggplot中将多边形拼接在一起

3

enter image description here我有两个代表相邻县的shapefile。我想在我的R ggplot中清理它们的公共边界。我知道在ArcGIS中有一种简单的方法可以做到这一点,但我更喜欢使用R。我发现了spdep包并尝试使用它:

ob <- SpatialPolygons(ob@polygons, proj4string=ob@proj4string)

ob2<- SpatialPolygons(ob2@polygons, proj4string=ob2@proj4string)

poly2nb(pl=list(ob,ob2))

但是这导致了以下错误:

错误:extends(class(pl), "SpatialPolygons") 不为 TRUE

1个回答

1
我们没有您的文件,但这里有类似的内容:
# devtools::install_github("walkerke/tigris")
library(sp)
library(Matrix)
library(spdep)
library(tigris)

me <- counties("maine", detailed=FALSE)
nh <- counties("nh", detailed=FALSE)

neighbors <- poly2nb(as.SpatialPolygons.PolygonsList(c(me@polygons, nh@polygons)))

neighbors
## Neighbour list object:
## Number of regions: 26 
## Number of nonzero links: 114 
## Percentage nonzero weights: 16.86391 
## Average number of links: 4.384615

谢谢你的帮助。你能告诉我更多关于各种包(特别是“tigris”)的作用以及它们为什么必要吗?另外,你有什么建议可以从“neighbors”转换为绘制没有伪影的公共边界? - ZAC
我只是使用“tigris”获取县多边形,以展示如何正确使用该函数。你想要实现什么目标?如果是在地图上绘制相邻的县,那就不需要使用那个函数。 - hrbrmstr
我已经成功地使用各个县的多边形绘制了相邻县 - 但是每个多边形的公共边界并不完全相同,这导致了伪影和绘图看起来很杂乱。 - ZAC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接