r gis:查找多边形之间的边界

ika*_*sky 3 gis r rgdal

有一个多边形shapefile,我需要生成一个仅包含多边形之间公共边界的折线shapefile(请参见图片)。

我的问题类似于12,只有我需要在中执行此操作R。后一个类似的问题是指使用Shapelypackage 的解决方案pythonShapelyfor 的类似物Rrgeos。但是,rgeos我自己找不到解决方案。


在此处输入图片说明

注意:用于边框的shapefile是在ArcGIS中使用类似问题1的解决方案生成的。现在,我需要在R

Spa*_*man 5

您想要的线是溶解区域的线组与区域本身的线之间的差。在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)

在此处输入图片说明