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

时间:2016-03-04 11:21:09

标签: r gis rgdal

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

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

enter image description here

注意:带有用于插图的边框的shapefile是使用类似问题1的解决方案在ArcGIS中生成的。现在我需要在R中执行相同操作。

1 个答案:

答案 0 :(得分:5)

你想要的是来自溶解区域的线组与区域本身线之间差异的线。在rgeos包中,gUnaryUnion将解散多边形,gDifference将减去。

对于我的小欧盟子集eusub,我可以这样做:

library(rgeos); library(sp)
borders = gDifference(
   as(eusub,"SpatialLines"),
   as(gUnaryUnion(eusub),"SpatialLines"),
   byid=TRUE)

注意需要将多边形转换为直线,因为输出将是直线。

然后看到这个:

plot(eusub)
plot(borders, col="red",lwd=2,add=TRUE)

enter image description here

相关问题