0
我有一系列光栅图像的循环,我想提取等于150的值,然后添加整个循环长度的像素总量。使用我只能分别获得每个图像的总值的代码,而不是总的形式。谢谢光栅系列总和
m=52419 #total pixels basin
for(i in 1:4){
b1<-raster(myras1[i])
bc = b1 == 150 #Values eq 150
nbc = cellStats(bc,stat="sum")
print(nbc)
[1] 34962
[1] 38729
[1] 52389
[1] 52176
pc=nbc*100/m
}
它工作正常,但它坚持了太多5000层,有没有什么办法,使其更快?谢谢 – tmsppc
非常大的堆栈计算总是很慢。我不知道你会如何提高速度。也许使用光栅砖而不是堆栈会有所改进。是否无法将其作为批处理操作运行并在完成后回来?为了获得最佳速度,您可以使用FORTRAN而不是R,但是对开发时间的投资可能会花费您更多的时间,而不仅仅是等待R产生结果。或者你可以在云计算平台上购买一些多核时间来为你运行计算。现在云计算价格合理。 – dww