有了一个多边形 shapefile,我需要生成一个仅包含多边形之间公共(public)边界的折线 shapefile(见图)。
我的问题类似于1和 2 ,只有我需要在 R
中执行此操作.后一个类似的问题是指使用 Shapely
的解决方案。 python
的包裹. Shapely
的类似物对于 R
是rgeos
.虽然,我找不到 rgeos
的解决方案 |靠我自己。
注意用于说明的带边框的 shapefile 是在 ArcGIS 中使用类似问题 1 的解决方案生成的。现在我需要在 R
中执行相同的操作.
最佳答案
您想要的是溶解区域的线集与区域本身的线之间的差异线。在 rgeos
包中,gUnaryUnion
将分解多边形,而 gDifference
将相减。
对于我的小型 EU 子集 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)
关于地理信息系统 : find borders between polygons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35794772/