您想要的线是溶解区域的线组与区域本身的线之间的差。在rgeos包装中,gUnaryUnion将溶解多边形,并gDifference减去。
对于我的小型EU子集eusub,我可以使用以下方法执行此操作:
library(rgeos); library(sp)
borders = gDifference(
as(eusub,"SpatialLines"),
as(gUnaryUnion(eusub),"SpatialLines"),
byid=TRUE)
Run Code Online (Sandbox Code Playgroud)
请注意需要将多边形转换为线,因为输出将是线。
然后看这个:
plot(eusub)
plot(borders, col="red",lwd=2,add=TRUE)
Run Code Online (Sandbox Code Playgroud)