gpt4 book ai didi

r - 栅格堆栈中的平均计算速度更快

转载 作者:行者123 更新时间:2023-12-02 04:02:14 26 4
gpt4 key购买 nike

我有一堆大约 400 个栅格,我想计算每个像元的平均值。我在包栅格中使用函数“mean”,但它花费的时间太长。是否有替代函数/包来计算大堆栈的平均值?

 # brief example
logo <- stack(system.file("external/rlogo.grd", package="raster"))
logoMean=mean(logo)

最佳答案

只要您的计算是逐个单元进行的,您就可以使用并行化。最简单的并行栅格处理访问是通过raster-package 中的clusterR 函数。当然,这只有在光栅文件足够大的情况下才有意义,因此所涉及的开销实际上不会使处理速度变慢。

library(raster)
logo <- stack(system.file("external/rlogo.grd", package="raster"))
ncores <- 4 # define the number of cores you want to use
beginCluster(ncores)
logoMean <- clusterR(logo, mean, args=list(na.rm=TRUE))
endCluster()

logoMean_old <- mean(logo)
identical(logoMean, logoMean_old)

关于r - 栅格堆栈中的平均计算速度更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41318164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com