我处理一些shapefile和栅格。
当我逐行(或部分地)执行脚本时,一切都会按预期运行。但是,如果我将其作为一个整体执行(源代码或STRG + A,然后执行STRG + ENTER),则会在以下部分中引发错误:
# ... some code
list = list()
list = foreach(i = seq(from = 9, to = 80, by = 5)) %dopar% {
df[which(df@data$column.name > i), ]
}
# ... some code
错误信息: Error in { : task 2 failed - "Object of type 'S4' is not subsettable"
fishnet
SpatialPolygonsDataFrame在哪里。代码将我的SpPolDaFr子集化,因此我在列表中得到了15个SpPolDaFr子集。
我在想也许是foreach
原因。但是,我还有其他foreach
调用可以运行的优先级。我doParallel
之所以这样做是因为SpPolDaFr的大小为11 GB,可以加快处理速度。
当工作人员尚未加载定义变量之一的类的程序包时,通常会出现这种错误。如果“ df”的类是由“ sp”包定义的“ SpatialPolygonsDataFrame”,则应使用foreach.packages="sp"
选项,以便工作人员能够在“ df”上正确操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句