我在R
中有一个300个空间多边形数据框列表,我希望在几何上解散。每个SpatialPolygonsDataFrame
包含大约500个多边形。
我已经尝试了rgeos包中包含的函数gUnion
和gUnaryUnion
。
使用gUnion
进行处理是这样做的:
dissolved <- gUnion(tilelist[[1]], tilelist[[2]], byid=FALSE, id=NULL)
for(k in 1:length(tilelist)){
dissolved <- gUnion(dissolved, tilelist[[k]], byid=FALSE, id=NULL)
}
使用gUnaryUnion
进行处理的方式如下:
flatpolygon=list()
for(k in 1:length(tilelist)){
flatpolygon[[k]] <- tilelist[[k]]@polygons
}
mypoly <- SpatialPolygons(unlist(flatpolygon))
final <- gUnaryUnion(mypoly, id = NULL)
这两种方法都需要几个小时才能完成溶解(在Win 64,16 GB RAM上)。关于如何改善处理时间的任何算法思路?