我有一个包含 300 个空间多边形数据框的列表R
,我希望在其中以几何方式溶解。每个SpatialPolygonsDataFrame
包含大约 500 个多边形。我已经尝试了这些功能gUnion
并gUnaryUnion
包含在 rgeos 包中。
处理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 上)。关于如何提高处理时间的任何算法想法?